JP2018508857A - モバイルデバイスのリソースへのアクセス許可を管理するための方法およびシステム - Google Patents

モバイルデバイスのリソースへのアクセス許可を管理するための方法およびシステム Download PDF

Info

Publication number
JP2018508857A
JP2018508857A JP2017535032A JP2017535032A JP2018508857A JP 2018508857 A JP2018508857 A JP 2018508857A JP 2017535032 A JP2017535032 A JP 2017535032A JP 2017535032 A JP2017535032 A JP 2017535032A JP 2018508857 A JP2018508857 A JP 2018508857A
Authority
JP
Japan
Prior art keywords
application
access
resource
user input
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017535032A
Other languages
English (en)
Other versions
JP6727211B2 (ja
Inventor
ロバート マロッツィ、マシュー
ロバート マロッツィ、マシュー
Original Assignee
フェイスブック,インク.
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 フェイスブック,インク. filed Critical フェイスブック,インク.
Publication of JP2018508857A publication Critical patent/JP2018508857A/ja
Application granted granted Critical
Publication of JP6727211B2 publication Critical patent/JP6727211B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computer And Data Communications (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

電子デバイスにおける第1のアプリケーションは、電子デバイスのリソースにアクセスするための第1の要求を第2のアプリケーションに送信する。第1および第2のアプリケーションは、電子デバイスのオペレーティングシステム上で動作する。第1の要求に応答して第2のアプリケーションが使用されることで、第1のアプリケーションがリソースにアクセスすることの許可が電子デバイスのユーザに求められる。第1のアプリケーションがリソースにアクセスする許可を与える第1のユーザ入力が受信されると、第1のユーザ入力に応答して第2のアプリケーションが使用されることで、第1のアプリケーションがリソースにアクセスするための許可が与えられる。

Description

本開示は、概してモバイルデバイスのアプリケーションのアクセス許可に関し、これに限定されないが、モバイルデバイスリソースへのアクセス許可を管理することを含む。
モバイルデバイスのアプリケーションの豊富さと共に、モバイルデバイスによって提供されるリソースおよび機能の範囲が拡大し続けている。モバイルデバイスのアプリケーションによって使用されるデバイスリソースへの安全なアクセスを提供することが、ますます消費者の関心事となっている。消費者は、そのアプリケーションが消費者のプライバシーを尊重する適切な方法でデバイスリソースにアクセスするものであると信頼しない場合にはそのアプリケーションを使用したくないと考える。アプリケーションによるアクセスの信頼性の問題は、詳細な権限管理機能の欠如、および観察されるリソースアクセス動作の監視と実行の課題によって、さらに複雑化されている。
従って、モバイルデバイスリソースへのアクセス許可を管理するための方法、システム、およびインタフェースが必要とされている。
オペレーティングシステムとは別のアプリケーションを使用して、要求元のアプリケーションからのアクセス要求を受信し、ユーザに許可を求め、そのユーザからの許可に従って要求元のアプリケーションのアクセスを許可または拒否することで、デバイスリソースへのアクセスがより安全に管理および監視される。このような方法、システム、およびインタフェースは、任意で、モバイルデバイスリソースへのアクセス許可を管理するための従来方法を補完または置き換える。
いくつかの実施形態によれば、方法は、1つ以上のプロセッサと、前記1つ以上のプロセッサにより実行するための命令を格納したメモリとを備える電子デバイス(たとえば、モバイルデバイス)で実行される。方法は、第1のアプリケーションから第2のアプリケーションに前記第1のアプリケーションが前記電子デバイスのリソースにアクセスするための第1の要求を送ることを含む。前記第1および第2のアプリケーションは、前記電子デバイスのオペレーティングシステム上で実行される。前記第1の要求に応答して、前記第2のアプリケーションが使用されることで、前記第1のアプリケーションが前記リソースにアクセスするための許可が前記電子デバイスのユーザに求められる。前記第1のアプリケーションが前記リソースにアクセスするための許可を与える第1のユーザ入力が受信されると、前記第1のユーザ入力に応答して、前記第2のアプリケーションが使用されることで、前記第1のアプリケーションが前記リソースにアクセスするための許可が与えられる。
いくつかの実施形態によれば、電子デバイス(例えば、モバイルデバイスなどのクライアントデバイス)は、1つ以上のプロセッサと、メモリと、1つ以上のプログラムとを含む。前記1つ以上のプログラムは、前記メモリに格納され、前記1つ以上のプロセッサによって実行されるように構成される。前記1つ以上のプログラムは、上述の方法の動作を実行するための命令を含む。いくつかの実施形態によれば、非一時的なコンピュータ可読記憶媒体は、電子デバイスにより実行されるとき前記電子デバイスに上述の方法の動作を実行させる命令を格納する。いくつかの実施形態によれば、電子デバイスは、上述の方法の動作を実行するための手段を含む。
このように、許可設定を管理および監視するためのプロキシとして機能する、オペレーティングシステムとは別のアプリケーションを使用することによって、アプリケーションは新たなリリースやオペレーティングシステムの更新から分離され、オペレーティングシステム自体によって実装される場合に実現可能となり得るものよりも広範囲のデバイスとの互換性が可能となる。さらに、個別のプロキシアプリケーションは、オペレーティングシステム開発者がアクセス権の使用に関して提供できない透明性/アカウンタビリティを可能にするAPIの開発およびフォローを可能とする。このため、モバイルデバイスリソースへのアクセス許可を管理するためのより効率的で信頼性の高い方法が電子デバイスに提供され、これらのデバイスの有効性、効率性、およびユーザ満足度が向上する。
実施形態はとりわけ、方法、記憶媒体、システム、およびコンピュータプログラム製品を対象とした添付の特許請求の範囲に開示される。一つのカテゴリ(例えば、方法)にて言及されている特徴は他のカテゴリ(例えば、システム)でも言及され得る。添付の特許請求の範囲の請求項に記載された従属関係または参照は、形式的な理由のみのために選択されているが、任意の先行する請求項(特に、多数従属関係)に対する意図的な参照によって生じる任意の主題も特許請求され得るものであり、その結果、添付の特許請求の範囲の請求項において選択されている従属関係にかかわらず、任意の請求項の組み合わせおよびそれらの特徴が開示および特許請求され得る。また、特許請求され得る主題は、添付の特許請求の範囲の請求項に記載された特徴の組み合わせだけでなく、それらの請求項における特徴の任意の他の組み合わせも含む。請求項にて言及されている各特徴は、それらの請求項における任意の他の特徴またはそれらの組み合わせと組み合わせることができる。また、本明細書に記載ないし図示された実施形態および特徴は、別々の請求項で特許請求され得るものであり、および/または本明細書に記載ないし図示された任意の実施形態または特徴との任意の組み合わせ、あるいは添付の特許請求の範囲の請求項の任意の特徴との任意の組み合わせで特許請求され得る。
いくつかの実施形態において、方法は、1つ以上のプロセッサと、前記1つ以上のプロセッサにより実行するための命令を格納したメモリとを備える電子デバイスにおいて、
前記電子デバイスのオペレーティングシステム上で動作する第1のアプリケーションから前記電子デバイスのオペレーティングシステム上で動作する第2のアプリケーションに、前記第1のアプリケーションが前記電子デバイスのリソースにアクセスするための第1の要求を送ること、
前記第1の要求に応答して、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を前記電子デバイスのユーザに求めること、
前記第1のアプリケーションが前記リソースにアクセスするための許可を与える第1のユーザ入力を受信すること、および
前記第1のユーザ入力に応答して、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を与えること
を備える。
前記リソースは、
前記電子デバイスのマイクロフォン、
前記電子デバイスのメッセージングアプリケーション、
前記電子デバイスの位置追跡デバイス、および
前記電子デバイスのカメラ
からなる群から選択され得る。
前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を与えることは、
前記第2のアプリケーションを使用して前記リソースからデータを取得すること、および
前記第2のアプリケーションから前記第1のアプリケーションに前記データを提供すること
を含み得る。
前記第1のユーザ入力は、前記第1のアプリケーションが前記リソースにアクセスすることを1度のみ許可すること(ワンタイム許可)を指定し得る。この場合、前記方法は、前記第1のユーザ入力を受信し、前記第1のユーザ入力に応答して、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスする許可を与えた後に、
前記第1のアプリケーションが前記リソースにアクセスするための第2の要求を前記第1のアプリケーションから前記第2のアプリケーションに送ること、
前記第2の要求に応答して、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を前記ユーザに求めること、
前記第1のアプリケーションが前記リソースにアクセスするための許可を与えるか否かを示す第2のユーザ入力を受信すること、および
前記第2のユーザ入力に従って、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスすることを許可または拒否すること
をさらに備え得る。
いくつかの実施形態において、前記方法は、前記第1の要求に応答して、前記第1のアプリケーションが前記リソースにアクセスすることを許可する権限が現時点で前記第2のアプリケーションに与えられていないと判定することをさらに備え得る。この場合、前記判定に応答して、前記第1のアプリケーションが前記リソースにアクセスするための許可が前記ユーザに求められる。
前記第1のユーザ入力は、前記第1のアプリケーションが前記リソースにアクセスすることを許可する期間を指定し得る。この場合、前記方法は、
前記第1のユーザ入力に従って、前記期間の間、前記第2のアプリケーションを繰り返し使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を自動的に与えること
をさらに備え得る。
前記第1のユーザ入力は、前記第1のアプリケーションが前記リソースにアクセスすることを許可する許可位置を指定し得る。この場合、前記方法は、
前記第1のユーザ入力に従って、前記電子デバイスの検出位置が前記許可位置に対応する間、前記第2のアプリケーションを繰り返し使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を自動的に与えること
をさらに備え得る。
前記第1のユーザ入力は、前記第1のアプリケーションが前記リソースにアクセスすることを許可する許可ユーザを指定し得る。この場合、前記方法は、
前記第1のユーザ入力に従って、前記電子デバイスの前記ユーザが前記許可ユーザであると判定されたときに、前記第2のアプリケーションを繰り返し使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を自動的に与えること
をさらに備え得る。
前記第1のユーザ入力は、前記第1のアプリケーションが前記リソースにアクセスすることを許可する条件を指定し得る。この場合、前記方法は、
前記第2のアプリケーションに割り当てられたメモリに前記条件を格納すること、および
前記第2のアプリケーションにおいて、前記第1のアプリケーションからの後続の要求に応答して、前記条件を使用して、前記第1のアプリケーションが前記リソースにアクセスすることを許可するか否かを判定すること
をさらに備え得る。
前記条件は、前記第1のアプリケーションに対応するフォアグラウンドプロセスによる前記リソースへのアクセスを許可するが、前記第1のアプリケーションに対応するバックグラウンドプロセスに対してはアクセスを許可しないものとすることができる。
前記条件は、前記第1のアプリケーションに対応するバックグラウンドプロセスによる前記リソースへのアクセスを許可するが、前記第1のアプリケーションに対応するフォアグラウンドプロセスに対してはアクセスを許可しないものとすることができる。
前記リソースは、前記電子デバイスの位置追跡デバイスを含み得る。この場合、前記第1のユーザ入力は、前記位置追跡デバイスへのアクセスに関して前記第1のアプリケーションに対して許可すべき分解能の度合いを指定し得る。
前記第1のユーザ入力は、位置追跡の分解能を低分解能と高分解能との間で選択するものであってもよい。
いくつかの実施形態において、前記方法は、
前記リソースにアクセスするために前記第1のアプリケーションから送られた要求の数を或る期間に亘って判定すること、および
前記要求の数が閾値を満たすことに応じて、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスすることを拒否すること
をさらに備え得る。
いくつかの実施形態において、前記方法は、前記要求の数が前記閾値を満たすことに応じて、前記電子デバイスの前記ユーザにアラートを通知することをさらに備え得る。
いくつかの実施形態において、前記方法は、
前記第1のアプリケーションから前記第2のアプリケーションに前記第1のアプリケーションが前記リソースにアクセスするための前記第1の要求を含む複数の要求を送ること、
前記複数の要求のレコードを格納すること、および
前記レコードに基づいて、前記複数の要求に関する1つ以上の統計情報を前記ユーザに提示すること
をさらに備え得る。
いくつかの実施形態において、前記方法は、
前記第1のアプリケーションから前記第2のアプリケーションに前記第1のアプリケーションが前記リソースにアクセスするための前記第1の要求を含む複数の要求を送ること、
前記複数の要求のそれぞれに応答して、前記第1のアプリケーションが前記リソースにアクセスするための許可を前記ユーザに求め、前記第1のアプリケーションが前記リソースにアクセスすることを許可または拒否するユーザ入力をそれぞれ受信すること、
前記複数の要求のそれぞれのレコード、それぞれの前記ユーザ入力、および前記電子デバイスのそれぞれのコンテキスト情報を格納すること、および
前記レコードに基づいて、前記リソースへの前記第1のアプリケーションのアクセスを許可または拒否する条件の推奨を前記ユーザに提示すること
をさらに備え得る。
前記コンテキスト情報は、それぞれの前記ユーザ入力を受信したときの前記電子デバイスの位置およびそれぞれの前記ユーザ入力を受信した回数のうちの少なくとも1つを含み得る。
同様に特許請求することが可能ないくつかの実施形態において、電子デバイスは、
1つ以上のプロセッサと、
前記1つ以上のプロセッサにより実行するための1つ以上のプログラムを格納したメモリと、を備える。前記1つ以上のプログラムは、
前記電子デバイスのオペレーティングシステム上で動作する第1のアプリケーションから前記電子デバイスのオペレーティングシステム上で動作する第2のアプリケーションに、前記第1のアプリケーションが前記電子デバイスのリソースにアクセスするための第1の要求を送ること、
前記第1の要求に応答して、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を前記電子デバイスのユーザに求めること、および
前記第1のアプリケーションが前記リソースにアクセスするための許可を与える第1のユーザ入力に応答して、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を与えること
を実行するための命令を含む。
同様に特許請求することが可能ないくつかの実施形態において、非一時的なコンピュータ可読記憶媒体は、電子デバイスの1つ以上のプロセッサにより実行するための1つ以上のプログラムを格納する。前記1つ以上のプログラムは、第1のアプリケーションと異なる第2のアプリケーションであって、前記第1および第2のアプリケーションが動作する前記電子デバイスのオペレーティングシステムとは異なる前記第2のアプリケーションに対応する。前記1つ以上のプログラムは、
前記第1のアプリケーションから、前記第1のアプリケーションが前記電子デバイスのリソースにアクセスするための第1の要求を受信すること、
前記第1の要求に応答して、前記第1のアプリケーションが前記リソースにアクセスするための許可を前記電子デバイスのユーザに求めること、および
前記第1のアプリケーションが前記リソースにアクセスするための許可を与える第1のユーザ入力に応答して、前記第1のアプリケーションが前記リソースにアクセスするための許可を与えること
を実行するための命令を含む。
いくつかの実施形態において、1つ以上の非一時的なコンピュータ可読記憶媒体は、上記実施形態のいずれかによる方法または任意の他の開示された実施形態による方法を行うべく実行される際に動作可能なソフトウェアを具現化する。
いくつかの実施形態において、システムは、1つ以上のプロセッサと、前記プロセッサに接続され、前記プロセッサにより実行可能な命令を含む少なくとも1つのメモリとを備える。前記プロセッサは、上記実施形態のいずれかによる方法または任意の他の開示された実施形態による方法を行うべく前記命令を実行する際に動作可能である。
いくつかの実施形態において、好ましくは非一時的なコンピュータ可読記憶媒体を備えるコンピュータプログラム製品は、上記実施形態のいずれかによる方法または任意の他の開示された実施形態による方法を行うべくデータ処理システム上で実行される際に動作可能である。
いくつかの実施形態によるソーシャルネットワークの例示的なネットワークアーキテクチャを示すブロック図。 いくつかの実施形態による例示的なソーシャルネットワークシステムを示すブロック図。 いくつかの実施形態による例示的なクライアントデバイスを示すブロック図。 いくつかの実施形態による、デバイスリソースへのアクセス許可を管理し、アクセス要求の統計情報を提示するための例示的なグラフィックユーザインタフェース(GUI)を示す図。 いくつかの実施形態による、デバイスリソースへのアクセス許可を管理し、アクセス要求の統計情報を提示するための例示的なグラフィックユーザインタフェース(GUI)を示す図。 いくつかの実施形態による、アクセス許可およびアクセス要求レコードを格納する例示的なデータ構造を示す図。 いくつかの実施形態による、アクセス許可およびアクセス要求レコードを格納する例示的なデータ構造を示す図。 いくつかの実施形態による、デバイスリソースへのアクセス許可を管理する方法を例示するフローチャート。
以下、添付図面に示された実施例を参照する。以下の説明では、種々の実施形態の理解をもたらすべく多数の具体的な詳細を述べる。しかしながら、説明する種々の実施形態がこれらの特定の詳細なしに実施され得ることは、当業者には明らかである。なお、周知の方法、手順、構成要素、回路、およびネットワークは、実施形態の態様を不必要に不明瞭にしないように詳細には記載されていない。
説明する種々の実施形態のより良い理解のために、添付の図面と併せて以下の実施形態を説明する。同様の符号は、図面および説明の全体にわたって対応する部分を示す。
本明細書において種々の構成要素を説明するためにいくつかの場合で第1、第2などの用語が使用されるが、これらの構成要素はこれらの用語によって限定されるものではない。これらの用語は、或る要素を別の要素と区別することのみを目的として使用される。例えば、説明する種々の実施形態の範囲から逸脱することなく、第1のグループは第2のグループとも呼ぶことができ、同様に、第2のグループは第1のグループとも呼ぶことができる。第1のグループと第2のグループは双方ともにグループであるが、同じグループではない。
本明細書に記載された種々の実施形態を説明するために使用される用語は、特定の実施形態を説明することのみを目的としており、限定することを意図したものではない。種々の実施形態および添付の特許請求の範囲において使用される単数形「1つ」は、文脈がそうでないことを明確に示さない限り、複数形も含むことが意図される。また、本明細書で使用される「および/または」という用語は、1つ以上の関連する列挙されたアイテムの任意かつすべての可能な組み合わせを示し、包含する。本明細書で使用する「含む」および/または「備える」という用語は、記載された特徴、整数、ステップ、動作、要素、および/または構成の存在を特定し、他の1つ以上の特徴、整数、ステップ、動作、要素、構成、および/またはそれらの群の存在または追加を排除するものではない。
本明細書で使用される用語「〜の場合」は、任意で、文脈に応じて、「〜のとき」、「〜の時点」、「〜の判定に応答して」、「〜の検出に応答して」、または「〜との判定に応じて」を意味すると解釈される。同様に、「〜と判定される場合」や「(所定の状態や事象が)検出される場合」などの記載は、任意で、文脈に応じて、「〜の判定時点」、「〜の判定に応答して」、「(所定の状態や事象を)検出した時点」、「(所定の状態や事象の)検出に応答して」、または「(所定の状態や事象が)検出されたとの判定に応じて」を意味すると解釈される。
本明細書で使用される用語「例示的」は、「その種類の最良を表す」との意味ではなく、「例、事例、または実例として役立つ」との意味で使用される。
図1は、いくつかの実施形態によるソーシャルネットワークの例示的なネットワークアーキテクチャ100を示すブロック図である。ネットワークアーキテクチャ100は、1つ以上のネットワーク106(例えば、インターネット、セルラ電話ネットワーク、モバイルデータネットワーク、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなど)によって電子ソーシャルネットワークシステム108に通信可能に接続された複数のクライアントデバイス104−1,104−2,…104−n(「クライアントシステム」、「クライアントコンピュータ」、または「クライアント」とも呼ばれる)を含む。いくつかの実施形態では、1つ以上のネットワーク106は、公衆通信ネットワーク(例えば、インターネットおよび/またはセルラデータネットワーク)、プライベート通信ネットワーク(例えば、プライベートLANまたは専用線)、またはそれらの通信ネットワークの組み合わせを含む。
いくつかの実施形態では、クライアントデバイス104−1,104−2,…104−nは、スマートウォッチ、パーソナルデジタルアシスタント、ポータブルメディアプレーヤ、スマートフォン、タブレットコンピュータ、2Dゲームデバイス、3D(例えば、バーチャルリアリティ)ゲームデバイス、ラップトップコンピュータ、デスクトップコンピュータ、1つ以上のプロセッサを内蔵したまたは1つ以上のプロセッサに接続されたテレビ、車載情報システム(例えば、ナビゲーション、エンターテインメント、および/または他の情報を提供する車載コンピュータシステム)、および/またはソーシャルネットワークシステム108と通信するために使用することができる他の適切なコンピューティングデバイスなどのコンピューティングデバイスである。したがって、クライアントデバイス104−1,104−2,…104−nのいくつかまたはすべては、モバイルデバイスとすることができる。いくつかの実施形態では、ソーシャルネットワークシステム108は、コンピュータサーバなどの単一のコンピューティングデバイスである一方、他の実施形態では、ソーシャルネットワークシステム108は、サーバシステム(例えば、クラウドコンピューティング)の動作を実行するように互いに連動する複数のコンピューティングデバイスによって実現される。
ユーザ102−1,102−2,…102−nは、クライアントデバイス104−1,104−2,…104−nを使用して、ソーシャルネットワークシステム108にアクセスし、そのソーシャルネットワークシステム108によって提供される対応するソーシャルネットワーキングサービスに参加する。例えば、クライアントデバイス104−1,104−2,…104−nの1つ以上は、ソーシャルネットワーキングサービスにアクセスするために使用可能なウェブブラウザアプリケーションを実行する。別の例として、クライアントデバイス104−1,104−2,…104−nの1つ以上は、ソーシャルネットワーキングサービス(例えば、スマートフォンまたはタブレット上で動作するソーシャルネットワーキング「アプリケーション」であって、iPhone(登録商標)、Android(登録商標)、またはWindows(登録商標)のスマートフォンまたはタブレット上で動作しているFacebook(登録商標)ソーシャルネットワーキングアプリケーションなど)に特有のソフトウェアアプリケーションを実行する。
クライアントデバイス104−1,104−2,…104−nとの間で情報をやり取りするユーザは、デジタル情報を提供および/または購入(例えば、投稿、書き込み、閲覧、公開、放送、宣伝、推薦、共有)することによって、ソーシャルネットワークシステム108によって提供されるソーシャルネットワーキングサービスに参加することができる。デジタル情報は、例えば、テキストコメント(例えば、ステータス、更新、アナウンス、返信、ロケーション「チェックイン」、プライベート/グループメッセージ)、写真、ビデオ、音声ファイル、リンク、ドキュメント、および/または他の電子コンテンツなどである。いくつかの実施形態において、ユーザは、ソーシャルネットワークシステム108によって提供されるソーシャルネットワーキングサービスのページ、グループ、イベント、メッセージボード、フィード、アプリケーション、および/またはユーザプロファイルとの間で情報をやり取りする。ソーシャルネットワーキングサービスのユーザは、ソーシャルネットワーキングサービスの他のユーザによって投稿された情報に注釈を付けることができる(例えば、他のユーザの投稿を支持または「いいね」としたり、または他のユーザによる投稿にコメントしたりするなど)。いくつかの実施形態では、ソーシャルネットワークシステム108の外部のシステムおよび/またはサービスによって、ユーザの代わりに情報を投稿することができる。例えば、ユーザは、映画のレビューを映画レビューウェブサイトに投稿することができ、適切な許可がある場合、そのウェブサイトがユーザの代わりにソーシャルネットワークシステム108にレビューをクロスポストしてもよい。別の例では、モバイルクライアントデバイス上で実行されるソフトウェアアプリケーションは、適切な許可がある場合、全地球測位システム(GPS)または他のジオロケーション機能(例えば、Wi−Fi(登録商標)またはハイブリッド測位システム)を使用してユーザの位置を判定し、そのユーザの位置(例えば、「自宅にいる」、「職場にいる」、または「カリフォルニア州のサンフランシスコにいる」など)を用いてソーシャルネットワークシステム108を更新してもよく、および/またはユーザの位置から得られる情報および/またはユーザの位置に基づく情報を使用してソーシャルネットワークシステム108を更新してもよい。また、クライアントデバイス104−1,104−2,…104−nとの間で情報をやり取りするユーザは、ソーシャルネットワークシステム108によって提供されるソーシャルネットワーキングサービスを使用してユーザのグループを定義することもできる。また、クライアントデバイス104−1,104−2,…104−nとの間で情報をやり取りするユーザは、ソーシャルネットワークシステム108によって提供されるソーシャルネットワーキングサービスを使用して互いに通信し共同作業することもできる。
いくつかの実施形態では、ネットワークアーキテクチャ100は、第三者サーバ110−1,110−2,…110−mも含む。いくつかの実施形態では、所与の第三者サーバ110が、直接またはソーシャルネットワークシステム108と連携して、ウェブページをクライアントデバイス104に提供する第三者ウェブサイトをホストするために使用される。いくつかの実施形態では、ソーシャルネットワークシステム108は、インラインフレーム(「iframe」)を使用して、ユーザのソーシャルネットワークセッション内の独立したウェブサイトをネストする。いくつかの実施形態では、所与の第三者サーバを使用して、直接またはソーシャルネットワークシステム108と連携して、クライアントデバイス104によって使用される第三者アプリケーションをホストする。いくつかの実施形態では、ソーシャルネットワークシステム108は、iframeを使用することにより、第三者サーバ110によって個別にホストされ、ユーザ102のソーシャルネットワーキングセッション内で動作し且つソーシャルネットワークシステム108内のユーザのプロファイルを通じてアクセスされるアプリケーションを第三者の開発者が作成することを可能にする。例示的な第三者アプリケーションには、書籍、ビジネス、通信、コンテスト、教育、娯楽、ファッション、金融、飲食、ゲーム、健康およびフィットネス、ライフスタイル、地域情報、映画、テレビ、音楽および音声、ニュース、写真、ビデオ、生産性、参照資料、セキュリティ、ショッピング、スポーツ、旅行、ユーティリティなどのアプリケーションが含まれる。いくつかの実施形態では、所与の第三者サーバ110は、直接またはソーシャルネットワークシステム108と連携して、クライアントデバイス104によって使用される企業システムをホストするために使用される。いくつかの実施形態では、所与の第三者サーバ110は、第三者コンテンツ(例えば、ニュース記事、レビュー、メッセージフィードなど)を提供するために使用される。
いくつかの実施形態では、所与の第三者サーバ110は単一のコンピューティングデバイスである一方、他の実施形態では、所与の第三者サーバ110は、サーバシステム(例えば、クラウドコンピューティング)の動作を実行するように互いに連動する複数のコンピューティングデバイスによって実現される。
図2は、いくつかの実施形態による例示的なソーシャルネットワークシステム108を示すブロック図である。ソーシャルネットワークシステム108は、典型的には、1つ以上の処理ユニット(プロセッサまたはコア)202と、1つ以上のネットワークまたは他の通信インタフェース204と、メモリ206と、これらの構成を相互接続するための1つ以上の通信バス208とを含むサーバシステムである。通信バス208は、任意で、システムの構成間の通信を相互接続および制御する回路(チップセットとも呼ばれる)を含む。ソーシャルネットワークシステム108は、任意で、ユーザインタフェース(図示せず)を含む。ユーザインタフェースが提供される場合には、ユーザインタフェースは表示デバイスを含んでもよく、また、任意で、キーボード、マウス、トラックパッド、および/または入力ボタンなどの入力を含む。代替的にまたは追加的に、表示デバイスはタッチ感知面を含み、その場合、ディスプレイはタッチ感知ディスプレイである。
メモリ206は、DRAM、SRAM、DDR−RAM、または他のランダムアクセスソリッドステートメモリ装置などの高速ランダムアクセスメモリを含む。メモリ206は、1つ以上の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリ装置、および/または他の不揮発性ソリッドステート記憶装置などの不揮発性メモリを含んでもよい。メモリ206は、任意で、プロセッサ202から離れた位置にある1つ以上の記憶装置を含んでもよい。メモリ206、またはメモリ206内の不揮発性メモリ装置は、非一時的なコンピュータ可読記憶媒体を含む。
いくつかの実施形態では、メモリ206またはメモリ206のコンピュータ可読記憶媒体は、以下のプログラム、モジュールおよびデータ構造、またはそれらのサブセットもしくはスーパーセットを記憶する。
・種々の基本システムサービスを扱い、ハードウェア依存タスクを実行するための手順を含むオペレーティングシステム210;
・1つ以上の通信ネットワークインタフェース204(有線または無線)と、1つ以上の通信ネットワーク(例えば、1つ以上のネットワーク106)とを介して、ソーシャルネットワークシステム108を他のコンピュータに接続するために使用されるネットワーク通信モジュール212;
・ソーシャルネットワークに関連付けられたデータを格納するためのソーシャルネットワークデータベース214。ソーシャルネットワークに関連付けられるデータとしては、例えば、以下が挙げられる:
・・ユーザ情報218などのエンティティ情報216;
・・接続情報220;および
・・コンテンツ222。コンテンツ222には、以下が含まれる:
・・・ユーザコンテンツ224(例えば、テキストコメント(例えば、投稿、ステータス、更新、アナウンス、返信、ロケーション「チェックイン」、プライベート/グループメッセージなど)、写真、ビデオ、音声ファイル、リンク、ドキュメント、および/または他のデジタル電子コンテンツなど);および/または
・・・ニュース記事226;
・ソーシャルネットワーキングサービス、ソーシャルメディアアプリケーション、および関連機能を(例えば、図3におけるクライアントデバイス104上のブラウザモジュール338またはソーシャルネットワーククライアントモジュール340と連携して)提供するためのソーシャルネットワークサーバモジュール228。ソーシャルネットワークサーバモジュール228には、以下が含まれる:
・・クライアント104のユーザ102をソーシャルネットワークシステム108にロギングするためのログインモジュール230;および
・・表示のためにクライアント104に送信すべきコンテンツを提供するためのコンテンツ供給マネージャ232。コンテンツ供給マネージャ232には、以下が含まれる:
・・・ソーシャルネットワークデータベース214にオブジェクト(画像、ビデオ、音声ファイル、コメント、ステータスメッセージ、リンク、アプリケーション、および/または他のエンティティ情報216、接続情報220、またはコンテンツ222など)を記述するためのコンテンツ生成モジュール234;および
・・・表示のためにクライアント104に送信すべき情報/コンテンツを選択するためのコンテンツ選択モジュール236;
・ソーシャルネットワークシステムのユーザがソーシャルネットワーク内のコンテンツおよび他のユーザを検索することを可能にするための検索モジュール238。
ソーシャルネットワークデータベース214は、ソーシャルネットワークに関連付けられたデータを、グラフ、次元、フラット、階層、ネットワーク、オブジェクト指向、リレーショナル、および/またはXMLデータベースなどの1つ以上のタイプのデータベースに格納する。
いくつかの実施形態では、ソーシャルネットワークデータベース214はグラフデータベースを含み、このグラフデータベースは、グラフデータベース内のノードとして表されるエンティティ情報216と、グラフデータベース内のエッジとして表される接続情報220とを有する。つまり、グラフデータベースは、複数のノードと共に、対応するノード間の接続を定義する複数のエッジとを含む。いくつかの実施形態では、ノードおよび/またはエッジはそれら自体、対応するエンティティの識別子、属性、および情報を含むデータオブジェクトであり、それらのいくつかはソーシャルネットワーキングサービスの対応するプロファイルページまたは他のページ上にてクライアント104でレンダリングされる。いくつかの実施形態では、ノードは、クライアント104におけるそれぞれのノードに対応するページのレンダリングと関連してコンテンツをレンダリングする際に使用するための、他のオブジェクト、データ構造、またはリソースへのポインタまたは参照も含む。
エンティティ情報216は、ユーザプロファイル、ログイン情報、プライバシーおよび他の選好、経歴データなどのユーザ情報218を含む。いくつかの実施形態では、所与のユーザについて、ユーザ情報218は、ユーザの名前、プロフィール画像、連絡先情報、生年月日、性別、婚姻状態、家族状態、雇用、教育背景、嗜好、関心および/または他の人口学的情報を含む。
いくつかの実施形態では、エンティティ情報216は、物理的な場所(例えば、レストラン、劇場、ランドマーク、都市、州、または国)、現実または知的財産(例えば、彫刻、絵画、映画、ゲーム、歌、アイデア/コンセプト、写真、または書面による作業)、ビジネス、人々のグループ、および/またはビジネスのグループを含む。いくつかの実施形態では、エンティティ情報216は、音声ファイル、ビデオファイル、デジタル写真、テキストファイル、構造化文書(例えば、ウェブページ)、またはアプリケーションなどのリソースに関する情報を含む。いくつかの実施形態では、リソースは、ソーシャルネットワークシステム108内(例えば、コンテンツ222内)に、または第三者サーバ110などの外部サーバ上に配置される。
いくつかの実施形態では、接続情報220は、ソーシャルネットワークデータベース214内のエンティティ間の関係に関する情報を含む。いくつかの実施形態では、接続情報220は、グラフデータベース内のノード対を接続するエッジに関する情報を含む。いくつかの実施形態では、一対のノード対を接続するエッジは、その一対のノード間の関係を表す。
いくつかの実施形態では、エッジは、一対のノード間の関係に対応する1つ以上のデータオブジェクトまたは属性を含むかまたは表す。例えば、第2のユーザが第1のユーザの「フレンド」であることを第1のユーザが示す場合、ソーシャルネットワークシステム108は第2のユーザに「フレンドリクエスト」を送信する。第2のユーザが「フレンドリクエスト」を確認すると、ソーシャルネットワークシステム108は、第1のユーザのユーザノードと第2のユーザのユーザノードとを接続するエッジを作成し、そのエッジをグラフデータベースに接続情報220として格納する。この接続情報220は、第1のユーザと第2のユーザとがフレンドであることを示す。いくつかの実施形態では、接続情報220は、友人関係、家族関係、ビジネスまたは雇用関係、ファン関係、フォロワー関係、訪問者関係、加入者関係、上位/下位関係、相互関係、非相互関係、他の適切なタイプの関係、またはそれらのうちの2つ以上の関係を含む。
いくつかの実施形態では、ユーザノードと他のエンティティノードとの間のエッジは、当該ユーザノードのユーザによって当該他のエンティティノードに向けて実行される特定の動作またはアクティビティに関する接続情報を表す。例えば、ユーザは、他のノードのエンティティを「好き」であるか、または、そのエンティティに関して、「出席している」、「再生している」、「聞いている」、「料理している」、「働いている」、もしくは「見ている」などの状態にある。他のノードのエンティティに対応するソーシャルネットワーキングサービスのページは、例えば、「好き」、「チェックイン」、または「お気に入りに追加」などの選択可能なアイコンを含み得る。ユーザがこれらのアイコンのうちの1つをクリックすると、ソーシャルネットワークシステム108は、対応するユーザの動作に応答して、「好き」エッジ、「チェックイン」エッジ、または「お気に入り」エッジを作成し得る。別の例として、ユーザが特定のアプリケーション(例えば、オンライン音楽アプリケーション)を使用して特定の曲を聴くことが考えられる。この場合、ソーシャルネットワークシステム108は、ユーザがその曲を聴いてアプリケーションを使用したことを示すべく、ユーザに対応するユーザノードと、その曲およびアプリケーションにそれぞれ対応するエンティティノードとの間に、「聴取済み」エッジおよび「使用済み」エッジを作成し得る。さらに、ソーシャルネットワークシステム108は、その特定の曲が特定のアプリケーションによって演奏されたことを示すべく、その曲およびアプリケーションに対応するエンティティノード間に「再生済み」エッジを作成し得る。
いくつかの実施形態では、コンテンツ222は、テキスト(例えば、ASCII、SGML、HTML)、画像(例えば、JPEG、tif、gif)、グラフィックス(ベクトルベースまたはビットマップ)、音声、ビデオ(例えば、mpeg)、他のマルチメディア、および/またはそれらの組み合わせを含む。いくつかの実施形態では、コンテンツ222は、実行可能コード(例えば、ブラウザウィンドウまたはフレーム内で実行可能なゲーム)、ポッドキャスト、リンクなどを含む。
いくつかの実施形態では、ソーシャルネットワークサーバモジュール228は、ウェブまたはハイパーテキスト転送プロトコル(HTTP)サーバ、ファイル転送プロトコル(FTP)サーバ、ならびに、コモンゲートウェイインタフェース(CGI)スクリプト、PHPハイパーテキストプリプロセッサ(PHP)、アクティブサーバページ(ASP)、ハイパーテキストマークアップ言語(HTML)、拡張可能マークアップ言語(XML)、Java(登録商標)、JavaScript(登録商標)、アシンクロナスJavaScript及びXML(AJAX)、XHP、Javelin、ワイヤレスユニバーサルリソースファイル(WURFL)などを使用して実装されるウェブページおよびアプリケーションが挙げられる。
図3は、いくつかの実施形態による例示的なクライアントデバイス104(例えば、モバイルデバイス)を示すブロック図である。クライアントデバイス104は、典型的には、1つ以上の処理ユニット(プロセッサまたはコア)302と、1つ以上のネットワークまたは他の通信インタフェース304と、メモリ306と、これらの構成を相互接続するための1つ以上の通信バス308とを含む。通信バス308は、任意で、システムの構成間の通信を相互接続および制御する回路(チップセットとも呼ばれる)を含む。クライアントデバイス104はユーザインタフェース310を含む。ユーザインタフェース310は、典型的には、表示デバイス312を含む。いくつかの実施形態では、クライアントデバイス104は、キーボード、マウス、および/または他の入力ボタン316などの入力を含む。代替的または追加的に、いくつかの実施形態では、表示デバイス312はタッチ感知面314を含み、その場合、表示デバイス312はタッチ感知ディスプレイである。タッチ感知ディスプレイ312を有するクライアントデバイスでは、物理的キーボードは任意である(例えば、キーボード入力が必要なときにソフトキーボードが表示されてもよい)。また、ユーザインタフェース310は、スピーカ、またはスピーカやイヤホンやヘッドホンに接続された音声出力接続などの音声出力デバイス318を含む。さらに、いくつかのクライアントデバイス104は、キーボードを補完するためにまたはキーボードに代えて、マイクロフォンおよび音声認識を使用する。任意で、クライアントデバイス104は、音声(例えば、ユーザからの会話)を取り込むための音声入力デバイス320(例えば、マイクロフォン)を含む。任意で、クライアントデバイス104は、クライアントデバイス104の位置を決定するためのGPS(全地球測位衛星)または他のジオロケーションレシーバなどの位置検出デバイス322を含む。また、クライアントデバイス104は、任意で、カメラまたはウェブカメラなどの画像/ビデオキャプチャデバイス324を含む。
メモリ306は、DRAM、SRAM、DDR−RAM、または他のランダムアクセスソリッドステートメモリ装置などの高速ランダムアクセスメモリを含む。メモリ306は、1つ以上の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性ソリッドステート記憶装置などの不揮発性メモリを含んでもよい。メモリ306は、任意で、プロセッサ302から離れた位置にある1つ以上の記憶装置を含んでもよい。メモリ306、またはメモリ306内の不揮発性メモリ装置は、非一時的なコンピュータ可読記憶媒体を含む。
いくつかの実施形態では、メモリ306またはメモリ306のコンピュータ可読記憶媒体は、以下のプログラム、モジュールおよびデータ構造、またはそれらのサブセットもしくはスーパーセットを記憶する。
・種々の基本システムサービスを扱い、ハードウェア依存タスクを実行するための手順を含むオペレーティングシステム326;
・1つ以上の通信ネットワークインタフェース304(有線または無線)と、1つ以上の通信ネットワーク(インターネット、セルラ電話ネットワーク、モバイルデータネットワーク、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなど)とを介して、クライアントデバイス104を他のコンピュータに接続するために使用されるネットワーク通信モジュール328;
・画像/ビデオキャプチャデバイス324によってキャプチャされたそれぞれの画像またはビデオを処理するための画像/ビデオキャプチャモジュール330(例えば、カメラモジュール)。なお、それぞれの画像またはビデオは(例えば、クライアントアプリケーションモジュール336によって)ソーシャルネットワークシステム108に送信またはストリーミングされ得る;
・音声入力デバイス320によってキャプチャされた音声を処理するための音声入力モジュール332(例えば、マイクロフォンモジュール)。なお、それぞれの音声は(例えば、クライアントアプリケーションモジュール336によって)ソーシャルネットワークシステム108に送信またはストリーミングされ得る;
・クライアントデバイス104の位置を(例えば、位置検出デバイス322を使用して)決定し、種々のアプリケーション(例えば、ソーシャルネットワーククライアントモジュール340)で使用するべくこの位置情報を提供するための位置検出モジュール334(例えば、GPS、Wi−Fi(登録商標)、またはハイブリッド測位モジュール);および
・1つ以上のクライアントアプリケーションモジュール336。クライアントアプリケーションモジュール336は、以下のモジュール(または命令セット)、あるいはそれらのサブセットもしくはスーパーセットを含む:
・・ウェブサイト(例えば、ソーシャルネットワークシステム108によって提供されるソーシャルネットワーキングウェブサイト)にアクセスし、閲覧し、情報をやり取りするためのウェブブラウザモジュール338(例えば、マイクロソフトによるInternet Exprorer(登録商標)、モジラによるFirefox(登録商標)、アップルによるSafari(登録商標)、またはグーグルによるChrome(登録商標));
・・ソーシャルネットワーク(例えば、ソーシャルネットワークシステム108によって提供されるソーシャルネットワーク)、ソーシャルメディアアプリケーション、および関連機能とのインタフェースを提供するためのソーシャルネットワーククライアントモジュール340;
・・クライアントデバイス104のリソース(例えば、音声入力デバイス320、位置検出デバイス322、画像/ビデオキャプチャデバイス324、および/またはメモリ306内の各モジュール)へのアプリケーションのアクセス許可を管理するための許可モジュール342。許可モジュール342には、以下が含まれる:
・・・アプリケーションがリソースにアクセスするための許可および条件を記憶するための許可テーブル344;および
・・・アプリケーションによって送信されたアクセス要求のレコード、アクセス要求に応答して受信されたユーザ入力、およびアクセス要求がなされたときおよび/またはユーザ入力が受信された時点におけるクライアントデバイス104のコンテキスト情報を記憶するためのレコードテーブル346;および/または
・・他の任意のクライアントアプリケーションモジュール348(例えば、ワード処理、カレンダー、地図、天気、在庫、時間管理、バーチャルデジタルアシスタント、プレゼンテーション、ナンバークランチング(スプレッドシート)、描画、インスタントメッセージング、電子メール、電話通信、ビデオ会議、写真管理、ビデオ管理、デジタル音楽プレイヤー、デジタルビデオプレイヤー、2Dゲーム、3D(例えば、バーチャルリアリティ)ゲーム、電子書籍リーダー、および/またはトレーニング支援のためのアプリケーションなど)。
いくつかの実施形態では、許可モジュール342は、アプリケーション(例えば、クライアントアプリケーションモジュール336)がクライアントデバイス104のリソースにアクセスするための許可を(例えば、図4AのGUI400を表示することによって)クライアントデバイス104のユーザに求めるように構成されている。許可モジュール342は、アプリケーションによるリソースへのアクセスを許可/拒否するユーザ入力を受信し、その受信したユーザ入力に応答してアプリケーションによるアクセスを許可/拒否する。また、いくつかの実施形態では、許可モジュール342は、リソースからデータを取得し、その取得したデータを要求元のアプリケーションに提供する。また、いくつかの実施形態では、許可モジュール342は、アクセスを許可または拒否するユーザ指定条件(例えば、許可位置、許可ユーザ、1度のみの許可(ワンタイム許可)、位置分解能など)を管理し、その条件を使用してそれに従ってアクセスを許可または拒否する。いくつかの実施形態では、許可モジュール342は、アプリケーションによって送信されたアクセス要求の数が閾値を満たしているか否かを判定し、その判定結果に従ってアプリケーションのアクセスを拒否するおよび/またはユーザにアラートを通知する。いくつかの実施形態では、記憶されたレコード(例えば、レコードテーブル346内のレコード)に基づいて、許可モジュール342は、複数のアクセス要求に関する統計情報を提示し、および/またはデバイスリソースへのアプリケーションのアクセスを許可または拒否する条件の推奨をユーザに提示する。
上述したモジュールおよびアプリケーションの各々は、上述した1つ以上の機能および/または本願に記載された方法(例えば、本明細書に記載のコンピュータ実装方法および他の情報処理方法)における1つ以上の機能を実行するための実行可能命令セットに対応する。これらのモジュール(すなわち、命令セット)は、個別のソフトウェアプログラム、プロシージャ、またはモジュールとして実装される必要はなく、したがって、これらのモジュールの種々のサブセットが、任意で、種々の実施形態において組み合わされるかもしくは再配置される。いくつかの実施形態では、メモリ206および/またはメモリ306は、上述したモジュールおよびデータ構造のサブセットを記憶する。さらに、メモリ206および/またはメモリ306は、任意で、上述していない追加のモジュールおよびデータ構造を記憶する。
以下、クライアントデバイス(例えば、図3のクライアントデバイス104)に実装することが可能なグラフィカルユーザインタフェース(「GUI」)およびその関連プロセスの実施形態について説明する。
図4Aおよび図4Bは、いくつかの実施形態による、デバイスリソースに対するアクセス許可を管理しアクセス要求統計情報を提示するための、クライアントデバイス104のディスプレイ上に示される例示的なGUI400,410を示す。GUI400,410は、方法600(図6)を含む以下に説明するプロセスを示す。図4Aおよび図4BはGUIの例を示しているが、他の実施形態では、図4Aおよび図4Bの実施形態とは異なる構成のGUIがユーザインタフェース要素を表示する。
図4Aは、アプリケーション(例えば、図3の許可モジュール342)の例示的なGUI400を示す。GUI400は、クライアントデバイス104−1のリソースへの他のアプリケーションのアクセス許可を管理する。GUI400は、クライアントデバイス104−1のリソースへのアクセス許可を指定するユーザ入力(例えば、ユーザインタフェース要素404の選択)をユーザが与えることを可能にする。GUI400は、許可要求プロンプト402と、デバイスリソースに対するアクセスを許可または拒否する許可条件を指定するためのユーザインタフェース要素404とを含む。
いくつかの実施形態では、GUI400は、デバイスリソースへのアクセスを要求する特定のアプリケーション機能をユーザが利用しようと試みることに応答して表示される(例えば、地図アプリケーションを使用して現在の位置から目的地までの道順を検索する場合、クライアントデバイス104の現在の位置を決定するためにクライアントデバイス104の位置検出デバイス322(図3)を使用する必要がある)。いくつかの実施形態では、GUI400は、デバイスリソースへのアクセスを要求するバックグラウンドプロセスを実行するアプリケーション(アクセス許可を管理するためのアプリケーションとは異なる)に応答して表示される。
いくつかの実施形態では、許可要求プロンプト402は、アプリケーションがデバイスリソースにアクセスすることの許可をユーザに求めるテキストを含む。例えば、許可要求プロンプト402は、「アプリケーション01」がクライアントデバイス104−1の現在の位置を決定するために位置検出デバイス322および/または位置検出モジュール334にアクセスすることの許可を与えるか否かをクライアントデバイス104−1のユーザに求める。アクセスを許可または拒否する種々のデバイスリソースについては、図6においてより詳細に説明する。
ユーザは、許可を求められたことに応答して、表示されたユーザインタフェース要素404のうちのいずれかを選択して許可内容を指定することができる。各ユーザインタフェース要素404は、要求元のアプリケーション(例えば、「アプリケーション01」)がデバイスリソースにアクセスすることを許可または拒否することに対応する。異なるユーザインタフェース要素404は、リソースへのアクセスを許可または拒否する異なる条件に対応し、これらの条件は、アクセスを許可または拒否するための詳細設定(例えば、アクセスを許可または拒否する特定の回数、期間、ユーザ、位置、位置分解能など)を表す。図4Aの例においては、ユーザインタフェース要素404の選択により、ユーザは、アプリケーション01がリソースにアクセスすることを常に許可するか(例えば404−1)、アクセスを1度のみ許可するか(例えば404−2)、アクセスを常に拒否するか(例えば404−3)、アクセスを特定期間において許可するか(例えば404−4)、または他の許可条件オプションを指定することができる(例えば404−5)。ユーザインタフェース要素404−5を選択することで、ユーザが指定することが可能な追加の許可条件(例えば、位置を決定し得る特定の分解能、特定のユーザ、特定の位置など)の表示がトリガされる。ユーザは、単一の条件または複数の条件を指定することができる。アクセスを許可または拒否するための種々の許可条件については、図5A〜5Bおよび図6においてより詳細に説明する。
図4Bは、アクセス許可を管理するためのアプリケーションの別の例示的なGUI410(例えば、許可モジュール342)を示す。GUI410は、電子デバイス上のアプリケーション(例えば、図3の許可モジュール342以外の他のクライアントアプリケーションモジュール336)から受信したアクセス要求の統計情報を表示する。図示されるように、GUI410は、複数のアプリケーションについてアクセス要求の統計情報を表示するための複数のセクション412(例えば、アプリケーション01についてはセクション412−1、アプリケーション02についてはセクション412−2など)と、それぞれのアプリケーションについて詳細なアクセス要求履歴を閲覧するためのユーザインタフェース要素414とを含む。
セクション412は、統計情報が表示されるアクセス許可に関する詳細(例えば、図3および図5Aの許可テーブル344から取得される詳細)を表示する。この例では、セクション412−1は、アクセス許可の発生日時(「アクセス許可の発生日」)、アクセスが許可されたかどうか(「アクセス可否」)、アクセス許可が認められたリソース(「リソース」)、アクセス許可期間(「許可期間」)、アクセス許可位置(「許可位置」)、許可ユーザ(「許可ユーザ」)、およびアクセスがフォアグラウンドプロセスで許可されたのかバックグラウンドプロセスで許可されたのか(「フォアグラウンド/バックグラウンド」)を含む。GUI410には示されていないが、セクション412は、ユーザによって適用可能なまたはユーザによって指定される他の追加のパラメータまたは条件を表示するように構成されてもよい。
さらに、セクション412は、アプリケーション(例えば、クライアントアプリケーションモジュール336)によって送信されたアクセス要求の種々の統計情報を表示する。この例では、クライアントデバイス104−1の位置検出デバイス322(図3)にアクセスするためにアプリケーション01によって送信された要求に関する統計情報が示されている。この統計情報は、アプリケーション01によって送信されたアクセス要求の最終時刻(「最終要求時刻」)、アクセス要求の最終送信位置(「最終要求位置」)、最後にアクセス要求を送信したアプリケーション01のユーザ(例えば、ログインしたユーザ)(最終要求ユーザ)、統計情報を閲覧した日に受信したアクセス要求数(「今日のアクセス要求数」)、およびアクセス要求の発生日から受信したアクセス要求の総数(「アクセス要求総数」)を含む。GUI410には示されていないが、セクション412は、他のアクセス要求統計情報を表示するように構成されてもよい。
ユーザによって指定されたアクセス許可情報を、対応するアプリケーションのアクセス要求統計情報とともに表示することによって、ユーザは、許可および規定された境界外で動作している潜在的に悪意のあるアプリケーションを識別することができる。また、ユーザは、デバイスリソースにアクセスする際にどのアプリケーションが最もリソース集約的であるか、また、どのデバイスリソースがアプリケーションによって最もアクセスされるかを識別することができる。さらに、アクセス要求統計情報に基づいて、アクセス許可を管理するアプリケーション(例えば、図3の許可モジュール342)は、疑わしいアプリケーションによるリソースへのアクセスを拒否したり、疑わしいアクティビティが検出されたときにユーザにアラートを通知したり、および/またはユーザに対してアクセス許可の推奨を提示することができる。
セクション412−1は、それぞれのアプリケーションについて、詳細なアクセス要求履歴を閲覧するためのユーザインタフェース要素414を任意で含む。例えば、ユーザインタフェース要素414を選択すると、アプリケーション01によって送信された各アクセス要求の詳細リストを含むGUI(図示せず)が表示される。これらの各アクセス要求は、記憶されたレコード(例えば、要求時刻、要求元のユーザ、要求位置などを含む図3および図5Bのレコードテーブル346)から取得されたデータとともに表示される。
図5Aおよび図5Bは、いくつかの実施形態による、アクセス許可およびアクセス要求レコードを格納する例示的なデータ構造を示す。いくつかの実施形態では、許可テーブル344(図5A)およびレコードテーブル346(図5B)は、クライアントデバイスの1つ以上のモジュールまたはサブモジュール(例えば、図3におけるクライアントデバイス104のメモリ306のモジュール、および/または許可モジュール342のサブモジュール)に記憶される。代替的に、いくつかの実施形態では、許可テーブル344およびレコードテーブル346は、アクセス許可が管理、共有、および/または単一のユーザに関連付けられた複数のクライアントデバイスによって取得可能となるようにサーバシステム(例えば、図3のソーシャルネットワークシステム108)のモジュールに記憶される。さらに、いくつかの実施形態において、許可テーブル344および/またはレコードテーブル346は、追加のパラメータ、条件、統計情報、および/またはユーザ指定のアクセス許可またはアクセス要求に関するデータなどの、図5Aおよび図5Bに示されていない追加のフィールドを含んで記憶するように構成される。
図5Aは、リソースへのアプリケーションのアクセス許可を記憶する(例えば、図3のクライアントデバイス104のメモリ306に記憶される)許可テーブル344を示す。図示されるように、許可テーブル344のエントリは、デバイスリソースに対する各アプリケーションのアクセス許可に対応する。
アクセス許可は、アプリケーション(例えば、図3におけるクライアントデバイス104のクライアントアプリケーションモジュール336)が電子デバイスに記憶されているリソースにアクセスすることが承諾されているか不承諾であるかを定義する。許可テーブル344の各エントリは、アクセス許可が定義されるアプリケーション(「アプリケーションID」)、アクセスが許可または拒否されるリソース(「リソース」)、リソースへのアクセスが許可されているか拒否されているか(アクセス可否)、およびアクセス許可が定義された日時(「アクセス許可日時」)を識別する。任意で、許可テーブル344は、アクセスを許可または拒否する条件を指定することができる。例えば、特定期間(「期間」)、特定位置(「位置」)、および/または特定ユーザ(「ユーザ」)に対してのみアクセスを許可することができる。さらには、特定の分解能(位置追跡リソースの場合には「位置分解能」)および/またはフォアグラウンドプロセスもしくはバックグラウンドプロセス(「フォアグラウンド/バックグラウンド」)にアクセス許可を制限することができる。
一例として、「アプリケーション01」がクライアントデバイス104(例えば、図3の位置検出デバイス322)のGPS装置(または他の全地球的航法衛星システム装置)にアクセスすることが、「ユーザ01」に対しては無期限に(「常時」)許可されている。このアクセス許可は、クライアントデバイス104の位置から半径2000フィートの分解能に制限され、アプリケーション01がバックグラウンドプロセスではなくフォアグラウンドプロセス(例えば、クライアントデバイス104の現在位置を表示する双方向地図アプリケーション)で動作しているときにのみGPS装置にアクセスすることができる。さらには、2014年11月25日の午前2時5分にこのアクセス許可が(例えば、受信したユーザ入力によって)与えられたことが示されている。
図5Bは、アプリケーションにより送信されたアクセス要求のレコードを記憶する(例えば、図3におけるクライアントデバイス104のメモリ306に記憶された)レコードテーブル346を示す。これらのレコードは、(例えば、図4BのGUI410に示されるような)アクセス要求統計情報を生成するために使用することができる。図示されるように、レコードテーブル346のエントリは、特定のアクセス要求に対応する識別インデックス番号(「要求インデックス#」)、デバイスリソースへのアクセスを要求するアプリケーション(「アプリケーションID」)、アクセスが要求されたリソース(「リソース」)、アクセス要求が送信された日時(あるいは、アクセスが許可/拒否された時)(「要求の日時」)、アクセス要求が送信された際の要求元アプリケーションのユーザ(例えば、ログインしたユーザ)(要求元ユーザ)、アクセス要求が送信された位置(「要求の位置」)、およびアクセスが許可されたか拒否されたか(「要求の結果」)を含む。図示されていないが、アクセス要求の結果に関する追加の詳細がレコードテーブル346に含まれてもよい(例えば、許可期間、許可位置など)。
一例として、アクセス要求「001」は、クライアントデバイス104のGPS装置(例えば、図3の位置検出デバイス322)にアクセスするべく「アプリケーション01」によって送信された要求に対応する。上述した許可テーブル344の例で説明すると、この要求に応答して、「アプリケーション01」がGPS装置にアクセスする許可が与えられる(例えば、「アプリケーション01」はGPS装置にアクセスすることが無期限に(「常時」許可されている)。「ユーザ01」が「アプリケーション01」を使用していたとき(または、クライアントデバイス104を使用していたとき)に、GPS座標(37.420591、−122.141330)に相当する位置で、2014年11月25日の午前2時5分にアクセス要求「001」に応答してアクセス許可が与えられたことを示している。
図6は、いくつかの実施形態によるデバイスリソースへのアクセス許可を管理する方法600を示すフローチャートである。方法600は、電子デバイス(例えば、図1および図3のクライアントデバイス104、ここでは、クライアントデバイス104はスタンドアロンデバイスとして動作している)で実行される。図6は、コンピュータメモリ(例えば、図3におけるクライアントデバイス104のメモリ306)または他のコンピュータ可読記憶媒体に記憶された命令に対応する。
第1のアプリケーション602−1(例えば、図3のクライアントアプリケーションモジュール336などの、クライアントデバイス104のモジュールに対応する)は、第1のアプリケーションが電子デバイスのリソースにアクセスするための第1の要求を、第2のアプリケーション602−2(例えば、許可モジュール342に対応する)に送信する(606)。第1および第2のアプリケーション602−1,602−2は、電子デバイスのオペレーティングシステム上で動作する。
電子デバイスのリソースは、この電子デバイスによって提供されるサブデバイス、構成要素、機構、アプリケーション、および/または他の機能が含まれる。例えば、リソースは、マイクロフォン(例えば、図3において、音声をキャプチャするための音声入力デバイス320)、電子デバイスのメッセージングアプリケーション(例えば、SMSテキストメッセージを送受信するためのクライアントアプリケーションモジュール348)、電子デバイスの位置追跡デバイス(例えば、クライアントデバイス104の位置を決定するための位置検出デバイス322)、および電子デバイスのカメラ(例えば、画像またはビデオをキャプチャするための画像/ビデオキャプチャデバイス324)を含む。他のリソースの例としては、各サブデバイスまたは構成要素に関連付けられたモジュール(例えば、図3における画像/ビデオキャプチャモジュール332、音声入力モジュール332、および位置検出モジュール334)が挙げられる。
第1の要求に応答して、第2のアプリケーション602−2は、第1のアプリケーション602−1がリソースにアクセスするための許可を電子デバイスのユーザ604(例えば、図1におけるクライアントデバイス104−1のユーザ102−1)に求める(608)。例えば、「アプリケーション01」のアクセス許可を指定するようにユーザ604に求めるべく、GUI400(図4A)が許可要求プロンプト402と共に表示される。
いくつかの実施形態では、第2のアプリケーション602−2は、第1の要求に応答して、第1のアプリケーション602−1がリソースにアクセスすることを許可する権限が現時点では第2のアプリケーション602−2に与えられていないと判定する。この判定に応答して、第1のアプリケーション602−1がリソースにアクセスするための許可がユーザ604に求められる(608)。例えば、第1のアプリケーション602−1(例えば、図3のクライアントアプリケーションモジュール336に対応する「アプリケーション01」)は、クライアントデバイス104のマイクロフォン(例えば、音声入力デバイス320および/または対応する音声入力モジュール332)にアクセスするための要求を第2のアプリケーション602−2(例えば、許可モジュール342)に送信する。すると、アプリケーション602−2は、マイクロフォンへのアクセスについてアプリケーション602−1(「アプリケーション01」)に対応するアクセス許可が与えられているか許可テーブル344を検索する。アクセス許可が存在しない場合、第2のアプリケーション602−2は、第1のアプリケーション602−1がマイクロフォンにアクセスするための許可を指定するようにユーザ604に求める。
第1のアプリケーション602−1がリソースにアクセスするための許可が第2のアプリケーション602−2からユーザ604に求められると(608)、第1のアプリケーション602−1がリソースにアクセスすることを許可または拒否する第1のユーザ入力が(例えば、アプリケーション602−2によって)受信される(610)。その第1のユーザ入力に応答して、電子デバイスは、第2のアプリケーション602−2を使用して、第1のアプリケーション602−1がリソースにアクセスすることを許可または拒否する(614)。
いくつかの実施形態では、第2のアプリケーション602−2を使用して第1のアプリケーション602−1がリソースにアクセスする許可を与えることは、第2のアプリケーション602−2を使用してリソースからデータを取得することを含む。第2のアプリケーション602−2は、その後、第1のアプリケーション602−1にそのデータを提供する。したがって、第2のアプリケーション602−2は、第1のアプリケーション602−1がリソースにアクセスするためのプロキシとして機能する(例えば、第2のアプリケーション602−2は、位置検出デバイス322からGPS座標を取得し、第1のアプリケーション602−1にそのGPS座標を提供する)。他の実施形態では、第1のアプリケーション602−1のアクセスが許可されると、第1のアプリケーション602−1が、第2のアプリケーション602−2とは独立してリソースに直接アクセスする。
条件とは、リソースへのアクセスに課される制限、および/またはアクセスを許可するために満たすべき要件である。いくつかの実施形態では、第1のユーザ入力は、第1のアプリケーション602−1がリソースにアクセスすることを許可または拒否する1つ以上の条件を指定する(610)。条件は、第2のアプリケーション602−2に割り当てられたメモリ(例えば、図3における許可モジュール342の許可テーブル344)に記憶される(612)。第2のアプリケーション602−2は、この条件を使用して、第1のアプリケーション602−1からの後続の要求に応答して第1のアプリケーション602−1にリソースにアクセスする許可を与えるかどうかを決定する(614)。
例えば、第1のユーザ入力は、第1のアプリケーション602−1がリソースにアクセスすることを1度のみ許可すること(ワンタイム許可)を指定する。第2のアプリケーション602−2が、その第1のユーザ入力に応答して、第1のアプリケーション602−1にリソースへのアクセスを許可した後、第1のアプリケーション602−1がリソースにアクセスするための第2の要求が第1のアプリケーション602−1から第2のアプリケーション602−2に送信される。第1のユーザ入力がアクセスを1度のみ許可するものであったことから、このアクセスを提供する権限は第2のアプリケーション602−2に与えられていない。従って、第2の要求に応答して、第2のアプリケーション602−2は、第1のアプリケーション602−1がリソースに再びアクセスする許可をユーザに求める。そして、第1のアプリケーション602−1にリソースにアクセスする許可を与えるかどうかを示す第2のユーザ入力が受信される。第2のアプリケーション602−2は、その第2のユーザ入力に従って、第1のアプリケーション602−1がリソースにアクセスすることを許可または拒否する。いくつかの実施形態では、ワンタイム許可は、第1のアプリケーション602−1に対して、一つのアクセス要求のみについてデータ(例えば、図3の画像/ビデオキャプチャデバイス324でキャプチャされた一つの写真)を取得するべくリソースにアクセスする許可を与える。他の実施形態では、ワンタイム許可は、第1のアプリケーション602−1に対して、その要求元アプリケーションの起動/実行の一つのセッションまたはインスタンスについてリソースにアクセスする許可を与える(例えば、地図アプリケーションは、ユーザがその地図アプリケーションを終了および/または再起動するまで、クライアントデバイス104のGPS座標にアクセスすることができる)。
いくつかの実施形態では、第1のユーザ入力は、第1のアプリケーション602−1がリソースにアクセスすることを許可する期間を指定する。その期間の間、第2のアプリケーション602−2が繰り返し使用されることにより、第1のユーザ入力に従って、第1のアプリケーション602−1に対し、リソースにアクセスする許可が自動的に(すなわち、追加のユーザ入力を求めることなく)与えられる。この指定される期間は、アクセスを許可する日付の範囲(例えば、2014年11月1日から2014年12月1日までの間はアクセスが許可される)、または時間の範囲(例えば、午後1時から午後5時までの間はアクセスが許可される)、または指定した時間制限(例えば、1時間の間など)、あるいはこれらの任意の組み合わせ(例えば、指定された日付の範囲において、指定された時間の間、アクセスが許可される)とすることができる。代替的に、第1のユーザ入力は、第1のアプリケーション602−1がリソースにアクセスすることを拒否する期間を指定する。この場合には、その期間を除いてアクセスが許可される。
いくつかの実施形態では、第1のユーザ入力は、第1のアプリケーション602−1がリソースにアクセスすることを許可する回数を指定する。この回数を超えない限り、第2のアプリケーション602−2が繰り返し使用されることにより、第1のユーザ入力に従って、第1のアプリケーション602−1に対し、リソースにアクセスする許可が自動的に与えられる。例えば、第1のユーザ入力は、第1のアプリケーション602−1からのアクセス要求を許可する数を指定する。
いくつかの実施形態では、第1のユーザ入力は、第1のアプリケーション602−1がリソースにアクセスすることを許可する許可位置を指定する。電子デバイスの検出位置が許可位置に対応する間、第2のアプリケーション602−2が繰り返し使用されることにより、第1のユーザ入力に従って、第1のアプリケーション602−1に対し、リソースにアクセスする許可が自動的に与えられる。この指定される許可位置は、検出位置に関連付けられた座標(例えば、GPS座標)、会場、組織、またはエンティティ(例えば、レストラン、ユーザの自宅、ユーザの職場など)、あるいはアクセスが許可される所定のエリア(例えば、ジオフェンスエリア)とすることができる(例えば、ユーザの自宅から半径半マイルの範囲で許可される)。一例として、第1のユーザ入力は、ユーザの自宅に関連付けられた位置の特定の半径の外側で第1のアプリケーション602−1がクライアントデバイス104のカメラ(例えば、図3の画像/ビデオキャプチャデバイス324)にアクセスすることを許可することを指定する。従って、クライアントデバイス104の検出位置がユーザの自宅の上記特定の半径内のGPS座標に対応する場合、第1のアプリケーション602−1はクライアントデバイス104のカメラにアクセスすることが拒否される。
いくつかの実施形態では、第1のユーザ入力は、第1のアプリケーション602−1がリソースにアクセスすることを許可する許可ユーザを指定する。電子デバイスのユーザ604が許可ユーザであると判定されたとき、または電子デバイスのユーザ604が許可ユーザであると判定される間、第2のアプリケーション602−2が繰り返し使用されることにより、第1のユーザ入力に従って、第1のアプリケーション602−1に対し、リソースにアクセスする許可が自動的に与えられる。電子デバイスのユーザは、例えば、第1のアクセス要求の時点で、電子デバイスの第1のアプリケーション602−1、第2のアプリケーション602−2、またはオペレーティングシステムにログインしたユーザである。いくつかの実施形態では、電子デバイスのユーザ604が許可ユーザであるかどうかを判定することは、ユーザ認証情報を要求し(例えば、ユーザに対し、ユーザ名やパスワード、生体入力、または他の識別情報を提供することを促し)検証することを含む。
いくつかの実施形態では、条件(ステップ610で第1のユーザ入力によって指定される条件)は、第1のアプリケーション602−1に対応するフォアグラウンドプロセスおよび/またはバックグラウンドプロセスによるリソースへのアクセスを許可する(例えば、フォアグラウンドプロセスによるアクセスは許可するがバックグラウンドプロセスに対しては許可しない、またはその逆についても同様)。フォアグラウンドプロセスは、その動作(例えば、要求されたリソースへアクセスすることを含む)をユーザ604が観察可能なアプリケーションプロセスを含む。いくつかの実施形態では、フォアグラウンドプロセスは、アプリケーションそれ自体が起動/実行されていて現在実行中にある場合にのみ実行されるアプリケーションプロセスである。一例として、地図アプリケーションのフォアグラウンドプロセスは、クライアントデバイス104の現在のGPS座標を取得し、地図上での対応する位置をクライアントデバイス104のユーザに表示することを含む。これに対して、バックグラウンドプロセスは、その動作(例えば、要求されたリソースへアクセスすることを含む)をクライアントデバイスのユーザが観察可能でないアプリケーションプロセスを含む。いくつかの実施形態では、バックグラウンドプロセスは、他のフォアグラウンド/バックグラウンドプロセスと同時に実行されるアプリケーションプロセス、および/またはアプリケーションそれ自体が起動/実行されておらず現在実行中にない場合に実行されるアプリケーションプロセスを含む。例えば、アプリケーションのバックグラウンドプロセスは、ユーザがクライアントデバイス104のマイクロフォン(例えば、図3における音声入力デバイス320)にアクセスするアプリケーションを使用していない場合にも、そのマイクロフォンを使用してユーザからの音声を継続的に取り込む。バックグラウンドプロセスがマイクロフォンにアクセスすることを拒否することで、潜在的なユーザのプライバシー侵害を防ぐことができる。
いくつかの実施形態では、リソースは、電子デバイスの位置追跡デバイス(例えば、図3の位置検出デバイス322)を含み、第1のユーザ入力は、この位置追跡デバイスへのアクセスに関して第1のアプリケーション602−1に対して許可すべき分解能の度合いを指定する。位置追跡デバイスへのアクセスに関する分解能の度合いは、例えば、クライアントデバイス104の位置を判定可能な精度(距離)を指定するものである(例えば、クライアントデバイス104の現在位置が検出されることで、クライアントデバイス104が位置している特定の半径を有するエリアが描かれる)。いくつかの実施形態では、第1のユーザ入力は、位置追跡の分解能を、低分解能と高分解能との間で選択する(例えば、位置追跡の所定の精度に対応する低分解能と高分解能(低分解能よりも高い精度を有する分解能)との間で選択する)か、または3つ以上の利用可能な分解能の中から選択する。
いくつかの実施形態では、第1のユーザ入力は、第1のアプリケーション602−1にアクセス許可を与える条件の組み合わせを指定する。例えば、アプリケーション602−1は、ユーザ102−1(許可ユーザ条件)についてのみ、且つ指定された時間帯において指定の日(例えば、1つ以上の指定の曜日)についてのみ、リソースにアクセスすることが許可される。アプリケーションに対してアクセスを許可または拒否する条件は、図5Aおよび5Bに示され本明細書で説明されるものに限定されるものではなく、他の制限、要件、パラメータ、リソース指定制限、および/またはリソースへアクセスする際の詳細レベルも含むことができる。
いくつかの実施形態において、電子デバイスは、第1のアプリケーション602−1がリソースにアクセスするために、第1のアプリケーション602−1によって第2のアプリケーション602−2に送信された複数のアクセス要求のレコードを(例えば、図3および図5Bのレコードテーブル346に)記憶する(612)。
いくつかの実施形態では、第2のアプリケーション602−2は、リソースにアクセスするために第1のアプリケーション602−1によって送信された要求の数を或る期間に亘って(例えば、図3および図5Bのレコードテーブル346に記憶されたレコードに基づいて)判定する(616)。要求の数が閾値を満たす場合(例えば、閾値を超えるまたは閾値以上となる場合)、第2のアプリケーション602−2が使用されることにより、第1のアプリケーション602−1がリソースにアクセスすることが(例えば、追加のユーザ入力を求めることなく自動的に)拒否される(618)。閾値は、ユーザ入力によって指定されてもよいし、または第2のアプリケーション602−2においてコード化されてもよい。任意で、閾値を満たす要求の数に従って、電子デバイスのユーザにアラートが通知される(620)(例えば、クライアントデバイス104のディスプレイ上にアラートが表示されて、疑わしいアプリケーションがユーザに通知される)。このように、閾値は、悪意のあるアプリケーション(例えば、マルウェア)を識別および/または阻止するために使用することができる。
いくつかの実施形態では、記憶されたレコードに基づき、複数の要求に関する1つ以上の統計情報がユーザに提示される(622)。例えば、記憶されたレコードに基づくアクセス要求の統計情報を含む図4BのGUI510がクライアントデバイス104のディスプレイ上に表示される。
いくつかの実施形態では、第1のアプリケーション602−1によって送信された複数のアクセス要求に応答して、電子デバイスは、それぞれのアクセス要求について、第1のアプリケーションがリソースにアクセスすることを許可または拒否することを示す受信したそれぞれのユーザ入力のレコード(ユーザ入力はアクセス許可がユーザに求められた後に受信される)、および/または電子デバイスに関するそれぞれのコンテキスト情報のレコードを(例えば、レコードテーブル346に)記憶する(612)。コンテキスト情報は、アクセス要求が送信される状況、および/またはアクセス要求についてアクセスが許可または拒否される状況を記述する。いくつかの実施形態では、コンテキスト情報は、それぞれユーザ入力を受信したときの電子デバイスの位置(例えば、ユーザが自宅にいたときにアクセスの許可が指定されるなど)および/またはそれぞれユーザ入力が受信された日付/時刻(例えば、2014年11月25日の午後2時5分にアクセスの許可が指定されるなど)を含む。アクセス要求、与えられたアクセス許可、およびコンテキスト情報のレコードの例は、図5Bのレコードテーブル346に示されている。
いくつかの実施形態では、記憶されたレコードに基づき、第1のアプリケーション602−1がリソースにアクセスすることを許可または拒否する条件の推奨がユーザに提示される(624)。電子デバイスは、レコードテーブル346に記憶されたレコードに基づいてユーザにより与えられるアクセス許可のパターンを識別し、アクセスを許可または拒否する条件の推奨をインテリジェントに提示する。例えば、許可モジュール342は、推奨内容を構築する機械学習アルゴリズムを含み得る。一例では、レコードテーブル346のレコード(図3および図5B)は、第1のアプリケーション602−1がクライアントデバイス104の特定のリソース(例えば、図3において、音声をキャプチャする音声入力デバイス320)にアクセスする許可(例えば、ワンタイム許可)をユーザが常に与えていることを示す。従って、第2のアプリケーション602−2は、第1のアプリケーション602−1からその特定のリソースにアクセスするための後続の要求を受信することに応答して、第1のアプリケーション602−1がその特定のリソースに常にアクセスできるようにユーザが許可を与えていることを(例えば、GUIプロンプトを表示することによって)提言する。他の例では、第2のアプリケーション602−2は、ユーザが常に、第1のアプリケーション602−1が1つ以上の条件下で特定のリソースにアクセスすることを許可または拒否していることを識別し、第1のアプリケーションがその1つ以上の条件下ではその特定のリソースに常にアクセスできるようにユーザが許可を与えている、もしくは第1のアプリケーションがその1つ以上の条件下ではその特定のリソースにアクセスすることを禁止していることを提言する。さらに別の例では、第2のアプリケーション602−2は、ユーザが常に、複数のアプリケーションが(例えば、1つ以上の条件下で、もしくは条件には関係なく)特定のリソースにアクセスすることを許可または拒否していることを識別し、全てのアプリケーションが(例えば、1つ以上の条件下で、もしくは条件には関係なく)その特定のリソースに常にアクセスできるようにユーザが許可を与えている、もしくは全てのアプリケーションが(例えば、1つ以上の条件下で、もしくは条件には関係なく)その特定のリソースにアクセスすることを禁止していることを提言する。
このため、クライアントデバイスのオペレーティングシステムとは異なる信頼性の高い許可アプリケーション(例えば、図3の許可モジュール342)を使用することによって、ユーザはどのアプリケーションがデバイスリソースにアクセスする許可を要求しているのかを高い信頼性で識別できるとともに、そのようなアクセス許可を細かなレベルで管理することができる。その結果、ユーザはデバイス上のアプリケーションを使用する際により高い信頼性とセキュリティを得ることができる。また、オペレーティングシステムとは別の独立した信頼性の高いアプリケーションを使用することによって、アクセス許可機能の柔軟性と透過性に影響を及ぼし得る、オペレーティングシステムに対するシステム全体の更新からその信頼性の高い許可アプリケーションが分離されるようになるため、より広い範囲のデバイスとの互換性を向上させることができる。
上述したシステムがユーザの情報を収集する状況において、ユーザには、個人情報(例えば、ソーシャルコンテンツプロバイダに対するユーザの好みまたはユーザの貢献に関する情報)を収集可能なプログラムまたは機構をオプトイン/オプトアウトする機会が提供されてもよい。また、いくつかの実施形態では、特定のデータが記憶または使用される前に1つ以上の方法でそれが非特定化されて、個人を識別可能な情報が除去されるようにしてもよい。例えば、ユーザについて個人を識別可能な情報が判別不可となるようにまたはそのユーザに関連付けされないようにユーザの身元が匿名化されてもよく、これにより、ユーザの好みまたはユーザインタラクションを、特定のユーザに関連付けるのではなく一般化する(例えば、ユーザの人口統計に基づいて一般化する)ことができる。
種々の図面のいくつかは特定の順序で多数の論理工程を示しているが、順序に依存しない工程を並べ替えてもよく、また、他の工程を組み合わせたり省略したりしてもよい。いくつかの並べ替えまたはグループ分けを特定して説明したが、他のものも当業者には明らかであり、本明細書で説明する順序付けおよびグループ分けは代替案のリストを網羅するものではない。さらに、工程は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組み合わせで実施できることが認識され得る。
以上、特定の実施形態を参照して説明したが、上述した例示的な説明は網羅的であることを意図したものでなく、開示された厳密な形態に特許請求の範囲を限定することを意図したものでもない。上述した教示を考慮して、多くの変更および変形が可能である。実施形態は、特許請求の範囲およびその実用的な適用の基本となる原理を最もよく説明するために選択され、当業者が考えられる特定の用途に適した様々な変更を加えた実施形態を最適な形で使用することができる。

Claims (33)

  1. 方法であって、
    1つ以上のプロセッサと、前記1つ以上のプロセッサにより実行するための命令を格納したメモリとを備える電子デバイスにおいて、
    前記電子デバイスのオペレーティングシステム上で動作する第1のアプリケーションから前記電子デバイスのオペレーティングシステム上で動作する第2のアプリケーションに、前記第1のアプリケーションが前記電子デバイスのリソースにアクセスするための第1の要求を送ること、
    前記第1の要求に応答して、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を前記電子デバイスのユーザに求めること、
    前記第1のアプリケーションが前記リソースにアクセスするための許可を与える第1のユーザ入力を受信すること、および
    前記第1のユーザ入力に応答して、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を与えること
    を備える方法。
  2. 前記リソースは、
    前記電子デバイスのマイクロフォン、
    前記電子デバイスのメッセージングアプリケーション、
    前記電子デバイスの位置追跡デバイス、および
    前記電子デバイスのカメラ
    からなる群から選択される、請求項1に記載の方法。
  3. 前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を与えることは、
    前記第2のアプリケーションを使用して前記リソースからデータを取得すること、および
    前記第2のアプリケーションから前記第1のアプリケーションに前記データを提供すること
    を含む、請求項1に記載の方法。
  4. 前記第1のユーザ入力は、前記第1のアプリケーションが前記リソースにアクセスすることを1度のみ許可することを指定するものであり、前記方法は、前記第1のユーザ入力を受信し、前記第1のユーザ入力に応答して、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスする許可を与えた後に、
    前記第1のアプリケーションが前記リソースにアクセスするための第2の要求を前記第1のアプリケーションから前記第2のアプリケーションに送ること、
    前記第2の要求に応答して、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を前記ユーザに求めること、
    前記第1のアプリケーションが前記リソースにアクセスするための許可を与えるか否かを示す第2のユーザ入力を受信すること、および
    前記第2のユーザ入力に従って、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスすることを許可または拒否すること
    をさらに備える、請求項1に記載の方法。
  5. 前記第1の要求に応答して、前記第1のアプリケーションが前記リソースにアクセスすることを許可する権限が現時点で前記第2のアプリケーションに与えられていないと判定することをさらに備え、
    前記判定に応答して、前記第1のアプリケーションが前記リソースにアクセスするための許可を前記ユーザに求める、請求項1に記載の方法。
  6. 前記第1のユーザ入力は、前記第1のアプリケーションが前記リソースにアクセスすることを許可する期間を指定するものであり、前記方法は、
    前記第1のユーザ入力に従って、前記期間の間、前記第2のアプリケーションを繰り返し使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を自動的に与えることをさらに備える、請求項1に記載の方法。
  7. 前記第1のユーザ入力は、前記第1のアプリケーションが前記リソースにアクセスすることを許可する許可位置を指定するものであり、前記方法は、
    前記第1のユーザ入力に従って、前記電子デバイスの検出位置が前記許可位置に対応する間、前記第2のアプリケーションを繰り返し使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を自動的に与えることをさらに備える、請求項1に記載の方法。
  8. 前記第1のユーザ入力は、前記第1のアプリケーションが前記リソースにアクセスすることを許可する許可ユーザを指定するものであり、前記方法は、
    前記第1のユーザ入力に従って、前記電子デバイスのユーザが前記許可ユーザであると判定されたときに、前記第2のアプリケーションを繰り返し使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を自動的に与えることをさらに備える、請求項1に記載の方法。
  9. 前記第1のユーザ入力は、前記第1のアプリケーションが前記リソースにアクセスすることを許可する条件を指定するものであり、前記方法は、
    前記第2のアプリケーションに割り当てられたメモリに前記条件を格納すること、および
    前記第2のアプリケーションにおいて、前記第1のアプリケーションからの後続の要求に応答して、前記条件を使用して、前記第1のアプリケーションが前記リソースにアクセスすることを許可するか否かを判定すること
    をさらに備える、請求項1に記載の方法。
  10. 前記条件は、前記第1のアプリケーションに対応するフォアグラウンドプロセスによる前記リソースへのアクセスを許可するが、前記第1のアプリケーションに対応するバックグラウンドプロセスに対してはアクセスを許可しない、請求項9に記載の方法。
  11. 前記条件は、前記第1のアプリケーションに対応するバックグラウンドプロセスによる前記リソースへのアクセスを許可するが、前記第1のアプリケーションに対応するフォアグラウンドプロセスに対してはアクセスを許可しない、請求項9に記載の方法。
  12. 前記リソースは、前記電子デバイスの位置追跡デバイスを含み、
    前記第1のユーザ入力は、前記位置追跡デバイスへのアクセスに関して前記第1のアプリケーションに対して許可すべき分解能の度合いを指定するものである、請求項1に記載の方法。
  13. 前記第1のユーザ入力は、位置追跡の分解能を低分解能と高分解能との間で選択するものである、請求項12に記載の方法。
  14. 前記リソースにアクセスするために前記第1のアプリケーションから送られた要求の数を或る期間に亘って判定すること、および
    前記要求の数が閾値を満たすことに応じて、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスすることを拒否すること
    をさらに備える請求項1に記載の方法。
  15. 前記要求の数が前記閾値を満たすことに応じて、前記電子デバイスの前記ユーザにアラートを通知することをさらに備える請求項14に記載の方法。
  16. 前記第1のアプリケーションから前記第2のアプリケーションに前記第1のアプリケーションが前記リソースにアクセスするための前記第1の要求を含む複数の要求を送ること、
    前記複数の要求のレコードを格納すること、および
    前記レコードに基づいて、前記複数の要求に関する1つ以上の統計情報を前記ユーザに提示すること
    をさらに備える請求項1に記載の方法。
  17. 前記第1のアプリケーションから前記第2のアプリケーションに前記第1のアプリケーションが前記リソースにアクセスするための前記第1の要求を含む複数の要求を送ること、
    前記複数の要求のそれぞれに応答して、前記第1のアプリケーションが前記リソースにアクセスするための許可を前記ユーザに求め、前記第1のアプリケーションが前記リソースにアクセスすることを許可または拒否するユーザ入力をそれぞれ受信すること、
    前記複数の要求のそれぞれのレコード、それぞれの前記ユーザ入力、および前記電子デバイスのそれぞれのコンテキスト情報を格納すること、および
    前記レコードに基づいて、前記リソースへの前記第1のアプリケーションのアクセスを許可または拒否する条件の推奨を前記ユーザに提示すること
    をさらに備える請求項1に記載の方法。
  18. 前記コンテキスト情報は、それぞれの前記ユーザ入力を受信したときの前記電子デバイスの位置およびそれぞれの前記ユーザ入力を受信した回数のうちの少なくとも1つを含む、請求項17に記載の方法。
  19. 電子デバイスであって、
    1つ以上のプロセッサと、
    前記1つ以上のプロセッサにより実行するための1つ以上のプログラムを格納したメモリと、を備え、前記1つ以上のプログラムは、
    前記電子デバイスのオペレーティングシステム上で動作する第1のアプリケーションから前記電子デバイスのオペレーティングシステム上で動作する第2のアプリケーションに、前記第1のアプリケーションが前記電子デバイスのリソースにアクセスするための第1の要求を送ること、
    前記第1の要求に応答して、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を前記電子デバイスのユーザに求めること、および
    前記第1のアプリケーションが前記リソースにアクセスするための許可を与える第1のユーザ入力に応答して、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を与えること
    を実行するための命令を含む、電子デバイス。
  20. 電子デバイスの1つ以上のプロセッサによって実行するための1つ以上のプログラムを格納した非一時的なコンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、第1のアプリケーションと異なる第2のアプリケーションであって、前記第1および第2のアプリケーションが動作する前記電子デバイスのオペレーティングシステムとは異なる前記第2のアプリケーションに対応し、前記1つ以上のプログラムは、
    前記第1のアプリケーションから、前記第1のアプリケーションが前記電子デバイスのリソースにアクセスするための第1の要求を受信すること、
    前記第1の要求に応答して、前記第1のアプリケーションが前記リソースにアクセスするための許可を前記電子デバイスのユーザに求めること、および
    前記第1のアプリケーションが前記リソースにアクセスするための許可を与える第1のユーザ入力に応答して、前記第1のアプリケーションが前記リソースにアクセスするための許可を与えること
    を実行するための命令を含む、非一時的なコンピュータ可読記憶媒体。
  21. 前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を与えることは、
    前記第2のアプリケーションを使用して前記リソースからデータを取得すること、および、
    前記第2のアプリケーションから前記第1のアプリケーションに前記データを提供すること
    を含む、請求項1または2に記載の方法。
  22. 前記第1のユーザ入力は、前記第1のアプリケーションが前記リソースにアクセスすることを1度のみ許可することを指定するものであり、前記方法は、前記第1のユーザ入力を受信し、前記第1のユーザ入力に応答して、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスする許可を与えた後に、
    前記第1のアプリケーションが前記リソースにアクセスするための第2の要求を前記第1のアプリケーションから前記第2のアプリケーションに送ること、
    前記第2の要求に応答して、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を前記ユーザに求めること、
    前記第1のアプリケーションが前記リソースにアクセスするための許可を与えるか否かを示す第2のユーザ入力を受信すること、および
    前記第2のユーザ入力に従って、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスすることを許可または拒否すること
    をさらに備える、請求項1、2、21のいずれか一項に記載の方法。
  23. 前記第1の要求に応答して、前記第1のアプリケーションが前記リソースにアクセスすることを許可する権限が現時点で前記第2のアプリケーションに与えられていないと判定することをさらに備え、
    前記判定に応答して、前記第1のアプリケーションが前記リソースにアクセスするための許可を前記ユーザに求める、請求項1、2、21、22のいずれか一項に記載の方法。
  24. 前記第1のユーザ入力は、前記第1のアプリケーションが前記リソースにアクセスすることを許可する期間を指定するものであり、前記方法は、
    前記第1のユーザ入力に従って、前記期間の間、前記第2のアプリケーションを繰り返し使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を自動的に与えることをさらに備える、請求項1、2、21〜23のいずれか一項に記載の方法。
  25. 前記第1のユーザ入力は、前記第1のアプリケーションが前記リソースにアクセスすることを許可する許可位置を指定するものであり、前記方法は、
    前記第1のユーザ入力に従って、前記電子デバイスの検出位置が前記許可位置に対応する間、前記第2のアプリケーションを繰り返し使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を自動的に与えることをさらに備える、請求項1、2、21〜24のいずれか一項に記載の方法。
  26. 前記第1のユーザ入力は、前記第1のアプリケーションが前記リソースにアクセスすることを許可する許可ユーザを指定するものであり、前記方法は、
    前記第1のユーザ入力に従って、前記電子デバイスのユーザが前記許可ユーザであると判定されたときに、前記第2のアプリケーションを繰り返し使用して、前記第1のアプリケーションが前記リソースにアクセスするための許可を自動的に与えることをさらに備える、請求項1、2、21〜25のいずれか一項に記載の方法。
  27. 前記第1のユーザ入力は、前記第1のアプリケーションが前記リソースにアクセスすることを許可する条件を指定するものであり、前記方法は、
    前記第2のアプリケーションに割り当てられたメモリに前記条件を格納すること、および
    前記第2のアプリケーションにおいて、前記第1のアプリケーションからの後続の要求に応答して、前記条件を使用して、前記第1のアプリケーションが前記リソースにアクセスすることを許可するか否かを判定すること
    をさらに備え、
    前記条件は、
    前記第1のアプリケーションに対応するフォアグラウンドプロセスによって前記リソースにアクセスすることを許可するが、前記第1のアプリケーションに対応するバックグラウンドプロセスに対してはアクセスを許可しないものであり、および/または、
    前記第1のアプリケーションに対応するバックグラウンドプロセスによって前記リソースにアクセスすることを許可するが、前記第1のアプリケーションに対応するフォアグラウンドプロセスに対してはアクセスを許可しないものである、請求項1、2、21〜26のいずれか一項に記載の方法。
  28. 前記リソースは、前記電子デバイスの位置追跡デバイスを含み、
    前記第1のユーザ入力は、前記位置追跡デバイスへのアクセスに関して前記第1のアプリケーションに対して許可すべき分解能の度合いを指定するものであり、
    前記第1のユーザ入力は、位置追跡の分解能を低分解能と高分解能との間で選択するものである、請求項1、2、21〜27のいずれか一項に記載の方法。
  29. 前記リソースにアクセスするために前記第1のアプリケーションから送られた要求の数を或る期間に亘って判定すること、
    前記要求の数が閾値を満たすことに応じて、前記第2のアプリケーションを使用して、前記第1のアプリケーションが前記リソースにアクセスすることを拒否すること、および
    前記要求の数が前記閾値を満たすことに応じて、前記電子デバイスの前記ユーザにアラートを通知すること
    をさらに備える請求項1、2、21〜28のいずれか一項に記載の方法。
  30. 前記第1のアプリケーションから前記第2のアプリケーションに前記第1のアプリケーションが前記リソースにアクセスするための前記第1の要求を含む複数の要求を送ること、
    前記複数の要求のレコードを格納すること、および
    前記レコードに基づいて、前記複数の要求に関する1つ以上の統計情報を前記ユーザに提示すること
    をさらに備える請求項1、2、21〜29のいずれか一項に記載の方法。
  31. 前記第1のアプリケーションから前記第2のアプリケーションに前記第1のアプリケーションが前記リソースにアクセスするための前記第1の要求を含む複数の要求を送ること、
    前記複数の要求のそれぞれに応答して、前記第1のアプリケーションが前記リソースにアクセスするための許可を前記ユーザに求め、前記第1のアプリケーションが前記リソースにアクセスすることを許可または拒否するユーザ入力をそれぞれ受信すること、
    前記複数の要求のそれぞれのレコード、それぞれの前記ユーザ入力、および前記電子デバイスのそれぞれのコンテキスト情報を格納すること、および
    前記レコードに基づいて、前記リソースへの前記第1のアプリケーションのアクセスを許可または拒否する条件の推奨を前記ユーザに提示すること
    をさらに備え、
    前記コンテキスト情報は、それぞれの前記ユーザ入力を受信したときの前記電子デバイスの位置、およびそれぞれの前記ユーザ入力を受信した回数のうちの少なくとも1つを含む、請求項1、2、21〜30のいずれか一項に記載の方法。
  32. 請求項1、2、21〜31のいずれか一項に記載の方法を行うべく実行される際に動作可能なソフトウェアを具現化する1つ以上の非一時的なコンピュータ可読記憶媒体。
  33. 1つ以上のプロセッサと、前記プロセッサに接続され、前記プロセッサにより実行可能な命令を含む少なくとも1つのメモリとを備えたシステムであって、前記プロセッサは、請求項1、2、21〜31のいずれか一項に記載の方法を行うべく前記命令を実行する際に動作可能である、システム。
JP2017535032A 2014-12-30 2014-12-31 モバイルデバイスのリソースへのアクセス許可を管理するための方法およびシステム Active JP6727211B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/586,072 2014-12-30
US14/586,072 US9977911B2 (en) 2014-12-30 2014-12-30 Methods and systems for managing permissions to access mobile device resources
PCT/US2014/073059 WO2016108911A1 (en) 2014-12-30 2014-12-31 Methods and systems for managing permissions to access mobile device resources

Publications (2)

Publication Number Publication Date
JP2018508857A true JP2018508857A (ja) 2018-03-29
JP6727211B2 JP6727211B2 (ja) 2020-07-22

Family

ID=56165707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017535032A Active JP6727211B2 (ja) 2014-12-30 2014-12-31 モバイルデバイスのリソースへのアクセス許可を管理するための方法およびシステム

Country Status (10)

Country Link
US (1) US9977911B2 (ja)
JP (1) JP6727211B2 (ja)
KR (1) KR102291201B1 (ja)
CN (1) CN107430531B (ja)
AU (1) AU2014415583A1 (ja)
BR (1) BR112017014135A2 (ja)
CA (1) CA2972646A1 (ja)
IL (1) IL253215A0 (ja)
MX (1) MX369302B (ja)
WO (1) WO2016108911A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021500641A (ja) * 2017-10-26 2021-01-07 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 電子デバイスにおけるハードウェアリソースアクセスを管理するための方法および装置
JP2021051694A (ja) * 2019-09-26 2021-04-01 株式会社ジェーシービー プログラム、情報処理装置、及び情報処理方法
JP2022517741A (ja) * 2019-01-23 2022-03-10 華為技術有限公司 アプリケーション許可を管理する方法及び電子デバイス

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9886160B2 (en) * 2013-03-15 2018-02-06 Google Llc Managing audio at the tab level for user notification and control
US9473883B2 (en) 2014-05-31 2016-10-18 Apple Inc. Location service authorization and indication
US9591443B2 (en) * 2015-06-01 2017-03-07 Apple Inc. Location service management
US9836596B2 (en) * 2015-07-08 2017-12-05 Google Inc. Methods and systems for controlling permission requests for applications on a computing device
US9917841B1 (en) * 2015-07-30 2018-03-13 Sprint Communications Company L.P. Branding and improper operation detection on a user equipment
US10127398B2 (en) * 2015-09-18 2018-11-13 Rovi Guides, Inc. Methods and systems for implementing parental controls
US9973502B2 (en) * 2015-09-18 2018-05-15 Rovi Guides, Inc. Methods and systems for automatically adjusting parental controls
CA3003428A1 (en) * 2015-10-27 2017-05-04 Blackberry Limited Monitoring resource access
US20170195250A1 (en) * 2016-01-06 2017-07-06 Google Inc. Automatic data restrictions based on signals
US11055439B2 (en) * 2016-01-25 2021-07-06 Micro Focus Llc Confirmation message determinations
US11743203B2 (en) * 2016-02-17 2023-08-29 Blackberry Limited Managing resource access
US10838846B1 (en) 2016-05-16 2020-11-17 Jpmorgan Chase Bank, N.A. Method and system for implementing an automation software testing and packaging framework
US10489278B2 (en) * 2016-05-16 2019-11-26 Jpmorgan Chase Bank, N.A. Method and system for implementing an automation software testing and packaging framework with entitlements
US10956586B2 (en) 2016-07-22 2021-03-23 Carnegie Mellon University Personalized privacy assistant
US10262157B2 (en) * 2016-09-28 2019-04-16 International Business Machines Corporation Application recommendation based on permissions
EP3516570B1 (en) * 2016-10-14 2020-12-23 Huawei Technologies Co., Ltd. Apparatus and method for tracking access permissions over multiple execution environments
US20180365556A1 (en) * 2017-07-31 2018-12-20 Seematics Systems Ltd System and method for generating and using descriptors of artificial neural networks
US11403540B2 (en) * 2017-08-11 2022-08-02 Google Llc On-device machine learning platform
KR102405752B1 (ko) * 2017-08-23 2022-06-08 삼성전자주식회사 어플리케이션 프로그램의 권한을 제어하는 방법 및 전자 장치
KR102477043B1 (ko) * 2017-11-08 2022-12-14 삼성전자주식회사 전자 장치 및 그의 제어 방법
US11989774B1 (en) 2017-11-20 2024-05-21 Wells Fargo Bank, N.A. Systems and methods for providing digital trusted data
WO2019195205A1 (en) * 2018-04-02 2019-10-10 Jpmorgan Chase Bank, N.A. Method and system for implementing an automation software testing and packaging framework with entitlements
US10831904B2 (en) * 2018-04-09 2020-11-10 International Business Machines Corporation Automatically discovering attribute permissions
CN108985088A (zh) * 2018-07-25 2018-12-11 江阴嘉恒软件技术有限公司 一种控制计算机数据访问的方法
US20200285761A1 (en) * 2019-03-07 2020-09-10 Lookout, Inc. Security policy manager to configure permissions on computing devices
US11301569B2 (en) 2019-03-07 2022-04-12 Lookout, Inc. Quarantine of software based on analysis of updated device data
US20210150052A1 (en) * 2019-11-18 2021-05-20 Salesforce.Com, Inc. Collecting, displaying, and/or storing information pertaining to consent
US20210192651A1 (en) 2019-12-20 2021-06-24 Cambrian Designs, Inc. System & Method for Analyzing Privacy Policies
CN114730447A (zh) * 2020-02-10 2022-07-08 松下知识产权经营株式会社 信息提供方法
US20210344664A1 (en) * 2020-04-29 2021-11-04 Motorola Mobility Llc Methods, Systems, and Electronic Devices for Selective Locational Preclusion of Access to Content
US11562052B2 (en) * 2020-08-31 2023-01-24 Procore Technologies, Inc. Computing system and method for verification of access permissions
KR20220051981A (ko) * 2020-10-20 2022-04-27 삼성전자주식회사 전자 장치 및 그 제어 방법
KR20220069715A (ko) * 2020-11-20 2022-05-27 삼성전자주식회사 전자 장치 및 접근 이벤트 시청각화 방법
US20220207636A1 (en) * 2020-12-24 2022-06-30 Mcafee, Llc Methods and apparatus for managing and online transactions involving personal data
KR102541033B1 (ko) * 2022-11-28 2023-06-13 프로티앤에스(주) 사용자 직책 및 업무 기반 pc 권한 제어 장치 및 방법

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044297A (ja) * 2000-11-20 2003-02-14 Humming Heads Inc コンピュータリソースの制御を行なう情報処理方法および装置、情報処理システム及びその制御方法並びに記憶媒体、プログラム
JP2006216061A (ja) * 2005-02-04 2006-08-17 Soc Francaise Du Radiotelephone 携帯電話におけるアプリケーション実行用のセキュリティ保護された管理方法
US8255991B1 (en) * 2009-08-17 2012-08-28 Google Inc. Computer application pre-permissioning
US20120222083A1 (en) * 2011-02-28 2012-08-30 Nokia Corporation Method and apparatus for enforcing data privacy
JP2013182500A (ja) * 2012-03-02 2013-09-12 Kddi Corp Api実行制御装置およびプログラム
US8656465B1 (en) * 2011-05-09 2014-02-18 Google Inc. Userspace permissions service
US20140196158A1 (en) * 2013-01-10 2014-07-10 Lookout, Inc. Method and system for protecting privacy and enhancing security on an electronic device
JP2014532245A (ja) * 2011-10-12 2014-12-04 マカフィー, インコーポレイテッド モバイルネットワーク環境における特権使用に閾レベルを与えるシステム及び方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678824B1 (en) * 1999-11-02 2004-01-13 Agere Systems Inc. Application usage time limiter
US7313822B2 (en) 2001-03-16 2007-12-25 Protegrity Corporation Application-layer security method and system
US7865884B1 (en) * 2005-06-03 2011-01-04 Apple Inc. Typed-data translation for platform independence
US9177124B2 (en) * 2006-03-01 2015-11-03 Oracle International Corporation Flexible authentication framework
US7676811B2 (en) * 2006-03-23 2010-03-09 Microsoft Corporation Ensuring thread affinity for interprocess communication in a managed code environment
US8141140B2 (en) * 2008-05-23 2012-03-20 Hsbc Technologies Inc. Methods and systems for single sign on with dynamic authentication levels
US20100242097A1 (en) 2009-03-20 2010-09-23 Wavemarket, Inc. System and method for managing application program access to a protected resource residing on a mobile device
US8683554B2 (en) * 2009-03-27 2014-03-25 Wavemarket, Inc. System and method for managing third party application program access to user information via a native application program interface (API)
US8689277B2 (en) * 2010-01-13 2014-04-01 Andrew Llc Method and system for providing location of target device using stateless user information
EP2625646B1 (en) * 2010-10-06 2022-06-22 Citrix Systems Inc. Mediating resource access based on a physical location of a mobile device
JP5701111B2 (ja) * 2011-03-14 2015-04-15 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US9440144B2 (en) 2011-04-21 2016-09-13 Sony Interactive Entertainment Inc. User identified to a controller
US9053337B2 (en) * 2011-06-07 2015-06-09 Blackberry Limited Methods and devices for controlling access to a computing resource by applications executable on a computing device
US9317834B2 (en) * 2011-06-30 2016-04-19 Microsoft Technology Licensing, Llc User computing device with personal agent program for recommending meeting a friend at a service location based on current location, travel direction, and calendar activity
KR101295709B1 (ko) * 2011-08-24 2013-09-16 주식회사 팬택 백그라운드 프로세스에 대한 보안 정보 제공 장치 및 방법
WO2014032049A2 (en) 2012-08-24 2014-02-27 Environmental Systems Research Institute, Inc. Systems and methods for managing location data and providing a privacy framework
ES2626552T3 (es) * 2013-08-23 2017-07-25 Huawei Device Co., Ltd. Método y aparato de gestión de permisos y terminal
US9230134B1 (en) * 2014-01-17 2016-01-05 Google Inc. Privacy setting metadata for application developers
US9489524B2 (en) * 2014-05-23 2016-11-08 Blackberry Limited Intra-application permissions on an electronic device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044297A (ja) * 2000-11-20 2003-02-14 Humming Heads Inc コンピュータリソースの制御を行なう情報処理方法および装置、情報処理システム及びその制御方法並びに記憶媒体、プログラム
JP2006216061A (ja) * 2005-02-04 2006-08-17 Soc Francaise Du Radiotelephone 携帯電話におけるアプリケーション実行用のセキュリティ保護された管理方法
US8255991B1 (en) * 2009-08-17 2012-08-28 Google Inc. Computer application pre-permissioning
US20120222083A1 (en) * 2011-02-28 2012-08-30 Nokia Corporation Method and apparatus for enforcing data privacy
US8656465B1 (en) * 2011-05-09 2014-02-18 Google Inc. Userspace permissions service
JP2014532245A (ja) * 2011-10-12 2014-12-04 マカフィー, インコーポレイテッド モバイルネットワーク環境における特権使用に閾レベルを与えるシステム及び方法
JP2013182500A (ja) * 2012-03-02 2013-09-12 Kddi Corp Api実行制御装置およびプログラム
US20140196158A1 (en) * 2013-01-10 2014-07-10 Lookout, Inc. Method and system for protecting privacy and enhancing security on an electronic device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021500641A (ja) * 2017-10-26 2021-01-07 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 電子デバイスにおけるハードウェアリソースアクセスを管理するための方法および装置
JP7020630B2 (ja) 2017-10-26 2022-02-16 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 電子デバイスにおけるハードウェアリソースアクセスを管理するための方法および装置
JP2022517741A (ja) * 2019-01-23 2022-03-10 華為技術有限公司 アプリケーション許可を管理する方法及び電子デバイス
JP7348289B2 (ja) 2019-01-23 2023-09-20 華為技術有限公司 アプリケーション許可を管理する方法及び電子デバイス
US11868463B2 (en) 2019-01-23 2024-01-09 Huawei Technologies Co., Ltd. Method for managing application permission and electronic device
JP2021051694A (ja) * 2019-09-26 2021-04-01 株式会社ジェーシービー プログラム、情報処理装置、及び情報処理方法
JP7285185B2 (ja) 2019-09-26 2023-06-01 株式会社ジェーシービー プログラム、情報処理装置、及び情報処理方法

Also Published As

Publication number Publication date
CN107430531A (zh) 2017-12-01
IL253215A0 (en) 2017-08-31
MX2017008742A (es) 2017-10-19
KR20170104145A (ko) 2017-09-14
JP6727211B2 (ja) 2020-07-22
CA2972646A1 (en) 2016-07-07
WO2016108911A1 (en) 2016-07-07
AU2014415583A1 (en) 2017-07-20
KR102291201B1 (ko) 2021-08-20
US9977911B2 (en) 2018-05-22
CN107430531B (zh) 2020-06-16
MX369302B (es) 2019-11-04
BR112017014135A2 (pt) 2018-01-02
US20160191534A1 (en) 2016-06-30

Similar Documents

Publication Publication Date Title
JP6727211B2 (ja) モバイルデバイスのリソースへのアクセス許可を管理するための方法およびシステム
US9769122B2 (en) Anonymous single sign-on to third-party systems
US20200026402A1 (en) Methods and Systems for Providing User Feedback
US9003556B2 (en) Techniques for in-app user data authorization
US9286642B2 (en) Content access management in a social networking system for externally stored content
CA2796944C (en) Personalizing a web page outside of a social networking system with content from the social networking system
US9189819B2 (en) Personalizing an application with content from a social networking system
US20160188671A1 (en) Methods and Systems for Recommending Applications
US10033776B2 (en) Methods and systems for accessing relevant content
US9947031B2 (en) Content access management in a social networking system for locally stored content
US10972528B2 (en) Methods and systems for accessing third-party services within applications
US20160006721A1 (en) Providing Social Network Content Based on the Login State of a User
US10701021B2 (en) Communication platform for minors
US10003590B2 (en) Methods and systems for linking untrusted applications to server systems
EP3040899B1 (en) Methods and systems for managing permissions to access mobile device resources
US10715477B2 (en) Communication platform for minors
EP3282416A1 (en) Methods and systems for accessing third-party services within applications
EP3460741A1 (en) Communication platform for minors

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180104

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190514

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200414

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: 20200602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200630

R150 Certificate of patent or registration of utility model

Ref document number: 6727211

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250