(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-28
(45)【発行日】2024-11-06
(54)【発明の名称】共有可能な位置を変更する方法、システム、プログラム
(51)【国際特許分類】
G06F 21/62 20130101AFI20241029BHJP
G06Q 50/00 20240101ALI20241029BHJP
【FI】
G06F21/62 345
G06Q50/00 300
(21)【出願番号】P 2022546713
(86)(22)【出願日】2021-02-01
(86)【国際出願番号】 IB2021050789
(87)【国際公開番号】W WO2021156729
(87)【国際公開日】2021-08-12
【審査請求日】2023-07-21
(32)【優先日】2020-02-05
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】シュナイダー、スコット
(72)【発明者】
【氏名】ハーディー、クリストファー
(72)【発明者】
【氏名】クワトラ、シカール
(72)【発明者】
【氏名】ジョロフ、スティーブン
【審査官】岸野 徹
(56)【参考文献】
【文献】特開2014-191414(JP,A)
【文献】特開2019-139654(JP,A)
【文献】特表2016-535327(JP,A)
【文献】特開2013-118433(JP,A)
【文献】米国特許第08909250(US,B1)
【文献】特表2013-543187(JP,A)
【文献】特開2016-081509(JP,A)
【文献】特開2010-113448(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-88
G06Q 50/00
(57)【特許請求の範囲】
【請求項1】
ソーシャル・ネットワーキング・システムの情報処理による方法であって、前記方法が、
ソーシャル・ネットワーキングの投稿を、前記ソーシャル・ネットワーキングの投稿の位置分解能を変更するように構成された位置精度モデルに入力することであって、
前記位置精度モデルがユーザ・デバイスに格納され、前記ソーシャル・ネットワーキングの投稿が、前記ユーザ・デバイスから受信され、前記ソーシャル・ネットワーキングの投稿が作成された時間(第1の時間)および共有可能な位置に関連付けられる、前記入力することと、
変更された共有可能な位置を含む前記ソーシャル・ネットワーキングの投稿を公開することであって、前記変更された共有可能な位置が、前記共有可能な位置の一般化されたバージョンである、前記公開することと、
前記位置精度モデルに関連付けられたパラメータが満たされているということを決定することと、
更新された変更済みの共有可能な位置を含むように前記ソーシャル・ネットワーキングの投稿を変更することであって、前記更新された変更済みの共有可能な位置が、前記変更された共有可能な位置よりも具体的であり、前記共有可能な位置よりも具体的でない、前記変更することとを含む、
方法。
【請求項2】
前記更新された変更済みの共有可能な位置が、前記第1の時間と現在の時間の間の時間の量に基づく、請求項1に記載の方法。
【請求項3】
前記変更された共有可能な位置が、
前記共有可能な位置と前記ソーシャル・ネットワーキングの投稿を作成したユーザ・デバイスの現在の位置の間の距離に基づく、請求項1に記載の方法。
【請求項4】
前記方法が、
前記位置精度モデルに関連付けられた第2のパラメータが満たされているということを決定することと、
前記共有可能な位置を含むように前記ソーシャル・ネットワーキングの投稿を変更することとをさらに含む、請求項1に記載の方法。
【請求項5】
前記パラメータが、前記第1の時間と現在の時間の間の時間の量であり、前記時間の量が時間しきい値より大きい、請求項1に記載の方法。
【請求項6】
前記パラメータが、前記共有可能な位置と
前記ソーシャル・ネットワーキングの投稿を作成したユーザ・デバイスの現在の位置の間の距離であり、前記距離が距離しきい値より大きい、請求項1に記載の方法。
【請求項7】
前記距離が、少なくとも期間しきい値に等しい時間の量の間、前記距離しきい値より大きい、請求項
6に記載の方法。
【請求項8】
前記パラメータが、前記第1の時間と現在の時間の間の時間の量および前記共有可能な位置と
前記ソーシャル・ネットワーキングの投稿を作成したユーザ・デバイスの現在の位置の間の距離に基づくスコアであり、前記スコアがスコアしきい値より大きい、請求項1に記載の方法。
【請求項9】
少なくとも期間しきい値の間、前記共有可能な位置と前記現在の位置の間の前記距離が距離しきい値より大きく、前記第1の時間と前記現在の時間の間の前記時間が時間しきい値より大きいことに応じて、前記スコアが前記スコアしきい値を満たす、請求項
8に記載の方法。
【請求項10】
前記第1の時間と前記現在の時間の間の前記時間の量が第1の重みパラメータに関連付けられ、前記共有可能な位置と前記現在の位置の間の前記距離が第2の重みパラメータに関連付けられる、請求項
8に記載の方法。
【請求項11】
前記位置精度モデルがオントロジー位置分解能モデルに基づき、前記オントロジー位置分解能モデルが位置の具体性のオントロジー階層を含む、請求項1に記載の方法。
【請求項12】
前記位置精度モデルが離散化位置分解能モデルに基づき、前記離散化位置分解能モデルが可変マップ分解能を含む、請求項1に記載の方法。
【請求項13】
前記位置精度モデルがランダム化位置分解能モデルに基づき、前記ランダム化位置分解能モデルが前記共有可能な位置の変化する部分をランダム化するように構成される、請求項1に記載の方法。
【請求項14】
前記方法が、リモートのデータ処理システムからソーシャル・ネットワーキング・システムにダウンロードされたソフトウェアに従って実行される、請求項1に記載の方法。
【請求項15】
前記方法が、
前記ソフトウェアの使用を計測することと、
前記使用の計測に基づいてインボイスを生成することとをさらに含む、請求項
14に記載の方法。
【請求項16】
請求項1ないし
15のいずれか1項に記載の方法を、
ソーシャル・ネットワーキング・システムのハードウェアによって実行する、システム。
【請求項17】
1つまたは複数のコンピュータ可読ストレージ媒体と、前記1つまたは複数のコンピュータ可読ストレージ媒体に集合的に格納されたプログラム命令とを備えているコンピュータ・プログラム製品であって、前記プログラム命令が、1つまたは複数のプロセッサに、
ソーシャル・ネットワーキングの投稿を、前記ソーシャル・ネットワーキングの投稿の位置分解能を変更するように構成された位置精度モデルに入力することであって、
前記位置精度モデルがユーザ・デバイスに格納され、前記ソーシャル・ネットワーキングの投稿が、前記ユーザ・デバイスから受信され、前記ソーシャル・ネットワーキングの投稿が作成された時間(第1の時間)および共有可能な位置に関連付けられる、前記入力することと、
変更された共有可能な位置を含む前記ソーシャル・ネットワーキングの投稿を公開することであって、前記変更された共有可能な位置が、前記共有可能な位置の一般化されたバージョンである、前記公開することと、
前記位置精度モデルに関連付けられたパラメータが満たされているということを決定することと、
更新された変更済みの共有可能な位置を含むように前記ソーシャル・ネットワーキングの投稿を変更することであって、前記更新された変更済みの共有可能な位置が、前記変更された共有可能な位置よりも具体的であり、前記共有可能な位置よりも具体的でない、前記変更することとを含んでいる方法を集合的に実行させるように構成される、コンピュータ・プログラム製品。
【請求項18】
ユーザ・デバイスの情報処理による方法であって、前記方法が、
ユーザ・デバイスから受信されたソーシャル・ネットワーキングの投稿を、前記ユーザ・デバイス上のアプリケーションとして実行されている位置精度モデルに入力することであって、前記ソーシャル・ネットワーキングの投稿が
前記ソーシャル・ネットワーキングの投稿が作成された時間(第1の時間)および共有可能な位置に関連付けられる、前記入力することと、
前記位置精度モデルによって、変更された共有可能な位置を出力することと、
前記変更された共有可能な位置を含む前記ソーシャル・ネットワーキングの投稿をソーシャル・ネットワーキング・システムに送信することであって、前記変更された共有可能な位置が前記共有可能な位置の一般化されたバージョンである、前記送信することとを含む、
方法。
【請求項19】
第2の時間に、更新された変更済みの共有可能な位置を含む前記ソーシャル・ネットワーキングの投稿を前記ソーシャル・ネットワーキング・システムに送信することをさらに含み、前記更新された変更済みの共有可能な位置が、前記共有可能な位置よりも具体的でなく、前記変更された共有可能な位置よりも具体的である、請求項
18に記載の方法。
【請求項20】
前記変更された共有可能な位置が、前記第1の時間と現在の時間の間の時間の量に応じて変化する、請求項
18に記載の方法。
【請求項21】
前記変更された共有可能な位置が、前記ユーザ・デバイスの前記共有可能な位置と
前記ユーザ・デバイスの現在の位置の間の距離に応じて変化する、請求項
18に記載の方法。
【請求項22】
ユーザ・デバイスの情報処理による方法であって、前記方法が、
ソーシャル・ネットワーキングの投稿を位置精度モデルに入力することであって、前記ソーシャル・ネットワーキングの投稿が、
前記ソーシャル・ネットワーキングの投稿が作成された時間(第1の時間)および共有可能な位置に関連付けられる、前記入力することと、
前記位置精度モデルによって、変更された共有可能な位置を出力することと、
前記変更された共有可能な位置を含む前記ソーシャル・ネットワーキングの投稿をソーシャル・ネットワーキング・システムに送信することであって、前記変更された共有可能な位置が前記共有可能な位置の一般化されたバージョンである、前記送信することとを含む、
方法。
【請求項23】
前記位置精度モデルが、ユーザ・デバイスから受信され、前記ユーザ・デバイス上でアプリケーションとして実行されている、請求項
22に記載の方法。
【請求項24】
前記位置精度モデルが、前記ソーシャル・ネットワーキングの投稿の位置分解能を変更するように構成され、前記方法が、
前記位置精度モデルに関連付けられたパラメータが満たされているということを決定することと、
更新された変更済みの共有可能な位置を含むように前記ソーシャル・ネットワーキングの投稿を変更することであって、前記更新された変更済みの共有可能な位置が、前記変更された共有可能な位置よりも具体的であり、前記共有可能な位置よりも具体的でない、前記変更することとをさらに含む、請求項
22に記載の
方法。
【請求項25】
前記投稿がジオタグ付きであり、ユーザ・デバイスから受信され、前記ジオタグ付き投稿が
、前記ジオタグ付き投稿の投稿が作成された時間および地理的位置に関連付けられ、前記出力するステップが、前記位置精度モデルによって、一般化された地理的位置を出力することを含み、前記送信するステップが、前記一般化された地理的位置を含む前記ジオタグ付き投稿を公開することを含み、前記方法が、前記位置精度モデルおよび前記ユーザ・デバイスの位置に基づいて一連の更新された一般化済みの地理的位置を公開することによって、前記ジオタグ付き投稿を断続的に更新することをさらに含む、請求項
22に記載の
方法。
【請求項26】
請求項1ないし
15のいずれか
1項に記載の方法を、
ソーシャル・ネットワーキング・システムに実行させ、または請求項
18ないし
25のいずれか1項に記載の方法を、
ユーザ・デバイスに実行させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ユーザのプライバシーに関連しており、より詳細には、共有される位置情報の動的変更に関連している。
【背景技術】
【0002】
スマート・デバイスは、ユーザの位置を決定し、共有することができる。例えば、人は、スマート・デバイスを使用して写真を撮影し、その写真をソーシャル・ネットワーキング・サイト(SNS:social networking site)にアップロードすることがある。写真は、ユーザの位置に関連付けられた地理座標を使用して自動的にタグ付けされることがあり、または写真は、ユーザ入力(例えば、共有された写真に関してテキストに追加された「@Chicago」)に基づいて、ユーザの位置を使用して手動でラベル付けされることがある。別の例として、ユーザは、運動アプリケーションを使用してランニング中のユーザの位置を追跡することがあり、この位置情報は、ソーシャル・ネットワーキング・サイトで共有され得る。これらの例は、ユーザの正確な位置が一般の人々と共有されることがあるということを示している。
【0003】
ユーザの位置のパブリックな共有は、プライバシー、セキュリティ、または安全性、あるいはその組み合わせのリスクを提起する。例えば、悪意のある行為者は、個人の位置に関する公開された情報を利用して、個人を追いかけること、または個人に危害を加えることを行い得る。別の例として、悪意のある行為者は、個人の位置に関する公開された情報を利用して、ユーザの家、車両、またはユーザに関連付けられた別の空の位置から盗み得る。したがって、位置共有はリスクを提起する。しかし、位置共有自体は、本質的に悪いものではない。実際、位置共有は、コミュニティの発展、経験の文書化などにおいて有用であることがある。それに応じて、位置共有に関連するリスクは、リアルタイムまたはほぼリアルタイムの位置共有において最大になる。
【0004】
現在、ユーザが位置共有に関連するプライバシー、セキュリティ、または安全性、あるいはその組み合わせのリスクを軽減するために、ユーザは、スマート・デバイスまたはソーシャル・ネットワーキング・プラットフォームあるいはその両方において、位置共有を有効化する機能を停止しなければならない。位置共有機能を停止すると、一般に、ユーザは、多数のソーシャル・ネットワーキング・プラットフォームにわたって、ユーザ・プロフィールに対する時間のかかる変更を続けることが必要になる(さまざまなソーシャル・ネットワーキング・プラットフォームの機能を制限することに関連するユーザ・エクスペリエンスの悪化は言うまでもない)。自動化された位置共有機能を停止した後でさえ、ユーザは、さまざまなソーシャル・ネットワーキング・プラットフォームの使用中に手動で作成された投稿を検閲し、投稿から位置情報を除去することがまだ必要になることがある。ユーザが続けることがある別の方針は、スマート・デバイスまたはソーシャル・ネットワーキング・プラットフォームあるいはその両方の使用を完全に回避することである。したがって、ユーザがソーシャル・ネットワーキング・プラットフォーム上で共有される位置情報に関連するプライバシー、セキュリティ、または安全性、あるいはその組み合わせのリスクを十分に軽減することを可能にするための現在の解決策は、少なくとも有用性、効率、および移植性に関して不十分である。
【発明の概要】
【0005】
本開示の態様は、ソーシャル・ネットワーキングの投稿を、ソーシャル・ネットワーキングの投稿の位置分解能を変更するように構成された位置精度モデル(location precision model)に入力することを含んでいるコンピュータ実装方法を対象にし、ソーシャル・ネットワーキングの投稿は、第1の時間および共有可能な位置に関連付けられる。この方法は、変更された共有可能な位置を含むソーシャル・ネットワーキングの投稿を公開することをさらに含み、変更された共有可能な位置は、共有可能な位置の一般化されたバージョンである。この方法は、位置精度モデルに関連付けられたパラメータが満たされているということを決定することをさらに含む。この方法は、更新された変更済みの共有可能な位置を含むようにソーシャル・ネットワーキングの投稿を変更することをさらに含み、更新された変更済みの共有可能な位置は、変更された共有可能な位置よりも具体的であり、共有可能な位置よりも具体的でない。本開示のさらなる態様は、前述の方法を実行するように構成されたシステムおよびコンピュータ・プログラム製品を対象にする。
【0006】
前述の方法は有利に、ユーザがソーシャル・ネットワーキング・プラットフォームとの情報のやりとりを変更することを必要とせずに、公開されている投稿に関連付けられた位置情報を動的に変更することによって、ユーザのプライバシー、セキュリティ、または安全性、あるいはその組み合わせを改善する。
【0007】
1つの実施形態によれば、位置精度モデルがソーシャル・ネットワーキング・システムに格納され、ソーシャル・ネットワーキングの投稿がユーザ・デバイスから受信される。
【0008】
これによって有利に、本開示の特徴を既存のソーシャル・ネットワーキング・プラットフォームに組み込むことが可能になる。本開示の特徴をソーシャル・ネットワーキング・プラットフォームに組み込むことによって、ソーシャル・ネットワーキング・プラットフォームのすべてのメンバーのプライバシー、セキュリティ、または安全性、あるいはその組み合わせの改善を自動化する。
【0009】
前述の方法の制限を含んでいる本開示の別の実施形態は、位置精度モデルがユーザ・デバイスに格納される場合、およびソーシャル・ネットワーキングの投稿がユーザ・デバイスから受信される場合をさらに含む。
【0010】
これによって有利に、本開示の特徴をユーザ・デバイスに組み込むことが可能になり、本開示の特徴は、ユーザ・デバイスに読み込まれるアプリケーションまたはポータルを所有している多数のソーシャル・ネットワーキング・プラットフォームと情報をやりとりすることができる。したがって、本開示のこの実施形態は、単一のユーザが、多数のソーシャル・ネットワーキング・プラットフォームにわたってプライバシー、安全性、またはセキュリティ、あるいはその組み合わせを同時に改善することを可能にする。
【0011】
前述の方法の制限を含んでいる本開示の別の実施形態は、更新された変更済みの共有可能な位置が第1の時間と現在の時間の間の時間の量に基づく場合をさらに含む。
【0012】
これによって、本開示は有利に、時間に応じて位置分解能を動的に変更できるようになる。
【0013】
前述の方法の制限を含んでいる本開示の別の実施形態は、変更された共有可能な位置が、ソーシャル・ネットワーキングの投稿を作成したユーザ・デバイスの共有可能な位置と現在の位置の間の距離に基づく場合をさらに含む。
【0014】
これによって、本開示は有利に、距離に応じて位置分解能を動的に変更できるようになる。
【0015】
本開示のさらなる態様は、ユーザ・デバイスから受信されたソーシャル・ネットワーキングの投稿を、ユーザ・デバイス上のアプリケーションとして実行されている位置精度モデルに入力することを含んでいるコンピュータ実装方法を対象にし、ソーシャル・ネットワーキングの投稿は、第1の時間および共有可能な位置に関連付けられる。この方法は、位置精度モデルによって、変更された共有可能な位置を出力することをさらに含む。この方法は、変更された共有可能な位置を含むソーシャル・ネットワーキングの投稿をソーシャル・ネットワーキング・システムに送信することをさらに含み、変更された共有可能な位置は、共有可能な位置の一般化されたバージョンである。本開示のさらなる態様は、前述の方法を実行するように構成されたシステムおよびコンピュータ・プログラム製品を対象にする。
【0016】
前述の方法は有利に、ユーザがソーシャル・ネットワーキング・プラットフォームとの情報のやりとりを変更することを必要とせずに、公開されている投稿に関連付けられた位置情報を動的に変更することによって、ユーザのプライバシー、セキュリティ、または安全性、あるいはその組み合わせを改善する。
【0017】
本開示のさらなる態様は、ユーザ・デバイスから受信されたジオタグ付き投稿を位置精度モデルに入力することを含んでいるコンピュータ実装方法を対象にし、ジオタグ付き投稿は、第1の時間および地理的位置に関連付けられる。この方法は、位置精度モデルによって、一般化された地理的位置を出力することをさらに含む。この方法は、一般化された地理的位置を含むジオタグ付き投稿を公開することをさらに含む。この方法は、位置精度モデルおよびユーザ・デバイスの位置に基づいて、一連の更新された一般化済みの地理的位置を公開することによって、ジオタグ付き投稿を断続的に更新することをさらに含む。本開示のさらなる態様は、前述の方法を実装するように構成されたシステムおよびコンピュータ・プログラム製品を対象にする。
【0018】
前述の方法は有利に、ユーザがソーシャル・ネットワーキング・プラットフォームとの情報のやりとりを変更することを必要とせずに、公開されている投稿に関連付けられた位置情報を動的に変更することによって、ユーザのプライバシー、セキュリティ、または安全性、あるいはその組み合わせを改善する。
【0019】
別の態様によれば、ソーシャル・ネットワーキングの投稿を位置精度モデルに入力することであって、ソーシャル・ネットワーキングの投稿が第1の時間および共有可能な位置に関連付けられる、入力することと、位置精度モデルによって、変更された共有可能な位置を出力することと、変更された共有可能な位置を含むソーシャル・ネットワーキングの投稿をソーシャル・ネットワーキング・システムに送信することであって、変更された共有可能な位置が共有可能な位置の一般化されたバージョンである、送信することとを含んでいるコンピュータ実装方法が提供されている。
【0020】
1つの実施形態では、位置精度モデルは、ユーザ・デバイスから受信され、ユーザ・デバイス上でアプリケーションとして実行されている。
【0021】
1つの実施形態では、位置精度モデルは、ソーシャル・ネットワーキングの投稿の位置分解能を変更するように構成され、この方法は、位置精度モデルに関連付けられたパラメータが満たされているということを決定することと、更新された変更済みの共有可能な位置を含むようにソーシャル・ネットワーキングの投稿を変更することとをさらに含み、更新された変更済みの共有可能な位置は、変更された共有可能な位置よりも具体的であり、共有可能な位置よりも具体的でない。
【0022】
1つの実施形態では、投稿はジオタグ付きであり、ユーザ・デバイスから受信され、ジオタグ付き投稿が第1の時間および地理的位置に関連付けられ、出力するステップが、位置精度モデルによって、一般化された地理的位置を出力することを含み、送信するステップが、一般化された地理的位置を含むジオタグ付き投稿を公開することを含み、この方法は、位置精度モデルおよびユーザ・デバイスの位置に基づいて一連の更新された一般化済みの地理的位置を公開することによって、ジオタグ付き投稿を断続的に更新することをさらに含む。
【0023】
本概要は、本開示のすべての実装またはすべての実施形態あるいはその両方の各態様を説明するよう意図されていない。
【0024】
以下の図面を参照し単に例として、本発明の好ましい実施形態について説明する。
【図面の簡単な説明】
【0025】
【
図1】本開示の一部の実施形態に従う、ソーシャル・ネットワーキング・システムに位置する位置精度モデルを含んでいる例示的なソーシャル・ネットワーキング環境を示すブロック図である。
【
図2】本開示の一部の実施形態に従う、ユーザ・デバイスに位置する位置精度モデルを含んでいる別の例示的なソーシャル・ネットワーキング環境を示すブロック図である。
【
図3A】本開示の一部の実施形態に従う、距離しきい値および期間しきい値を含んでいる例示的なしきい値パラメータを示すブロック図である。
【
図3B】本開示の一部の実施形態に従う、時間しきい値を含んでいる例示的なしきい値パラメータを示すブロック図である。
【
図3C】本開示の一部の実施形態に従う、距離しきい値、期間しきい値、および時間しきい値を含んでいる例示的なしきい値パラメータを示すブロック図である。
【
図4A】本開示の一部の実施形態に従う、オントロジー位置分解能モデル(ontologicallocation resolution model)を含んでいる例示的な位置分解能パラメータを示すブロック図である。
【
図4B】本開示の一部の実施形態に従う、離散化位置分解能モデル(discretizedlocation resolution model)を含んでいる例示的な位置分解能パラメータを示すブロック図である。
【
図4C】本開示の一部の実施形態に従う、ランダム化位置分解能モデル(randomizedlocation resolution model)を含んでいる例示的な位置分解能パラメータを示すブロック図である。
【
図5A】本開示の一部の実施形態に従う、空間的位置精度モデルのグラフを示す図である。
【
図5B】本開示の一部の実施形態に従う、時間的位置精度モデルのグラフを示す図である。
【
図5C】本開示の一部の実施形態に従う、時空間的位置精度モデルのグラフを示す図である。
【
図6】本開示の一部の実施形態に従う、位置精度モデルを使用する公開シーケンスを示す図である。
【
図7】本開示の一部の実施形態に従う、共有される位置情報を動的に変更するための例示的な方法のフローチャートを示す図である。
【
図8】本開示の一部の実施形態に従う、共有される位置情報を動的に変更するための別の例示的な方法のフローチャートを示す図である。
【
図9A】本開示の一部の実施形態に従う、学習された位置精度モデルを生成するための例示的な方法のフローチャートを示す図である。
【
図9B】本開示の一部の実施形態に従う、動的な共有される位置の変更機能の使用を計測してインボイスを発行するための例示的な方法のフローチャートを示す図である。
【
図10】本開示の一部の実施形態に従う、例示的なコンピュータを示すブロック図である。
【
図11】本開示の一部の実施形態に従う、クラウド・コンピューティング環境を示す図である。
【
図12】本開示の一部の実施形態に従う、抽象モデル・レイヤを示す図である。
【発明を実施するための形態】
【0026】
本開示は、種々の変更および代替の形態を受け入れるが、その詳細が、図面において例として示されており、詳細に説明される。しかし、本開示を説明されている特定の実施形態に限定することが意図されていないということが、理解されるべきである。反対に、本開示の思想および範囲に含まれるすべての変更、同等のもの、および代替手段を対象にすることが意図されている。
【0027】
本開示の実施形態は、ユーザのプライバシーを対象にし、より詳細には、共有される位置情報の動的変更を対象にする。そのような応用に限定されないが、本開示の実施形態は、前述の文脈を踏まえてより良く理解され得る。
【0028】
ここで
図1を参照すると、本開示の一部の実施形態に従って、例示的なソーシャル・ネットワーキング環境100が示されている。ソーシャル・ネットワーキング環境100は、ネットワーク106を介してユーザ・デバイス104に通信可能に結合されたソーシャル・ネットワーキング・システム102を含んでいる。ソーシャル・ネットワーキング・システム102は、ソーシャル・ネットワーキング・プラットフォーム、サイト、アプリケーションなどに関する情報を格納するか、ホストするか、実行するか、またはその他の方法で維持するように構成された、任意の物理的または仮想的な一連のハードウェアであることができる。例えば、ソーシャル・ネットワーキング・システム102は、1つまたは複数のサーバ、1つまたは複数のプロセッサ、1つまたは複数のコンピュータ可読ストレージ媒体などを含むことができる。
【0029】
ユーザ・デバイス104は、コンピュータ、デスクトップ、ラップトップ、タブレット、スマートフォン、スマートウォッチ、スマート・グラス、フィットネス・トラッカー、ヘルス・モニタ、ウェアラブル・デバイス、または別のデバイスなどの、ただしこれらに限定されない、任意のユーザ・デバイスであることができる。
【0030】
ネットワーク106は、ソーシャル・ネットワーキング・システム102をユーザ・デバイス104に永続的または断続的に通信可能に結合することができる任意の有線または無線ネットワークであることができる。ネットワーク106は、例えば、セルラー・ネットワーク(例えば、3G、4G、5Gなど)、無線ネットワーク(例えば、インターネット、無線ローカル・エリア・ネットワーク(WLAN:wireless local area network)、無線広域ネットワーク(WWAN:wireless wide area network)、無線メトロポリタン・エリア・ネットワーク(WMAN:wireless metropolitan area network)、無線パーソナル・エリア・ネットワーク(WPAN:wireless personal area network))、有線ネットワーク(例えば、同軸ケーブル、光ファイバまたはグラス・ファイバ・ケーブル、イーサネット・ケーブルなどを利用するネットワーク)、別のネットワーク構成(例えば、地上マイクロ波に基づく無線ネットワーク通信、人工衛星に基づく無線通信ネットワーク、ラジオに基づく無線通信ネットワークなど)、または前述のネットワーク構成のいずれかの組み合わせであることができる。
【0031】
ユーザ・デバイス104は、現在の位置108および現在の時間110を検出して格納するように構成されることができる。一部の実施形態では、現在の位置108は、例えば、ユーザ・デバイス104に関連付けられた全地球測位システム(GPS:global positioning system)から検出されることができる。一部の実施形態では、現在の位置108は、ユーザ・デバイス104へのユーザ入力に基づいて、ラベル付けされるか、タグ付けされるか、またはその他の方法で定義された位置であることができる。一例として、ユーザは、電子写真またはソーシャル・ネットワーキングの投稿がシカゴの位置に関連付けられていることを示すために、「@Chicago」を使用して電子写真またはソーシャル・ネットワーキングの投稿にラベル付けしてよい。手動で作成されるか、または自動的に作成されるかにかかわらず、より具体的な位置ラベル(例えば、住所、GPS座標など)またはより具体的でない位置ラベル(例えば、国、地域、郡など)も可能であり、本開示の思想および範囲に含まれる。
【0032】
ユーザ・デバイス104は、現在の時間110をさらに格納することができる。現在の時間110は、例えばリアル・タイム・クロック(RTC:Real Time Clock)などの、内部クロックから得られることができる。現在の時間110は、GPS機能を含んでいるユーザ・デバイス104内のGPS信号から得られることもできる。
【0033】
ユーザ・デバイス104は、ソーシャル・ネットワーキングの投稿112も格納する。ソーシャル・ネットワーキングの投稿112は、テキスト(例えば、投稿、ブログ、見出しなど)、1つまたは複数の写真、1つまたは複数のビデオ、1つまたは複数の音声ファイル、1つまたは複数の反応(例えば、顔文字、絵文字など)、または前述の項目のうちの2つ以上の組み合わせであることができるが、これらに限定されない。ソーシャル・ネットワーキングの投稿112は、共有可能な位置114および公開時間116に関連付けられることができる。公開時間116とは、ソーシャル・ネットワーキングの投稿112が作成された時間、ソーシャル・ネットワーキングの投稿112が保存された時間、ソーシャル・ネットワーキングの投稿112が公開されることがスケジュールされた時間、ソーシャル・ネットワーキングの投稿112がソーシャル・ネットワーキング・システム102に送信された時間、または異なる時間のことを指すことができる。ソーシャル・ネットワーキングの投稿112は、単に投稿と呼ばれることもできるが、投稿という用語は、ソーシャル・ネットワーキングに関連していてもよく、または関連していなくてもよい任意の数の共有可能な情報の種類を含むことができる。例えば、投稿は、第1の電子デバイスの第1のユーザによって(または第1のユーザの代わりに)作成され、その後、1つまたは複数の他の電子デバイスの1人または複数の他のユーザによるアクセスを可能にされた、任意の情報(例えば、テキスト、音声、ビデオ、画像、またはその他のデータ)を含むことができる。
【0034】
一部の実施形態では、共有可能な位置114は、公開時間116での現在の位置108のことを指すことができる。一部の実施形態では、共有可能な位置114は、ユーザ・デバイス104へのユーザ入力に基づいて、タグ付けされるか、ラベル付けされるか、またはその他の方法で定義された位置のことを指すことができる。さらに他の実施形態では、共有可能な位置114は、ソーシャル・ネットワーキングの投稿112およびユーザ・デバイス104に関連付けられたその他の情報を入力として使用し、共有可能な位置114を出力として生成する機械学習アルゴリズムに基づいて、タグ付けされるか、ラベル付けされるか、またはその他の方法で定義された位置のことを指すことができる。共有可能な位置114の例は、GPS座標、住所、名前(例えば、公園名、店名など)などである。GPS座標を使用する場合、GPS座標は、度分秒(DMS:Degrees, Minutes, and Seconds)形式(例えば、43°13’54.8”N93°15’22.4”W)、十進角(DD:Decimal Degrees)形式(例えば、43.231878,-93.256232)、または異なるGPS形式で提示されることができる。
【0035】
ユーザ・デバイス104は、ユーザ・デバイス104上でホストされ、ソーシャル・ネットワーキング・システム102へのポータルとして機能しているソーシャル・ネットワーキング・アプリケーション118をさらに含むことができる。ユーザ・デバイス104のユーザは、名前(例えば、電子メール・アドレス、サインイン名、シリアル番号など)およびパスワード(例えば、英数字のパスワード、バイオメトリック・パスワードなど)などのログイン認証情報を使用して、ソーシャル・ネットワーキング・アプリケーション118の一意のユーザ・プロフィールにログインすることができる。
【0036】
ユーザは、ソーシャル・ネットワーキング・アプリケーション118を介してソーシャル・ネットワーキングの投稿112をソーシャル・ネットワーキング・システム102にアップロードすることによって、ソーシャル・ネットワーキングの投稿112を投稿するか、公開するか、またはその他の方法で共有することを望むことがある。しかし、すでに説明したように、ソーシャル・ネットワーキング・システム102上で共有可能な位置114を含んでいるソーシャル・ネットワーキングの投稿112を公開することは、ユーザ・デバイス104のユーザのプライバシー、安全性、またはセキュリティ、あるいはその組み合わせにとって有害になる可能性がある。
【0037】
上記の課題に対処するために、本開示の実施形態は、ソーシャル・ネットワーキング・システム102内の位置精度モデル120を使用して共有可能な位置114の位置分解能を徐々に変更するように構成される。位置精度モデル120は、ユーザ・デバイス104のユーザのプライバシー、安全性、またはセキュリティ、あるいはその組み合わせを向上させるために、1つまたは複数の空間的パラメータまたは時間的パラメータあるいはその両方に従って、共有可能な位置114を動的に変更するように構成されることができる。例えば、位置精度モデル120は、しきい値パラメータ122および位置分解能パラメータ124に関連付けられることができる。しきい値パラメータ122は、ソーシャル・ネットワーキングの投稿112の共有可能な位置114または公開時間116あるいはその両方と相対的なユーザ・デバイスの現在の位置108または現在の時間110あるいはその両方の空間的属性、時間的属性、または時空間的属性に応じて共有可能な位置114の精度を変更するために、位置分解能パラメータ124と一緒に機能することができる。しきい値パラメータ122は、
図3A~3Cに関して以下でさらに詳細に説明される。位置分解能パラメータ124は、
図4A~4Cに関して以下でさらに詳細に説明される。
【0038】
ソーシャル・ネットワーキングの投稿112を位置精度モデル120に入力した後に、位置精度モデル120は、一連の公開可能な項目126-1~126-N(集合的に、公開可能な項目126と呼ばれる)を出力することができ、Nは任意の整数値を表し、少なくとも2つの一連の公開可能な項目を反映することができる。公開可能な項目126の各々は、位置分解能(例えば、変更された位置128-1および更新された変更済みの位置128-N)および各公開可能な項目126の各々を公開するためのパラメータ(例えば、第1の公開パラメータ130-1および第2の公開パラメータ130-N)に関連付けられることができる。公開パラメータ130は、しきい値パラメータ122および位置分解能パラメータ124の相互に関連するインスタンスであることができる。言い換えると、公開パラメータは、各時間的しきい値、空間的しきい値、または時空間的しきい値の各位置分解能を定義することができる。
【0039】
位置精度モデル120と公開可能な項目126の間の相互関係をより良く説明するために、ユーザがスマートフォン(例えば、ユーザ・デバイス104)上の画像(例えば、ソーシャル・ネットワーキングの投稿112)をキャプチャする例について考える。画像(例えば、ソーシャル・ネットワーキングの投稿112)は、123 XY Avenue、Town A、State Bという住所(例えば、共有可能な位置114)に対応する地理座標および11:10AMという時間(例えば、公開時間116)に関連付けられる。ユーザは、(例えば、ソーシャル・ネットワーキング・アプリケーション118を使用して)写真(例えば、ソーシャル・ネットワーキングの投稿112)をソーシャル・ネットワーク(例えば、ソーシャル・ネットワーキング・システム102の位置精度モデル120)にアップロードする。ソーシャル・ネットワークは、ユーザの位置(例えば、現在の位置108)などのパラメータのセット(例えば、第1の公開パラメータ130-1)が、少なくとも5分間(例えば、
図3A~3Cに関して以下で説明されるような期間しきい値302)の間、地理座標(例えば、共有可能な位置114)と1マイル(1.61km)(例えば、
図3A~3Cに関して以下で説明されるような距離しきい値300)を超えて異なるということ、および写真が少なくとも5分(例えば、
図3A~3Cに関して以下で説明されるような時間しきい値304)古いということを満たすことに応じて、「Town A、State B」という一般化された位置(例えば、変更された位置128-1)を含んでいる投稿の第1のバージョン(例えば、公開可能な項目126-1)を公開する。後でソーシャル・ネットワーキング・システム102は、ユーザの位置(例えば、現在の位置108)などのパラメータの別セット(例えば、第2の公開パラメータ130-N)が、少なくとも10分間(例えば、期間しきい値302)の間、地理座標(例えば、共有可能な位置114)と10マイル(16.1km)(例えば、距離しきい値300)を超えて異なるということ、または写真が少なくとも24時間(例えば、時間しきい値304)古いということを満たすことに応じて、「XY Avenue、Town A、State B」というより具体的な位置(例えば、更新された変更済みの位置128-N)を含んでいる投稿の別のバージョン(例えば、公開可能な項目126-N)を公開する。
【0040】
上記の例から分かるように、本開示の実施形態は、ソーシャル・ネットワーキング・サイト上で公開された写真、ビデオ、または投稿、あるいはその組み合わせなどの、公開された内容に関連付けられた位置情報の具体性を変更するように構成される。位置情報の具体性を変更することは、ユーザのプライバシー、セキュリティ、または安全性、あるいはその組み合わせの改善につながることができる。
【0041】
さらに、ソーシャル・ネットワーキング・システム102上で位置精度モデル120をホストすることは、ソーシャル・ネットワーキング・システム102が動的な位置分解能の変更をソーシャル・ネットワーキング・システム102の機能としてユーザのすべてに提供できる限りにおいて有利であり、それによって、数百人、数千人、または数百万人のユーザのプライバシー、セキュリティ、または安全性、あるいはその組み合わせを同時に改善する。
【0042】
図2は、別の例示的なソーシャル・ネットワーキング環境200を示している。ソーシャル・ネットワーキング環境200は、
図1のソーシャル・ネットワーキング環境100に関して前述したコンポーネントと同様のコンポーネントを含んでいる。例えば、ソーシャル・ネットワーキング環境200は、ネットワーク106を介してユーザ・デバイス104に通信可能に結合されたソーシャル・ネットワーキング・システム102を含んでいる。さらに、ユーザ・デバイス104は、現在の位置108、現在の時間110、ソーシャル・ネットワーキングの投稿112、共有可能な位置114、公開時間116、およびソーシャル・ネットワーキング・アプリケーション118を含んでいる。
【0043】
しかし、位置精度モデル120および公開可能な項目126がソーシャル・ネットワーキング・システム102に位置している
図1とは対照的に、
図2のソーシャル・ネットワーキング環境200では、位置精度モデル120および公開可能な項目126がユーザ・デバイス104に格納される。位置精度モデル120および公開可能な項目126をユーザ・デバイス104に格納することは、複数の理由のために有利であることができる。1つには、位置精度モデル120をユーザ・デバイス104に格納することによって、位置精度モデル120を複数のソーシャル・ネットワーキング・プラットフォームに利用することを可能にすることができる。言い換えると、位置精度モデル120は、(
図1に示されているような)特定のソーシャル・ネットワーキング・プラットフォームに組み込まれた機能ではなく、ユーザ・デバイス104上でスタンドアロン・アプリケーションとして機能することができる。別の例示的な利点として、位置精度モデル120および公開可能な項目126をユーザ・デバイス104に格納することは、適切なパラメータが満たされた場合に(例えば、公開パラメータ130-1および130-N)、ユーザ・デバイス104が更新された位置(例えば、変更された位置128-1および更新された変更済みの位置128-N)をソーシャル・ネットワーキング・システム102に「プッシュ」することができる限りにおいて、セキュリティおよびプライバシーを向上させることができる。言い換えると、ソーシャル・ネットワーキング・システム102は、共有可能な位置114にアクセスすることができない。したがって、ハッキングされたか、侵入されたか、またはその他の方法でセキュリティを破られたソーシャル・ネットワーキング・システム102は、ユーザ・デバイス104のユーザのプライバシー、セキュリティ、または安全性を損なわない。
【0044】
ここで
図3A~3Cを参照すると、本開示のさまざまな実施形態に従って、しきい値パラメータ122のさまざまな構成が示されている。
図3Aは、距離しきい値300および任意選択的に期間しきい値302を含む空間的しきい値パラメータ122を示している。距離しきい値300は、単独で、または期間しきい値302と組み合わせて使用されることができ、期間しきい値302は、距離しきい値300を満たしている距離の妥当性を確認または検証するために使用されることができる。距離しきい値300を単独で利用する実施形態では、更新された変更済みの位置128-Nがソーシャル・ネットワーキング・システム102に公開されることを引き起こすには、ユーザ・デバイス104の現在の位置108とソーシャル・ネットワーキングの投稿112の共有可能な位置114の間の距離が距離しきい値300以上にならなければならない。
【0045】
距離しきい値300と期間しきい値302を両方とも利用する実施形態では、更新された変更済みの位置128-Nがソーシャル・ネットワーキング・システム102に公開されることを引き起こすには、期間しきい値302以上の期間の間、ユーザ・デバイス104の現在の位置108とソーシャル・ネットワーキングの投稿112の共有可能な位置114の間の距離が距離しきい値300を超えたままにならなければならない。期間しきい値302は有利に、ユーザが共有可能な位置114から実際に離れていることを保証するために使用されることができる。言い換えると、期間しきい値302は、ユーザが(例えば距離しきい値300の周辺に沿って歩くことによって)距離しきい値300を一時的に超える状況を除去するために使用されることができる。距離しきい値300の例としては、0.16キロメートル(km)(0.1マイル)、1.61キロメートル(1.0マイル)、8.05キロメートル(5マイル)、16.1キロメートル(10マイル)などが挙げられるが、これらに限定されない。期間しきい値302の例としては、5分、10分、30分、1時間などが挙げられるが、これらに限定されない。
【0046】
図3Bは、ソーシャル・ネットワーキングの投稿112の現在の時間110と公開時間116の間の時間の量が時間しきい値304を超えた後に、ソーシャル・ネットワーキング・システム102によって、共有可能な位置114のより正確なバージョン(例えば、更新された変更済みの位置128-N)が公開されることができるように、時間しきい値304を含む時間的しきい値パラメータ122を示している。時間しきい値304の例としては、10分、30分、1時間、12時間、24時間などが挙げられるが、これらに限定されない。簡単にするために、現在の時間110がユーザ・デバイス104のみに示されているとしても、現在の時間110は、ユーザ・デバイス104またはソーシャル・ネットワーキング・システム102のいずれかから収集されることができる。時間しきい値304を使用することは、有利に、さまざまなしきい値パラメータ122を満たすために、必ずしもソーシャル・ネットワーキング・システム102がユーザ・デバイス104と接触したままであることを必要としない(例えば、ソーシャル・ネットワーキング・システム102は、距離しきい値300を利用するときに必要になることがあるように、ユーザ・デバイス104から現在の位置108を収集する必要がない)。
【0047】
図3Cは、距離しきい値300、期間しきい値302、および時間しきい値304を含む時空間的しきい値パラメータ122を示している。
図3Cに示されている実施形態では、空間的パラメータおよび時間的パラメータの任意の組み合わせに応じて、位置情報のより具体的なバージョン(例えば、更新された変更済みの位置128-N)が公開されることができる。例えば、第2の公開パラメータ130-Nは、ユーザ・デバイス104の現在の時間110とソーシャル・ネットワーキングの投稿112の公開時間116の間の時間が時間しきい値304を超えるか、またはユーザ・デバイス104の現在の位置108とソーシャル・ネットワーキングの投稿112の共有可能な位置114の間の距離が期間しきい値302以上の期間の間、距離しきい値300を超えるか、あるいはその両方であることを必要とすることができる。第2の公開パラメータ130-Nが満たされた場合、更新された変更済みの位置128-Nがソーシャル・ネットワーキング・システム102に公開されることができる。
【0048】
別の例として、
図3Cで説明されたしきい値パラメータ122は、アルゴリズムを利用することができる。例えば、スコアがスコアしきい値と比較されることができる。この例では、スコアは、第1の値を第2の値に加算することに基づくことができ、第1の値は、共有可能な位置114と現在の位置108の間の距離を距離しきい値300で割った値である第1の比率を、第1の重みパラメータに掛けた値に等しくなることができ、第2の値は、現在の時間110と公開時間116の間の時間を時間しきい値304で割った値である第2の比率を、第2の重みパラメータに掛けた値に等しくなることができる。この例では、期間しきい値302は、第1の比率を決定することにおいて係数として使用されてもよく、使用されなくてもよい。さらにこの例では、スコアがスコアしきい値を超えることは、更新された変更済みの位置128-Nがソーシャル・ネットワーキング・システム102に公開されることを引き起こすことができる。
【0049】
図4A~4Cは、本開示のさまざまな実施形態に従って、さまざまな位置分解能パラメータ124を表している。
図4Aは、オントロジー位置分解能モデル400を含む位置分解能パラメータ124を示している。オントロジー位置分解能モデル400は、階層的な言語に基づくモデルに従って、位置の具体性における変化を定義することができる。例えば、最も一般的から最も具体的までの順序では、オントロジー位置分解能モデル400からの位置分解能の例示的な階層は、国、地域、州、郡、町、住所の分類を含むことができる。オントロジー位置分解能モデル400は、有利に、テキスト記述子を使用して作成された位置分解能を変更する自然言語処理(NLP:Natural Language Processing)アプリケーションなどの自然言語処理(NLP)アプリケーションによく適することができる。
【0050】
図4Bは、離散化位置分解能モデル402を含む位置分解能パラメータ124を示している。離散化位置分解能モデル402は、グリッド分解能(例えば、グリッドのタイル・サイズ)に従って、位置の具体性における変化を定義することができる。例えば、最も一般的から最も具体的までの順序では、例示的な離散化位置分解能モデル402は、1,000平方マイル(2,590平方km)のグリッド、500平方マイル(1,300平方km)のグリッド、100平方マイル(259平方km)のグリッド、50平方マイル(130平方km)のグリッド、10平方マイル(25.9平方km)のグリッド、1平方マイル(2.59平方km)のグリッド、0.1平方マイル(0.259平方km)のグリッド、0.01平方マイル(0.0259平方km)のグリッドを含むことができる。したがって、離散化位置分解能モデル402は、位置をグリッドのタイルとして識別することができ、グリッドのタイルのサイズを変えることは、位置分解能を変えることに対応する。
【0051】
図4Cは、ランダム化位置分解能モデル404を含む位置分解能パラメータ124を示している。ランダム化位置分解能モデル404は、ランダムに生成された数値に従って、位置の具体性における変化を定義することができる。例えば、43°13’54.8”N93°15’22.4”Wなどの地理座標を使用して定義された共有可能な位置114の場合、ランダム化位置分解能モデル404は、「X」によってマーク付けされた地理座標の部分において乱数を生成することによって、位置の具体性における変化を生み出すことができ、ランダムに生成される数値が少ないほど、実現される位置の具体性が増す。例えば、ランダム化位置分解能モデル404による出力として、最も具体的でない位置から最も具体的な位置までの次の一連の位置について考える:43°XX’XX.X”N93°XX’XX.X”W、43°1X’5X.X”N93°1X’XX.X”W、43°13’XX.X”N93°15’XX.X”W、43°13’5X.X”N93°15’2X.X”W、43°13’54.8”N93°15’22.4”W。
【0052】
別の例として、十進角(DD)形式で表された例示的な位置(例えば、43.231878,-93.256232)の場合、ランダム化位置分解能モデル404は、43.XXXXXX,-93.XXXXXX、43.23XXXX,-93.25XXXX、43.2318XX,-93.2562XX、43.231878,-93.256232のように「X」によってマーク付けされた位置で乱数を生成することによって、位置の具体性における変化を生み出すことができる。
【0053】
図5A~5Cは、本開示のさまざまな実施形態に従って、位置精度モデル120のさまざまなグラフの例を示している。
図5A~5Cの各々はグラフを示しており、y軸は、(
図4A~4Cに関して説明されたさまざまな実施形態などの位置分解能パラメータ124に従って)位置精度の変化する程度を表すことができ、x軸は、(例えば、
図3A~3Cに関して説明されたさまざまな実施形態などのしきい値パラメータ122に従って)空間的特性または時間的特性あるいはその両方を表すことができる。
【0054】
図5Aは、本開示の一部の実施形態に従う、空間に基づく位置精度モデル120を表す例示的なグラフ500Aを示している。
図5Aに示されているように、x軸は、現在の位置108と共有可能な位置114の間の距離を表すことができ、表された距離が近いほど原点(すなわち、グラフ500Aの左下)に近づき、原点からの距離に応じて、表された距離が大きくなる。y軸は、位置精度を表すことができ、表された位置がより一般化されるか、曖昧であるか、または不正確であるほど原点に近づき、表された位置が正確、具体的、または厳密であるほど原点から遠ざかる。
【0055】
したがって、初期の公開可能な項目126-1は、第1の位置502A(例えば、州)に関連付けられることができる。第1の距離しきい値504A(例えば、1マイル(1,61km))で、位置精度モデル120は、第2の位置506A(例えば、市、州)を公開するように構成されることができる。第2の距離しきい値508A(例えば、5マイル(8.05km))で、位置精度モデル120は、第3の位置510A(例えば、通り、市、州)を公開するように構成されることができる。第3の距離しきい値512A(例えば、10マイル(16.1km))で、位置精度モデル120は、第4の位置514A(例えば、完全な住所)を公開するように構成されることができる。
【0056】
図5Bは、本開示の一部の実施形態に従う、時間に基づく位置精度モデル120を表す例示的なグラフ500Bを示している。
図5Bに示されているように、x軸は、現在の時間110と公開時間116の間の時間を表すことができ、表された時間の量が短いほど原点に近づき、表された現在の時間110と公開時間116の間の時間の量が大きいほど、原点から遠ざかる。y軸は、位置精度を表すことができ、表された位置がより一般化されるか、曖昧であるか、または不正確であるほど原点に近づき、表された位置が正確、具体的、または厳密であるほど原点から遠ざかる。
【0057】
したがって、初期の公開可能な項目126-1は、第1の位置502B(例えば、州)に関連付けられることができる。第1の時間しきい値504B(例えば、30分)で、位置精度モデル120は、第2の位置506B(例えば、市、州)を公開するように構成されることができる。第2の時間しきい値508B(例えば、2時間)で、位置精度モデル120は、第3の位置510B(例えば、通り、市、州)を公開するように構成されることができる。第3の時間しきい値512B(例えば、24時間)で、位置精度モデル120は、第4の位置514B(例えば、完全な住所)を公開するように構成されることができる。
【0058】
図5Cは、本開示の一部の実施形態に従う、時空間的位置精度モデル120を表す例示的なグラフ500Cを示している。
図5Cに示されているように、x軸は、共有可能な位置114から現在の位置108まで、および公開時間116から現在の時間110までの時間および距離のスコアを表すことができ、表されたスコアが低いほど原点に近づき、表されたスコアが大きいほど原点から遠ざかる。y軸は、位置精度を表すことができ、表された位置がより一般化されるか、曖昧であるか、または不正確であるほど原点に近づき、表された位置が正確、具体的、または厳密であるほど原点から遠ざかる。
【0059】
したがって、初期の公開可能な項目126-1は、第1の位置502C(例えば、州)に関連付けられることができる。第1の時空間的しきい値504C(例えば、共有可能な位置114と現在の位置108の間の少なくとも1マイル(1,61km)、および公開時間116と現在の時間110の間の少なくとも30分)で、位置精度モデル120は、第2の位置506C(例えば、市、州)を公開するように構成されることができる。第2の時空間的しきい値508C(例えば、共有可能な位置114と現在の位置108の間の少なくとも5マイル(8.05km)、および公開時間116と現在の時間110の間の少なくとも2時間)で、位置精度モデル120は、第3の位置510C(例えば、通り、市、州)を公開するように構成されることができる。第3の時空間的しきい値512C(例えば、共有可能な位置114と現在の位置108の間の少なくとも10マイル(16.1km)、および公開時間116と現在の時間110の間の少なくとも24時間)で、位置精度モデル120は、第4の位置514C(例えば、完全な住所)を公開するように構成されることができる。
【0060】
前述の例は、主に(例えば、オントロジー位置分解能モデル400におけるような)階層的オントロジーに関して位置精度を説明しているが、これは制限と解釈されるべきではなく、前述の例において、位置精度の変化する程度を伝えるための他の方法および技術(例えば、離散化位置分解能モデル402、ランダム化位置分解能モデル404など)を代用することができる。
【0061】
さらに、
図5A~5Cは、2値のしきい値パラメータの結果として位置分解能における段階的な変化を示しているが、その他の代替手段も存在する。例えば、しきい値の代わりに、空間的特性または時間的特性あるいはその両方に依って、連続的に変化できる位置分解能を生成するために、アルゴリズムが使用されてよい。
【0062】
図6は、本開示の一部の実施形態に従う、共有可能な位置114に関連付けられたソーシャル・ネットワーキングの投稿112の例示的な公開シーケンス600を示している。公開シーケンス600において公開される各項目126は、(例えば、
図1のように)ソーシャル・ネットワーキング・システム102によって、または(例えば、
図2のように)ユーザ・デバイス104によって生成されることができる。ソーシャル・ネットワーキング・システム102によって公開シーケンス600が生成される場合、ソーシャル・ネットワーキング・システム102は、適切な公開パラメータ130が満たされたときに公開シーケンス600の公開される各項目126を公開することもできる。これに対して、ユーザ・デバイス104によって公開シーケンス600が生成される場合、ユーザ・デバイス104は、対応する公開パラメータ130が満たされたときに、公開される各項目126を公開のためにソーシャル・ネットワーキング・システム102に送信することができる。
【0063】
公開シーケンス600は、公開パラメータの第1のセット130-1に従って公開された、変更された位置1 128-1を含む第1の公開される項目126-1を含んでいる。公開シーケンス600は、更新された変更済みの位置2 128-2を除いて第1の公開される項目126-1に類似する第2の公開される項目126-2をさらに含んでおり、更新された変更済みの位置2 128-2は、変更された位置1 128-1と比較してより具体的な位置であることができ、共有可能な位置114と比較してより具体的でない位置であることができる。第2の公開される項目126-2は、公開パラメータの第2のセット130-2が満たされたときに公開される。
【0064】
公開シーケンス600は、更新された変更済みの位置3 128-3を除いて第1の公開される項目126-1および第2の公開される項目126-2に類似する第3の公開される項目126-3をさらに含んでおり、更新された変更済みの位置3 128-3は、更新された変更済みの位置2 128-2と比較してより具体的な位置であることができ、共有可能な位置114よりも具体的でない位置であることができる。第3の公開される項目126-3は、公開パラメータの第3のセット130-3が満たされたときに公開される。
【0065】
公開シーケンス600は、更新された変更済みの位置4 128-4を除いて第1の公開される項目126-1、第2の公開される項目126-2、および第3の公開される項目126-3に類似する第4の公開される項目126-4をさらに含んでおり、更新された変更済みの位置4 128-4は共有可能な位置114と一致する(例えば、等しい)ことができる。第4の公開される項目126-4は、公開パラメータの第4のセット130-4が満たされることに応じて公開されることができる。
【0066】
図6に示されているように、公開パラメータ130-1~130-4に従って、時間パラメータまたは距離パラメータあるいはその両方に応じて、位置精度が増すことができる。例えば、変更された位置1 128-1は、位置情報がないことまたは不明な位置を示してよく、更新された変更済みの位置2 128-2は、州を示してよく、更新された変更済みの位置3 128-3は、市および州を示してよく、更新された変更済みの位置4 128-4は、共有可能な位置114に関連付けられた具体的な地理座標を示してよい。
図6では公開される項目126の4つのバージョンが示されているが、これは単なる例であり、本開示のさまざまな実施形態では、公開される項目126のより多くのバージョンまたはより少ないバージョンが公開されることができる。
【0067】
図6は位置情報に対する変更を説明しているが、本開示の態様は、位置の具体性の粒度を容易にするために、公開される項目126のその他の側面を変更することもできる。1つの例として、本開示の態様は、共有可能な位置114を示し得る背景内の識別可能な標識の可視性を減らすために、写真の背景(または道路標識もしくは建物の構造などの写真の一部)を明るくするか、暗くするか、変形させるか、ぼやかすか、またはその他の方法で変更するように構成されることができる。
【0068】
図7は、本開示の一部の実施形態に従う、ソーシャル・ネットワーキング・システム102のユーザのプライバシー、安全性、またはセキュリティ、あるいはその組み合わせを向上させるために位置精度モデル120を利用する例示的な方法700のフローチャートを示している。方法700は、ソーシャル・ネットワーキング・システム102、ユーザ・デバイス104、コンピュータ、プロセッサ、あるいは異なる構成のハードウェアもしくはソフトウェアまたはその両方によって実装されることができる。一部の実施形態では、方法700は、
図1のソーシャル・ネットワーキング環境100内のソーシャル・ネットワーキング・システム102によって、または
図2のソーシャル・ネットワーキング環境200内のユーザ・デバイス104によって実行される。
【0069】
動作702は、ソーシャル・ネットワーキングの投稿112を位置精度モデル120に入力することを含んでいる。一部の実施形態では、位置精度モデル120は、1つまたは複数のコンピュータ可読ストレージ媒体に格納される。一部の実施形態では、ソーシャル・ネットワーキングの投稿112は、公開時間116および共有可能な位置114に関連付けられる。一部の実施形態では、ソーシャル・ネットワーキングの投稿112の代わりに、ジオタグ付き投稿が位置精度モデル120に入力され、ジオタグ付き投稿は地理的位置に関連付けられる。
【0070】
動作704は、位置精度モデル120から、変更された共有可能な位置(例えば、変更された位置128-1)を出力することを含んでいる。明示的に示されていないが、動作704は、公開時間116と現在の時間110の間の時間の量、または共有可能な位置114と現在の位置108の間の距離、あるいはその両方を、1つまたは複数のしきい値パラメータ122(例えば、距離しきい値300、期間しきい値302、または時間しきい値304、あるいはその組み合わせ)と比較することを含むことができる。しきい値パラメータ122からのインジケータに基づいて、位置精度モデル120は、位置分解能パラメータ124(例えば、オントロジー位置分解能モデル400、離散化位置分解能モデル402、またはランダム化位置分解能モデル404、あるいはその組み合わせ)に従って適切な位置分解能を決定できる。
【0071】
動作706は、変更された共有可能な位置128-1を含むソーシャル・ネットワーキングの投稿112(またはジオタグ付き投稿)を、ソーシャル・ネットワーキング・システム102に送信することを含んでいる。動作706は、ネットワーク(例えば、ネットワーク106)全体にわたって、またはシステム内(例えば、ソーシャル・ネットワーキング・システム102またはユーザ・デバイス104の各コンポーネント間)で、投稿を送信することを含むことができる。
【0072】
動作708は、一連の更新された変更済みの共有可能な位置(例えば、更新された変更済みの位置128-2)をソーシャル・ネットワーキング・システム102に送信することによって、ソーシャル・ネットワーキングの投稿112を断続的に更新することを含む。例えば、動作708は、(例えば、しきい値パラメータ122に従って決定されるように)さまざまな公開パラメータ130が満たされることの結果として、(例えば、位置分解能パラメータ124に従って決定されるように)位置精度の程度を変えることを伴って公開シーケンス600を作り出すことを含むことができる。
【0073】
図8は、本開示の一部の実施形態に従う、ユーザ・デバイス104のユーザのプライバシー、安全性、またはセキュリティ、あるいはその組み合わせを向上させるために位置精度モデル120を利用する別の例示的な方法800のフローチャートを示している。方法800は、ユーザ・デバイス104、ソーシャル・ネットワーキング・システム102、コンピュータ、プロセッサ、あるいは異なる構成のハードウェアもしくはソフトウェアまたはその両方によって実装されることができる。一部の実施形態では、方法800は、
図1のソーシャル・ネットワーキング環境100のソーシャル・ネットワーキング・システム102によって実装されるが、他の実施形態では、方法800は、
図2のソーシャル・ネットワーキング環境200のユーザ・デバイス104によって実装される。
【0074】
動作802は、ユーザ・プロフィールの位置精度モデル120を構成することを含んでいる。一部の実施形態では、位置精度モデル120を構成することは、1つまたは複数のしきい値パラメータ122および1つまたは複数の位置分解能パラメータ124を相互に関連付けることを含む。言い換えると、(しきい値パラメータ122からの)定義された各しきい値は、(位置分解能パラメータ124からの)対応する位置分解能に関連付けられることができる。しきい値および位置分解能は、(例えば、機械学習、深層学習、または別の自動化されたメカニズムを使用して)自動的に定義されるか、または(例えば、位置精度モデル120へのユーザ入力または管理者の入力に基づいて)手動で定義されることができる。
【0075】
動作804は、ユーザ・デバイス104からのソーシャル・ネットワーキングの投稿112を位置精度モデル120に入力することを含んでいる。一部の実施形態では、動作804は、ソーシャル・ネットワーキング・システム102またはユーザ・デバイス104でソーシャル・ネットワーキングの投稿112を受信することを含む。ソーシャル・ネットワーキングの投稿112は、共有可能な位置114および公開時間116を含むことができる。一部の実施形態では、動作804は、位置精度モデル120によって、共有可能な位置114、現在の位置108、公開時間116、現在の時間110、しきい値パラメータ122、または位置分解能パラメータ124、あるいはその組み合わせに基づいて、変更された位置128-1を生成することを含む。一部の実施形態では、変更された位置128-1は、共有可能な位置114よりも具体的でない。一部の実施形態では、変更された位置128-1は、ヌル値の位置、不明な位置、一般化された位置(例えば、国または州)、あるいは別の曖昧であるか、一般的であるか、ランダムであるか、または具体的でない位置情報である。
【0076】
動作806は、変更された位置128-1を含むソーシャル・ネットワーキングの投稿112を(ソーシャル・ネットワーキング・システム102によって)公開すること、または(ユーザ・デバイス104によって)公開のためにソーシャル・ネットワーキング・システム102に送信することを含んでいる。
【0077】
動作808は、公開パラメータ130が満たされているかどうかを判定することを含んでおり、公開パラメータ130は、しきい値パラメータ122のうちの1つまたは複数で構成されることができ、位置分解能パラメータ124からの対応する位置分解能に関連付けられることができる。
【0078】
どの公開パラメータ130も満たされない場合(808の「いいえ」)、方法800は動作808に戻り、公開パラメータ130のいずれかが満たされているかどうかを連続的、半連続的、または断続的に判定し続ける。公開パラメータ130のうちの1つが満たされた場合(808の「はい」)、方法800は動作810に進む。
【0079】
動作810は、更新された変更済みの位置128-Nを含むようにソーシャル・ネットワーキングの投稿112を変更することを含んでいる。一部の実施形態では、動作810は、更新された変更済みの位置128-2を含むソーシャル・ネットワーキングの投稿112を(ソーシャル・ネットワーキング・システム102によって)公開すること、または(ユーザ・デバイス104によって)公開のためにソーシャル・ネットワーキング・システム102に送信することを含んでいる。一部の実施形態では、更新された変更済みの位置128-Nは、変更された位置128-1よりも具体的であるが、共有可能な位置114よりも具体的でない。
【0080】
動作812は、更新された変更済みの位置128-2が共有可能な位置114であるかどうかを判定することを含んでいる。共有可能な位置114でない場合(812の「いいえ」)、方法800は、連続的、半連続的、または断続的に動作808に戻り、別の公開パラメータ130が満たされているかどうかを判定する。更新された変更済みの位置128-2が共有可能な位置114である場合(812の「はい」)、この方法は動作814に進み、終了する。
【0081】
図9Aは、本開示の一部の実施形態に従う、位置精度モデル120を構成するための例示的な方法900のフローチャートを示している。方法900は、ソーシャル・ネットワーキング・システム102、ユーザ・デバイス104、コンピュータ、プロセッサ、あるいは別の構成のハードウェアもしくはソフトウェアまたはその両方によって実装されることができる。一部の実施形態では、方法900は、
図8の動作802の下位の方法である。
【0082】
動作902は、過去のデータを機械学習モデルに入力することを含んでいる。過去のデータは、例えば、現在の位置108または現在の時間110あるいはその両方などのユーザ・デバイス104からのデータと共に、共有可能な位置114および公開時間116を含む、ソーシャル・ネットワーキングの投稿112を含むことができる。一部の実施形態では、過去のデータは単一のユーザからのものであり、一方、他の実施形態では、過去のデータは多数のユーザからのものである。この情報は、集合的に、項目をソーシャル・ネットワーキング・システム102に投稿する時間の前後のユーザの挙動を近似するか、予測するか、またはその他の方法でモデル化するために使用されることができる。
【0083】
動作904は、動作902で蓄積された過去のデータに基づいて、学習された位置精度モデル120を生成することを含んでいる。一部の実施形態では、動作904は、決定木学習、相関ルール学習、人工ニューラル・ネットワーク、深層学習、帰納的論理プログラミング、サポート・ベクター・マシン、クラスタ化、ベイジアン・ネットワーク、強化学習、表現学習、類似性/メトリック・トレーニング(similarity/metric training)、スパース辞書学習、遺伝的アルゴリズム、ルールベース学習、またはその他の機械学習技術、あるいはその組み合わせなどの、ただしこれらに限定されない、任意の数の機械学習アルゴリズムを実行することを含む。
【0084】
例えば、動作904は、K最近傍手法(KNN:K-nearest neighbor)、学習ベクトル量子化(LVQ:learning vector quantization)、自己組織化マップ(SOM:self-organizingmap)、ロジスティック回帰、最小2乗回帰(OLSR:ordinary least squaresregression)、線形回帰、段階的回帰、多変量適応的回帰スプライン(MARS:multivariateadaptive regression spline)、リッジ回帰、ラッソ回帰(LASSO:leastabsolute shrinkage and selection operator)、弾性ネット、最小角回帰(LARS:least-angle regression)、確率的分類器、単純ベイズ分類器、2値分類器、線形分類器、階層的分類器、正準相関分析(CCA:canonical correlation analysis)、因子分析、独立成分分析(ICA:independent component analysis)、線形判別分析(LDA:lineardiscriminant analysis)、多次元尺度構成法(MDS:multidimensionalscaling)、非負メトリック因数分解(NMF:non-negative metricfactorization)、部分最小二乗回帰(PLSR:partial least squaresregression)、主成分分析(PCA:principal component analysis)、主成分回帰(PCR:principal component regression)、サモン・マッピング、t分布型確率的近傍埋め込み法(t-SNE:t-distributed stochastic neighbor embedding)、ブートストラップ・アグリゲーティング、アンサンブル平均、勾配ブースティング決定木(GBRT:gradient boosted decision tree)、勾配ブースティング・マシン(GBM:gradient boosting machine)、帰納的バイアス・アルゴリズム(inductivebias algorithms)、Q学習、SARSA(state-action-reward-state-action)、時間差(TD:temporal difference)学習、アプリオリ・アルゴリズム、等価クラス変換(ECLAT:equivalence class transformation)アルゴリズム、ガウス過程回帰、遺伝子発現プログラミング、GMDH(group method of data handling)、帰納的論理プログラミング、例題に基づく学習、ロジスティック・モデル・ツリー、情報ファジー・ネットワーク(IFN:information fuzzy network)、隠れマルコフ・モデル、ガウス単純ベイズ、多項単純ベイズ、AODE(averaged one-dependence estimator)、ベイジアン・ネットワーク(BN:Bayesian network)、CART(classification andregression tree)、CHAID(chi-squared automaticinteraction detection)、期待値最大化アルゴリズム、フィードフォワード・ニューラル・ネットワーク、論理学習マシン、自己組織化マップ、単一リンケージ・クラスタリング、ファジー・クラスタリング、階層的クラスタリング、ボルツマン・マシン、畳み込みニューラル・ネットワーク、回帰型ニューラル・ネットワーク、階層的時間記憶(HTM:hierarchical temporal memory)、またはその他の機械学習技術、あるいはその組み合わせという例示的技術のうちの1つまたは複数を使用して過去のデータに対して機械学習を実行するように構成されることができる。
【0085】
動作906は、学習された位置精度モデル120を、
図7~8に関してさらに詳細に説明されたソーシャル・ネットワーキングの投稿112などの、受信されたか、または検出されたソーシャル・ネットワーキングの投稿112に適用することを含んでいる。
【0086】
図9Bは、本開示の一部の実施形態に従う、位置精度モデル120の使用を計測するための例示的な方法910のフローチャートを示している。方法900は、ソーシャル・ネットワーキング・システム102、ユーザ・デバイス104、コンピュータ、プロセッサ、あるいは別の構成のハードウェアもしくはソフトウェアまたはその両方によって実装されることができる。一部の実施形態では、方法910は、
図7~9Aに示された方法のいずれかの一部として実行される。一部の実施形態では、方法910は、リモートのデータ処理システムから動的な共有される位置の変更機能を含むソフトウェアをダウンロードすることに応じて実施される。例えば、動的な共有される位置の変更機能は、アプリケーションとしてユーザ・デバイス104にダウンロードされることができ、このアプリケーションは、1つまたは複数のソーシャル・ネットワーキング・アプリケーション118と情報をやりとりし、ユーザのプライバシー、安全性、またはセキュリティ、あるいはその組み合わせを改善する。
【0087】
動作912は、動的な共有される位置の変更機能の使用を計測することを含む。計測される使用は、単一のデバイス(または単一のユーザ・プロフィール)上で使用された時間の量、指定されたデバイスのセット(または指定されたユーザ・プロフィールのセット)上で使用された時間の累積量、動的な共有される位置の変更機能が提供されたデバイスの数(またはユーザ・プロフィールの数)、位置精度モデル120に入力されたソーシャル・ネットワーキングの投稿112の数、位置精度モデル120から出力された公開可能な項目126の数、またはその他の計測指標、あるいはその組み合わせのうちの1つまたは複数を含むことができる。
【0088】
動作914は、動的な共有される位置の変更機能の使用を計測することに基づいてインボイスを生成することを含んでいる。インボイスは、既定の時間の量に対する既定の静的な請求料金または可変の請求料金に従って生成されることができる。インボイスは、デバイスごと(またはユーザ・プロフィールごと)の使用量、デバイスごと(またはユーザ・プロフィールごと)の使用の料金、動的な共有される位置の変更機能を利用している各デバイス(またはユーザ・プロフィール)の識別情報、インボイスに関連付けられた時間間隔、総費用などの、ただしこれらに限定されない、情報を含むことができる。
【0089】
図10は、本開示の一部の実施形態に従う、例示的なコンピュータ1000のブロック図を示している。さまざまな実施形態では、コンピュータ1000は、
図7~9のうちのいずれか1つまたは複数で説明された方法を実行すること、または
図1~6のうちのいずれか1つで説明された機能を実装すること、あるいはその両方を行うことができる。一部の実施形態では、コンピュータ1000は、ネットワーク1050を介してリモートのデータ処理システムからプロセッサ実行可能命令をダウンロードすることによって、前述の方法および機能に関連する命令を受信する。他の実施形態では、コンピュータ1000は、コンピュータ1000によって提供された命令に基づいてクライアント・マシンが方法または方法の一部を実行するように、前述の方法または機能あるいはその両方のための命令をクライアント・マシンに提供する。一部の実施形態では、コンピュータ1000は、ソーシャル・ネットワーキング・システム102、ユーザ・デバイス104、または本開示の別の態様のうちのいずれか1つまたは複数に組み込まれる(またはコンピュータ1000に類似する機能が、これらうちのいずれか1つまたは複数に仮想的にプロビジョニングされる)。
【0090】
コンピュータ1000は、メモリ1025、ストレージ1030、相互接続1020(例えば、バス)、1つまたは複数のCPU1005(本明細書ではプロセッサとも呼ばれる)、I/Oデバイス・インターフェイス1010、I/Oデバイス1012、およびネットワーク・インターフェイス1015を含んでいる。
【0091】
各CPU1005は、メモリ1025またはストレージ1030に格納されたプログラミング命令を取得して実行する。相互接続1020は、プログラミング命令などのデータを、CPU1005、I/Oデバイス・インターフェイス1010、ストレージ1030、ネットワーク・インターフェイス1015、およびメモリ1025の間で移動するために使用される。相互接続1020は、1つまたは複数のバスを使用して実装されることができる。さまざまな実施形態では、CPU1005は、単一のCPU、複数のCPU、または複数のプロセッシング・コアを含む単一のCPUであることができる。一部の実施形態では、CPU1005は、デジタル信号プロセッサ(DSP:digital signal processor)であることができる。一部の実施形態では、CPU1005は、1つまたは複数の3D集積回路(3DIC:3D integrated circuits)(例えば、3Dウエハー・レベル・パッケージング(3DWLP:3D wafer-level packaging)、3Dインターポーザベースの統合、3DスタックIC(3D-SIC:3D stacked IC)、モノリシック3D IC、3D異種統合、3Dシステム・イン・パッケージ(3DSiP:3D system in package)、またはパッケージ・オン・パッケージ(PoP:packageon package)CPU構成、あるいはその組み合わせ)を含む。メモリ1025は、一般に、ランダム・アクセス・メモリ(例えば、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ダイナミック・ランダム・アクセス・メモリ(DRAM:dynamic random access memory)、またはフラッシュ)を表すために含められている。ストレージ1030は、一般に、ハード・ディスク・ドライブ、半導体デバイス(SSD:solid state device)、取り外し可能メモリ・カード、光ストレージ、またはフラッシュ・メモリ・デバイスなどの、不揮発性メモリを表すために含められている。代替の実施形態では、ストレージ1030は、I/Oデバイス・インターフェイス1010を介してコンピュータ1000に接続されたか、またはネットワーク・インターフェイス1015を介してネットワーク1050に接続された、ストレージ領域ネットワーク(SAN:storage area-network)デバイス、クラウド、またはその他のデバイスに置き換えられることができる。
【0092】
一部の実施形態では、メモリ1025は命令1060を格納する。しかし、さまざまな実施形態では、命令1060は、メモリ1025およびストレージ1030それぞれに部分的に格納されるか、またはメモリ1025もしくはストレージ1030それぞれに完全に格納されるか、あるいはネットワーク・インターフェイス1015を介してネットワーク1050を経由してアクセスされる。
【0093】
命令1060は、
図7~9の方法のうちのいずれかの一部またはすべてを実行すること、または
図1~6で説明された機能のいずれかを実装すること、あるいはその両方のためのコンピュータ可読命令およびコンピュータ実行可能命令であることができる。一部の実施形態では、命令1060は、ハードウェアによって実行されたときに動的な共有される位置の変更機能を提供するように構成されたソフトウェアであることができる。
【0094】
さまざまな実施形態では、I/Oデバイス1012は、情報を提示し、入力を受信することができるインターフェイスを含む。例えば、I/Oデバイス1012は、情報をコンピュータ1000と対話しているユーザに提示し、ユーザから入力を受信することができる。
【0095】
コンピュータ1000は、ネットワーク・インターフェイス1015を介してネットワーク1050に接続される。ネットワーク1050は、物理的ネットワーク、無線ネットワーク、セルラー・ネットワーク、または異なるネットワークを含むことができる。
【0096】
本開示にはクラウド・コンピューティングに関する詳細な説明が含まれているが、本明細書において示された内容の実装は、クラウド・コンピューティング環境に限定されないと理解されるべきである。本発明の実施形態は、現在既知であるか、または今後開発される任意のその他の種類のコンピューティング環境と組み合わせて実装できる。
【0097】
クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、これらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含んでよい。
【0098】
特徴は、次のとおりである。
オンデマンドのセルフ・サービス:クラウドの利用者は、サーバの時間、ネットワーク・ストレージなどの計算能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングすることができる。
幅広いネットワーク・アクセス:クラウドの能力は、ネットワークを経由して利用可能であり、標準的なメカニズムを使用してアクセスできるため、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による利用を促進する。
リソース・プール:プロバイダの計算リソースは、プールされ、マルチテナント・モデルを使用して複数の利用者に提供される。種々の物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、さらに高い抽象レベルでは、場所(例えば、国、州、またはデータセンター)を指定できる場合がある。
迅速な順応性:クラウドの能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できる能力は、利用者には、多くの場合、任意の量をいつでも無制限に購入できるように見える。
測定されるサービス:クラウド・システムは、計測機能を活用することによって、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適した抽象レベルで、リソースの使用を自動的に制御および最適化する。リソースの使用量は監視、制御、および報告することができ、利用されるサービスのプロバイダと利用者の両方に透明性が提供される。
【0099】
サービス・モデルは、次のとおりである。
SaaS(Software as a Service):利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Webブラウザ(例えば、Webベースの電子メール)などのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
PaaS(Platform as a Service):利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイすることである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。
IaaS(Infrastructure as a Service):利用者に提供される能力は、処理、ストレージ、ネットワーク、およびその他の基本的な計算リソースのプロビジョニングであり、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、およびデプロイされたアプリケーションを制御することができ、場合によっては、選択されたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御できる。
【0100】
デプロイメント・モデルは、次のとおりである。
プライベート・クラウド:このクラウド・インフラストラクチャは、ある組織のためにのみ運用される。この組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項)を共有している特定のコミュニティをサポートする。これらの組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
パブリック・クラウド:このクラウド・インフラストラクチャは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データとアプリケーションの移植を可能にする標準化された技術または独自の技術(例えば、クラウド間の負荷バランスを調整するためのクラウド・バースト)によって固有の実体を残したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。
【0101】
クラウド・コンピューティング環境は、ステートレス、疎結合、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0102】
ここで
図11を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示されているように、クラウド・コンピューティング環境50は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス(例えば、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組み合わせなど)が通信できる1つまたは複数のクラウド・コンピューティング・ノード10を含んでいる。ノード10は、互いに通信してよい。ノード10は、1つまたは複数のネットワーク内で、本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組み合わせなどに、物理的または仮想的にグループ化され得る(図示されていない)。これによって、クラウド・コンピューティング環境50は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組み合わせを提供できる。
図11に示されたコンピューティング・デバイス54A~Nの種類は、例示のみが意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信することができると理解される。
【0103】
ここで
図12を参照すると、クラウド・コンピューティング環境50(
図11)によって提供される機能的抽象レイヤのセットが示されている。
図12に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次のレイヤおよび対応する機能が提供される。
【0104】
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム61、RISC(Reduced Instruction Set Computer)アーキテクチャベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーク・コンポーネント66が挙げられる。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0105】
仮想化レイヤ70は、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75などの仮想的実体を提供できる抽象レイヤを備える。
【0106】
一例を挙げると、管理レイヤ80は、以下で説明される機能を提供することができる。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよびその他のリソースの動的調達を行う。計測および価格設定82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびそれらのリソースの利用に対する請求書の発行またはインボイスの発行を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウドの利用者およびタスクのID検証を行うとともに、データおよびその他のリソースの保護を行う。ユーザ・ポータル83は、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理84は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス水準合意(SLA:Service Level Agreement)計画および実行85は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、SLAに従って行う。
【0107】
ワークロード・レイヤ90は、クラウド・コンピューティング環境で利用できる機能の例を示している。このレイヤから提供されてよいワークロードおよび機能の例としては、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育の配信93、データ解析処理94、トランザクション処理95、および動的な共有される位置の変更機能96が挙げられる。
【0108】
本発明の実施形態は、任意の可能な統合の技術的詳細レベルで、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含むコンピュータ可読ストレージ媒体を含むことができる。
【0109】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであることができるが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-onlymemory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasableprogrammable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー・ディスク、命令が記録されているパンチカードまたは溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が、電波またはその他の自由に伝搬する電磁波、導波管またはその他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
【0110】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされることができる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えることができる。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0111】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の構成データ、あるいは、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードであることができる。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われることができる。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行することができる。
【0112】
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装されることができるということが理解されるであろう。
【0113】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであることができる。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作の態様を実施する命令を含む製品を備えるように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに特定の方式で機能するように指示できるものであることもできる。
【0114】
コンピュータ可読プログラム命令は、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施するように、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスに読み込まれることもでき、それによって、一連の動作可能なステップを、コンピュータ上、その他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成するその他のデバイス上で実行させる。
【0115】
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を含む、命令のモジュール、セグメント、またはサブセットを表すことができる。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生することができる。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されることができる。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装されることができるということにも注意する。
【0116】
CD、DVDなどのストレージ媒体を読み込むことを介して、クライアント、サーバ、およびプロキシ・コンピュータに手動で直接読み込むことによって、プロセス・ソフトウェア(例えば、
図7~9に関して説明された方法の任意のサブセットまたは
図1~6で説明された機能あるいはその両方を実行するように構成された、
図10の命令1060に格納された命令のいずれかまたは任意のソフトウェアあるいはその両方)がデプロイされることができるということが理解されるが、プロセス・ソフトウェアは、プロセス・ソフトウェアを中央サーバまたは中央サーバのグループに送信することによって、コンピュータ・システムに自動的または半自動的にデプロイされることもできる。その後、プロセス・ソフトウェアは、プロセス・ソフトウェアを実行するクライアント・コンピュータにダウンロードされる。代替として、プロセス・ソフトウェアは、電子メールを介してクライアント・システムに直接送信される。その後、プロセス・ソフトウェアは、ディレクトリに分離されるか、またはプロセス・ソフトウェアをディレクトリに分離するプログラム命令のセットを実行することによって、ディレクトリに読み込まれる。別の代替手段は、プロセス・ソフトウェアをクライアント・コンピュータのハード・ドライブ上のディレクトリに直接送信することである。プロキシ・サーバが存在する場合、プロセスは、プロキシ・サーバのコードを選択し、プロキシ・サーバのコードを配置するコンピュータを決定し、プロキシ・サーバのコードを送信し、その後、プロキシ・サーバのコードをプロキシ・コンピュータにインストールする。プロセス・ソフトウェアは、プロキシ・サーバに送信されてから、プロキシ・サーバに格納される。
【0117】
本発明の実施形態は、クライアント企業、非営利組織、政府機関、内部組織構造などとのサービス契約の一部として配信されることもできる。これらの実施形態は、本明細書に記載された方法の一部またはすべてを実装するソフトウェア、ハードウェア、およびWebサービスを実行するようにコンピュータ・システムを構成することと、そのようなソフトウェア、ハードウェア、およびWebサービスをデプロイすることとを含むことができる。これらの実施形態は、クライアントの動作を解析することと、解析に応答して推奨を作成することと、推奨のサブセットを実施するシステムを構築することと、システムを既存のプロセスおよびインフラストラクチャに統合することと、システムの使用を計測することと、費用をシステムのユーザの割り当てることと、請求書を発行するか、インボイスを発行する(例えば、インボイスを生成する)か、またはその他の方法でシステムの使用に対する支払いを受信することとを含むこともできる。
【0118】
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、さまざまな実施形態を制限することを意図していない。本明細書において使用されるとき、単数形「a」、「an」、および「the」は、文脈で特に明示的に示されない限り、複数形も含むよう意図されている。「含む」または「含んでいる」あるいはその両方の用語は、本明細書で使用される場合、記載された機能、整数、ステップ、動作、要素、またはコンポーネント、あるいはその組み合わせの存在を示すが、1つまたは複数のその他の機能、整数、ステップ、動作、要素、コンポーネント、またはこれらのグループ、あるいはその組み合わせの存在または追加を除外していないということが、さらに理解されるであろう。さまざまな実施形態のうちの例示的な実施形態の前の詳細な説明では、本明細書の一部を形成する(類似する番号が類似する要素を表す)添付の図面への参照が行われ、特定の実施形態例が例として示されており、さまざまな実施形態が実践されることができる。これらの実施形態は、当業者が実施形態を実践できるようにするために十分詳細に説明されたが、他の実施形態が使用されることができ、さまざまな実施形態の範囲から逸脱することなく、論理的変更、機械的変更、電気的変更、およびその他の変更が行われることができる。前の説明では、さまざまな実施形態の完全な理解を可能にするために、多くの特定の詳細が示された。しかし、さまざまな実施形態は、それらの特定の詳細なしで実践されることができる。他の例では、実施形態を不明瞭にしないために、周知の回路、構造、および技術は詳細に示されていない。
【0119】
「実施形態」という用語の異なる事例は、本明細書内で使用されるとき、同じ実施形態を必ずしも参照しないが、同じ実施形態を参照することもできる。本明細書において示されたか、または説明されたすべてのデータおよびデータ構造は単なる例であり、他の実施形態では、異なるデータの量、データの種類、フィールド、フィールドの数および種類、フィールド名、行の数および種類、レコード、エントリ、またはデータの編成が使用されることができる。加えて、分離したデータ構造が必要でなくてよいように、任意のデータが論理と組み合わせられることができる。したがって、前の詳細な説明は、限定する意味で受け取られるべきではない。
【0120】
本開示のさまざまな実施形態の説明は、例示の目的で提示されているが、網羅的であることは意図されておらず、開示された実施形態に制限されない。説明された実施形態の範囲および思想から逸脱しない多くの変更および変形が、当業者にとって明らかであろう。本明細書で使用された用語は、実施形態の原理、実際の適用、または市場で見られる技術を超える技術的改良を最も適切に説明するため、または他の当業者が本明細書で開示された実施形態を理解できるようにするために選択されている。
【0121】
本開示は、特定の実施形態に関して説明されたが、実施形態の変更および修正が当業者にとって明らかになるということが予想される。したがって、以下の特許請求の範囲が、そのようなすべての変更および修正を、本開示の真の思想および範囲に含むように、対象にすると解釈されるということが意図される。
【0122】
本開示で説明されたすべての利点は例示的な利点であり、本開示の思想および範囲内にとどまりながら、説明された利点のすべてまたは一部を実現するか、あるいはいずれも実現しない本開示の実施形態が存在することができる。
【0123】
以下では、本開示の一部の非限定的な実施形態例が説明される。
【0124】
第1の実施形態:ソーシャル・ネットワーキングの投稿を、ソーシャル・ネットワーキングの投稿の位置分解能を変更するように構成された位置精度モデルに入力することであって、ソーシャル・ネットワーキングの投稿が、第1の時間および共有可能な位置に関連付けられる、入力することと、変更された共有可能な位置を含むソーシャル・ネットワーキングの投稿を公開することであって、変更された共有可能な位置が、共有可能な位置の一般化されたバージョンである、公開することと、位置精度モデルに関連付けられたパラメータが満たされているということを決定することと、更新された変更済みの共有可能な位置を含むようにソーシャル・ネットワーキングの投稿を変更することであって、更新された変更済みの共有可能な位置が、変更された共有可能な位置よりも具体的であり、共有可能な位置よりも具体的でない、変更することとを含む、コンピュータ実装方法。
【0125】
第2の実施形態:位置精度モデルがソーシャル・ネットワーキング・システムに格納され、ソーシャル・ネットワーキングの投稿がユーザ・デバイスから受信される、実施形態1に記載の制限。
【0126】
第3の実施形態:位置精度モデルがユーザ・デバイスに格納され、ソーシャル・ネットワーキングの投稿がユーザ・デバイスから受信される、実施形態1に記載の制限。
【0127】
第4の実施形態:更新された変更済みの共有可能な位置が、第1の時間と現在の時間の間の時間の量に基づく、実施形態1ないし3のいずれか1つに記載の制限。
【0128】
第5の実施形態:変更された共有可能な位置が、ソーシャル・ネットワーキングの投稿を作成したユーザ・デバイスの共有可能な位置と現在の位置の間の距離に基づく、実施形態1ないし4のいずれか1つに記載の制限。
【0129】
第6の実施形態:方法が、位置精度モデルに関連付けられた第2のパラメータが満たされたということを決定することと、共有可能な位置を含むようにソーシャル・ネットワーキングの投稿を変更することとをさらに含む、実施形態1ないし5のいずれか1つに記載の制限。
【0130】
第7の実施形態:パラメータが、第1の時間と現在の時間の間の時間の量であり、この時間の量が時間しきい値より大きい、実施形態1ないし3または6のいずれか1つに記載の制限。
【0131】
第8の実施形態:パラメータが、共有可能な位置と現在の位置の間の距離であり、この距離が距離しきい値より大きい、実施形態1ないし3または6ないし7のいずれか1つに記載の制限。
【0132】
第9の実施形態:距離が、少なくとも期間しきい値に等しい時間の量の間、距離しきい値より大きい、実施形態8に記載の制限。
【0133】
第10の実施形態:パラメータが、第1の時間と現在の時間の間の時間の量および共有可能な位置と現在の位置の間の距離に基づくスコアであり、このスコアがスコアしきい値より大きい、実施形態1ないし3のいずれか1つに記載の制限。
【0134】
第11の実施形態:少なくとも期間しきい値の間、共有可能な位置と現在の位置の間の距離が距離しきい値より大きく、第1の時間と現在の時間の間の時間が時間しきい値より大きいことに応じて、スコアがスコアしきい値を満たす、実施形態10に記載の制限。
【0135】
第12の実施形態:第1の時間と現在の時間の間の時間の量が第1の重みパラメータに関連付けられ、共有可能な位置と現在の位置の間の距離が第2の重みパラメータに関連付けられる、実施形態10に記載の制限。
【0136】
第13の実施形態:位置精度モデルがオントロジー位置分解能モデルに基づき、オントロジー位置分解能モデルが位置の具体性のオントロジー階層を含む、実施形態1ないし10のいずれか1つに記載の制限。
【0137】
第14の実施形態:位置精度モデルが離散化位置分解能モデルに基づき、離散化位置分解能モデルが可変マップ分解能を含む、実施形態1ないし10のいずれか1つに記載の制限。
【0138】
第15の実施形態:位置精度モデルがランダム化位置分解能モデルに基づき、ランダム化位置分解能モデルが共有可能な位置の変化する部分をランダム化するように構成される、実施形態1ないし10のいずれか1つに記載の制限。
【0139】
第16の実施形態:方法が、リモートのデータ処理システムからソーシャル・ネットワーキング・システムにダウンロードされたソフトウェアに従って実行される、実施形態1ないし15のいずれか1つに記載の制限。
【0140】
第17の実施形態:方法が、ソフトウェアの使用を計測することと、使用の計測に基づいてインボイスを生成することとをさらに含む、実施形態16に記載の制限。
【0141】
第18の実施形態:方法が、1つまたは複数のプロセッサと、プログラム命令を格納している1つまたは複数のコンピュータ可読ストレージ媒体とを備えているシステムによって実行され、プログラム命令が、1つまたは複数のプロセッサによって実行された場合に、1つまたは複数のプロセッサに方法を実行させるように構成される、実施形態1ないし17のいずれか1つに記載の制限。
【0142】
第19の実施形態:方法が、1つまたは複数のコンピュータ可読ストレージ媒体と、1つまたは複数のコンピュータ可読ストレージ媒体に集合的に格納されたプログラム命令とを備えているコンピュータ・プログラム製品によって実行され、プログラム命令が、1つまたは複数のプロセッサに方法を集合的に実行させるように構成される、実施形態1ないし17のいずれか1つに記載の制限。
【0143】
第20の実施形態:ユーザ・デバイスから受信されたソーシャル・ネットワーキングの投稿を、ユーザ・デバイス上のアプリケーションとして実行されている位置精度モデルに入力することであって、ソーシャル・ネットワーキングの投稿が第1の時間および共有可能な位置に関連付けられる、入力することと、位置精度モデルによって、変更された共有可能な位置を出力することと、変更された共有可能な位置を含むソーシャル・ネットワーキングの投稿をソーシャル・ネットワーキング・システムに送信することであって、変更された共有可能な位置が共有可能な位置の一般化されたバージョンである、送信することとを含む、コンピュータ実装方法。
【0144】
第21の実施形態:第2の時間に、更新された変更済みの共有可能な位置を含むソーシャル・ネットワーキングの投稿をソーシャル・ネットワーキング・システムに送信することをさらに含み、更新された変更済みの共有可能な位置が、共有可能な位置よりも具体的でなく、変更された共有可能な位置よりも具体的である、実施形態20に記載の制限。
【0145】
第22の実施形態:変更された共有可能な位置が、第1の時間と現在の時間の間の時間の量に応じて変化する、実施形態20ないし21のいずれか1つに記載の制限。
【0146】
第23の実施形態:変更された共有可能な位置が、ユーザ・デバイスの共有可能な位置と現在の位置の間の距離に応じて変化する、実施形態20ないし22のいずれか1つに記載の制限。
【0147】
第24の実施形態:ユーザ・デバイスから受信されたジオタグ付き投稿を位置精度モデルに入力することであって、ジオタグ付き投稿が第1の時間および地理的位置に関連付けられる、入力することと、位置精度モデルによって、一般化された地理的位置を出力することと、一般化された地理的位置を含むジオタグ付き投稿を公開することと、位置精度モデルおよびユーザ・デバイスの位置に基づいて一連の更新された一般化済みの地理的位置を公開することによって、ジオタグ付き投稿を断続的に更新することとを含む、コンピュータ実装方法。
【0148】
第25の実施形態:位置精度モデルが、現在の時間と第1の時間の間の時間の量および地理的位置とユーザ・デバイスの位置の間の距離に応じて地理的位置の位置分解能を変更するように構成される、実施形態24に記載の制限。