(57)【要約】  ログ記録を削除する方法は、ある期間中に生成された複数のログ記録を識別するステップと、識別したログ記録ごとに、このログ記録に対応付けられた削除要求が出されたか否か判断するステップと、削除要求を受付けなかったという判断に応じて、上記ログ記録に対応付けられた固有識別子を識別するステップと、この固有識別子に対応付けられたキーテーブルインデックスを有するエントリを探してユーザアクティビティテーブルを検索するステップとを含み得る。上記エントリはタイムスタンプに対応付けられている。上記方法はまた、上記キーテーブルインデックスとタイムスタンプを用いて、キーテーブルの、上記固有識別子と上記タイムスタンプとに対応付けられたキーを識別するステップと、この識別したキーを有する上記ログ記録の少なくとも一部を暗号化して暗号化値を生成するステップと、この暗号化値を、上記識別したログ記録に対応付けられた、ログ記録データベース内のエントリとして、格納するステップとを含み得る。
2017506388.tif 000002
【特許請求の範囲】
【請求項１】
ログ記録を削除する方法であって、前記方法は、
コンピューティング装置によって、ログ記録データベースから、ある期間中に生成された複数のログ記録を識別するステップを含み、各ログ記録はユーザアクティビティに対応し、
識別したログ記録ごとに、
前記コンピューティング装置によって、前記ログ記録に対応付けられた削除要求が出されたか否か判断するステップと、
削除要求を受付けなかったという判断に応じて、
前記ログ記録に対応付けられた固有識別子を識別するステップと、
前記固有識別子に対応付けられたキーテーブルインデックスを有するエントリを探してユーザアクティビティテーブルを検索するステップとを含み、前記エントリはタイムスタンプに対応付けられており、
前記キーテーブルインデックスと前記タイムスタンプを用いて、キーテーブルの、前記固有識別子と前記タイムスタンプとに対応付けられたキーを識別するステップと、
前記コンピューティング装置によって、前記識別したキーを有する前記ログ記録の少なくとも一部を暗号化して暗号化値を生成するステップと、
前記暗号化値を、前記識別したログ記録に対応付けられた、前記ログ記録データベース内のエントリとして、格納するステップとを含む、方法。
【請求項２】
前記ある期間中に生成された複数のログ記録を識別するステップは、分析期間の終了後かつ完了期間の終了前に生成された複数のログ記録を識別するステップを含む、請求項１に記載の方法。
【請求項３】
前記識別したキーを有する前記ログ記録の少なくとも一部を暗号化して暗号化値を生成するステップは、
前記ユーザ識別子、および
前記ユーザアクティビティ
のうちの１つ以上を暗号化するステップを含む、請求項１に記載の方法。
【請求項４】
第２の削除要求を受付けるステップをさらに含み、前記第２の削除要求は、前記ログ記録を削除する予定であることを示し、
前記ログ記録に対応付けられた固有識別子とタイムスタンプとを識別するステップと、
前記削除する予定であるログ記録の前記固有識別子に対応付けられたキーデータベースインデックスを探して前記ユーザアクティビティテーブルを検索するステップと、
前記キーデータベースインデックスを用いて、前記ログ記録の前記タイムスタンプに対応する、前記キーデータベース内のエントリを識別するステップと、
前記キーデータベースから、前記識別したエントリに対応付けられたキーを削除するステップとを含む、請求項１に記載の方法。
【請求項５】
前記キーを削除するステップは、
前記キーテーブル内の、前記識別したエントリから、前のエントリへの第１のバックポインタを識別するステップと、
前記キーテーブル内の、後のエントリから、前記識別したエントリへの第２のバックポインタを識別するステップと、
前記第１のバックポインタを削除するステップと、
前記第２のバックポインタを、前記キーテーブル内の前記前のエントリを指すように調整するステップとを含む、請求項４に記載の方法。
【請求項６】
前記第２の削除要求は、
特定のウェブアクティビティアクションの削除要求、および
ユーザアカウントの削除要求
のうちの１つ以上を含む、請求項４に記載の方法。
【請求項７】
第２の削除要求を受付けるステップをさらに含み、前記第２の削除要求は、前記ログ記録を削除する予定であることを示し、
前記第２の削除要求に基づいて、削除する予定である複数のログ記録を識別するステップと、
前記削除する予定である複数のログ記録のうちのログ記録ごとに、
前記削除する予定であるログ記録に対応付けられた固有識別子とタイムスタンプとを識別するステップと、
前記削除する予定であるログ記録の前記固有識別子に対応付けられたキーデータベースインデックスを有するエントリを探して前記ユーザアクティビティテーブルを検索するステップと、
前記エントリに対応付けられた前記キーデータベースインデックスを用いて、前記キーデータベース内の、前記ログ記録に対応付けられた前記タイムスタンプに対応するエントリを識別するステップと、
前記キーデータベースから、前記識別したエントリに対応付けられたキーを削除するステップとを含む、請求項１に記載の方法。
【請求項８】
前記キーを削除するステップは、
前記キーテーブル内の、前記識別したエントリから、前のエントリへの第１のバックポインタを識別するステップと、
前記キーテーブル内の、後のエントリから、前記識別したエントリへの第２のバックポインタを識別するステップと、
前記第１のバックポインタを削除するステップと、
前記第２のバックポインタを、前記キーテーブル内の前記前のエントリを指すように調整するステップとを含む、請求項７に記載の方法。
【請求項９】
前記ユーザアクティビティテーブル内のエントリごとに、
前記エントリに対応付けられたキー値インデックスを生成するステップをさらに含み、前記キー値インデックスは、キーテーブル内のエントリに対応し、
前記エントリに対応付けられたランダムキーを生成するステップと、
前記ランダムキーを前記キーテーブル内の前記キー値インデックスの場所に格納するステップと、
前記エントリが削除要求を含むか否か判断するステップと、
前記エントリが削除要求を含むという判断に応じて、前記削除要求と、前記削除要求に対応付けられたログ記録のタイムスタンプとを、削除リストに加えるステップとを含む、請求項１に記載の方法。
【請求項１０】
前記ログ記録に対応付けられた削除要求が出されたか否か判断する前記ステップは、前記削除要求が前記削除リストにあるか否か判断するステップを含む、請求項９に記載の方法。
【請求項１１】
ログ記録を削除するシステムであって、前記システムは、
コンピューティング装置と、
前記コンピューティング装置と通信するコンピュータ読取可能な記憶媒体とを備え、
前記コンピュータ読取可能な記憶媒体は１つ以上のプログラミング命令を含み、前記プログラミング命令は、実行されたときに、前記コンピューティング装置に以下のステップを実行させ、前記ステップは、
ある期間中に生成された複数のログ記録を識別するステップを含み、各ログ記録はユーザアクティビティに対応し、
識別したログ記録ごとに、
前記ログ記録に対応付けられた削除要求が出されたか否か判断するステップと、
削除要求を受付けなかったという判断に応じて、
前記ログ記録に対応付けられた固有識別子を識別するステップと、
前記固有識別子に対応付けられたキーテーブルインデックスを有するエントリを探してユーザアクティビティテーブルを検索するステップとを含み、前記エントリはタイムスタンプに対応付けられており、
前記キーテーブルインデックスと前記タイムスタンプを用いて、キーテーブルの、前記固有識別子と前記タイムスタンプとに対応付けられたキーを識別するステップと、
前記コンピューティング装置によって、前記識別したキーを有する前記ログ記録の少なくとも一部を暗号化して暗号化値を生成するステップと、
前記暗号化値を、前記識別したログ記録に対応付けられた、ログ記録データベース内のエントリとして、格納するステップとを含む、システム。
【請求項１２】
実行されたときに、前記コンピューティング装置に、前記ある期間中に生成された複数のログ記録を識別するステップを実行させる、前記１つ以上のプログラミング命令は、実行されたときに、前記コンピューティング装置に、分析期間の終了後かつ完了期間の終了前に生成された複数のログ記録を識別するステップを実行させる１つ以上のプログラミング命令を含む、請求項１１に記載のシステム。
【請求項１３】
実行されたときに、前記コンピューティング装置に、前記識別したキーを有する前記ログ記録の少なくとも一部を暗号化して暗号化値を生成するステップを実行させる、前記１つ以上のプログラミング命令は、実行されたときに、前記コンピューティング装置に、
前記ユーザ識別子、および
前記ユーザアクティビティ
のうちの１つ以上を暗号化するステップを実行させる１つ以上のプログラミング命令を含む、請求項１１に記載のシステム。
【請求項１４】
前記コンピュータ読取可能な記憶媒体は、実行されたときに、前記コンピューティング装置に以下のステップを実行させる１つ以上のプログラミング命令をさらに含み、前記ステップは、
第２の削除要求を受付けるステップを含み、前記第２の削除要求は、前記ログ記録を削除する予定であることを示し、
前記ログ記録に対応付けられた固有識別子とタイムスタンプとを識別するステップと、
前記削除する予定であるログ記録の前記固有識別子に対応付けられたキーデータベースインデックスを探して前記ユーザアクティビティテーブルを検索するステップと、
前記キーデータベースインデックスを用いて、前記ログ記録の前記タイムスタンプに対応する、前記キーデータベース内のエントリを識別するステップと、
前記キーデータベースから、前記識別したエントリに対応付けられたキーを削除するステップとを含む、請求項１１に記載のシステム。
【請求項１５】
実行されたときに、前記コンピューティング装置に、前記キーを削除するステップを実行させる、前記１つ以上のプログラミング命令は、実行されたときに、前記コンピューティング装置に、以下のステップを実行させる１つ以上のプログラミング命令を含み、前記ステップは、
前記キーテーブル内の、前記識別したエントリから、前のエントリへの第１のバックポインタを識別するステップと、
前記キーテーブル内の、後のエントリから、前記識別したエントリへの第２のバックポインタを識別するステップと、
前記第１のバックポインタを削除するステップと、
前記第２のバックポインタを、前記キーテーブル内の前記前のエントリを指すように調整するステップとを含む、請求項１４に記載のシステム。
【請求項１６】
前記第２の削除要求は、
特定のウェブアクティビティアクションの削除要求、および
ユーザアカウントの削除要求
のうちの１つ以上を含む、請求項１４に記載のシステム。
【請求項１７】
前記コンピュータ読取可能な記憶媒体は、実行されたときに、前記コンピューティング装置に以下のステップを実行させる１つ以上のプログラミング命令をさらに含み、前記ステップは、
第２の削除要求を受付けるステップを含み、前記第２の削除要求は、前記ログ記録を削除する予定であることを示し、
前記第２の削除要求に基づいて、削除する予定である複数のログ記録を識別するステップと、
前記削除する予定である複数のログ記録のうちのログ記録ごとに、
前記削除する予定であるログ記録に対応付けられた固有識別子とタイムスタンプとを識別するステップと、
前記固有識別子に対応付けられたキーデータベースインデックスを有するエントリを探して前記ユーザアクティビティテーブルを検索するステップと、
前記キーデータベースインデックスを用いて、前記キーデータベース内の、前記削除する予定であるログ記録に対応付けられた前記タイムスタンプに対応するエントリを識別するステップと、
前記キーデータベースから、前記識別したエントリに対応付けられたキーを削除するステップとを含む、請求項１１に記載のシステム。
【請求項１８】
実行されたときに、前記コンピューティング装置に、前記キーを削除するステップを実行させる、前記１つ以上のプログラミング命令は、実行されたときに、前記コンピューティング装置に、以下のステップを実行させる１つ以上のプログラミング命令を含み、前記ステップは、
前記キーテーブル内の、前記識別したエントリから、前のエントリへの第１のバックポインタを識別するステップと、
前記キーテーブル内の、後のエントリから、前記識別したエントリへの第２のバックポインタを識別するステップと、
前記第１のバックポインタを削除するステップと、
前記第２のバックポインタを、前記キーテーブル内の前記前のエントリを指すように調整するステップとを含む、請求項１７に記載のシステム。
【請求項１９】
前記コンピュータ読取可能な記憶媒体は、実行されたときに、前記コンピューティング装置に以下のステップを実行させる１つ以上のプログラミング命令をさらに含み、前記ステップは、
前記ユーザアクティビティテーブル内のエントリごとに、
前記エントリに対応付けられたキー値インデックスを生成するステップを含み、前記キー値インデックスは、キーテーブル内のエントリに対応し、
前記エントリに対応付けられたランダムキーを生成するステップと、
前記ランダムキーを前記キーテーブル内の前記キー値インデックスの場所に格納するステップと、
前記エントリが削除要求を含むか否か判断するステップと、
前記エントリが削除要求を含むという判断に応じて、前記削除要求と、前記削除要求に対応付けられたログ記録のタイムスタンプとを、削除リストに加えるステップとを含む、請求項１１に記載のシステム。
【請求項２０】
実行されたときに、前記コンピューティング装置に、前記ログ記録に対応付けられた削除要求が出されたか否か判断する前記ステップを実行させる、前記１つ以上のプログラミング命令は、実行されたときに、前記コンピューティング装置に、前記削除要求が前記削除リストにあるか否か判断するステップを実行させる１つ以上のプログラミング命令を含む、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願および優先権の主張
本願は、２０１４年２月６日に出願され「Methods and Systems for Deleting Requested Information（要求された情報を削除するための方法およびシステム）」と題された米国特許出願第１４／１７３，９３１号に基づく優先権を主張する。この先行出願の開示全体を本明細書に引用により援用する。
【背景技術】
【０００２】
背景
ソーシャルメディア、モバイル機器、および個人秘書型サービスの使用が増加したことにより、ログ記録されたデータにおけるユーザの匿名性の保護がより複雑になっている。ログが蓄積されると、拡大し続ける、データのコーパスが、削除パイプラインに与えられる。データは、ユーザから要求された削除またはその他の方針に従って、一定期間内に処理および／または削除する必要がある場合があり、そのために、削除プロセス（処理）は一層複雑になる。
【発明の概要】
【課題を解決するための手段】
【０００３】
概要
本開示は、記載されている特定のシステム、方法論、またはプロトコルに限定されない。これらのシステム、方法論、またはプロトコルは変化し得るからである。本明細書で使用する用語は、専ら特定のバージョンまたは実施形態を説明するためのものあって、範囲を限定することを意図したものではない。
【０００４】
本明細書で使用する単数形（「a」、「an」、「the」）は、文脈が明らかにそうでないことを示す場合を除いて、複数形を含む。特に指定しない限り、本明細書で使用するすべての技術および科学用語は、当業者が一般的に理解する意味と同じ意味を有する。本明細書に記載のすべての刊行物を引用により援用する。本明細書に記載のすべてのサイズは専ら例示が目的であり、本発明は下記の特定のサイズまたは寸法を有する構造に限定されない。本明細書で使用する「備える／含む」という用語は、「含むがそれに限定されない」ことを意味する。
【０００５】
ある実施形態において、ログ記録を削除する方法は、コンピューティング装置によって、ログ記録データベースから、ある期間中に生成された複数のログ記録を識別するステップを含み得る。各ログ記録はユーザアクティビティ（活動の状況）に対応し得る。この方法は、識別したログ記録ごとに、上記コンピューティング装置によって、上記ログ記録に対応付けられた削除要求が出されたか否か判断するステップと、削除要求を受付けなかったという判断に応じて、上記ログ記録に対応付けられた固有識別子を識別するステップと、この固有識別子に対応付けられたキーテーブルインデックスを有するエントリを探してユーザアクティビティテーブルを検索するステップとを含み得る。上記エントリはタイムスタンプに対応付けられている。この方法はまた、上記キーテーブルインデックスと上記タイムスタンプを用いて、キーテーブルの、上記固有識別子と上記タイムスタンプとに対応付けられたキーを識別するステップと、上記コンピューティング装置によって、上記識別したキーを有する上記ログ記録の少なくとも一部を暗号化して暗号化値を生成するステップと、この暗号化値を、上記識別したログ記録に対応付けられた、上記ログ記録データベース内のエントリとして、格納するステップとを含み得る。
【０００６】
ある実施形態において、ログ記録を削除するシステムは、コンピューティング装置と、このコンピューティング装置と通信するコンピュータ読取可能な記憶媒体とを含み得る。上記コンピュータ読取可能な記憶媒体は、実行されたときに、上記コンピューティング装置に、ある期間中に生成された複数のログ記録を識別するステップを実行させる１つ以上のプログラミング命令を含み得る。各ログ記録はユーザアクティビティに対応し得る。上記コンピュータ読取可能な記憶媒体は、実行されたときに、上記コンピューティング装置に以下のステップを実行させる１つ以上のプログラミング命令を含み得る。このステップは、識別したログ記録ごとに、このログ記録に対応付けられた削除要求が出されたか否か判断するステップと、削除要求を受付けなかったという判断に応じて、上記ログ記録に対応付けられた固有識別子を識別するステップと、この固有識別子に対応付けられたキーテーブルインデックスを有するエントリを探してユーザアクティビティテーブルを検索するステップとを含み得る。上記エントリはタイムスタンプに対応付けられている。上記ステップはまた、上記キーテーブルインデックスと上記タイムスタンプを用いて、キーテーブルの、上記固有識別子と上記タイムスタンプとに対応付けられたキーを識別するステップと、上記コンピューティング装置によって、上記識別したキーを有する上記ログ記録の少なくとも一部を暗号化して暗号化値を生成するステップと、この暗号化値を、上記識別したログ記録に対応付けられた、上記ログ記録データベース内のエントリとして、格納するステップとを含み得る。
【図面の簡単な説明】
【０００７】
【図１】ある実施形態に従う削除要求の代表的な時間表を示す。
【図２】ある実施形態に従う代表的な削除システムのブロック図を示す。
【図３】ある実施形態に従うユーザデータを削除する代表的な方法のフローチャートを示す。
【図４】ある実施形態に従う１つ以上のキーを生成し削除リストを作成する代表的な方法のフローチャートを示す。
【図５】ある実施形態に従うログ記録を削除する代表的な方法のフローチャートを示す。
【図６】ある実施形態に従う１つ以上のログ記録をスクラブする代表的な方法のフローチャートを示す。
【図７】ある実施形態に従うプログラム命令を格納または実装するために使用し得る代表的なハードウェアのブロック図を示す。
【図８】ある実施形態に従う代表的なキーテーブルを示す。
【発明を実施するための形態】
【０００８】
詳細な説明
以下の用語は、本願のために下記の意味をそれぞれ有するものとする。
【０００９】
「コンピューティング装置」は、プロセッサと有形のコンピュータ読取可能なメモリとを含む装置を指す。メモリはプログラミング命令を格納し得る。このプログラミング命令は、プロセッサによって実行されたときに、コンピューティング装置に、プログラミング命令に従って１つ以上の動作を実行させる命令である。コンピューティング装置の例は、パーソナルコンピュータ、サーバ、メインフレーム、ゲーミングシステム、テレビ、および、スマートフォン、携帯情報端末、カメラ、タブレットコンピュータ、ラップトップコンピュータ、メディアプレーヤ等の携帯型電子機器を含む。請求項で使用されたとき、「コンピューティング装置」という記載は、１つの装置を含む場合がある、または、相互通信し請求項に記載のステップを実行するためのデータおよび／または命令を共有する１つ以上のプロセッサを有する任意の数の装置を指す場合がある。
【００１０】
「ログ記録」は、１つ以上のユーザアクティビティに関する情報を指す。ログ記録は、電子記録またはファイルであってもよい。
【００１１】
「サービスプロバイダ」は、１つ以上の電子サービスのプロバイダを指す。代表的なサービスプロバイダは、ソーシャルネットワーキングサービスプロバイダ、電子メールサービスプロバイダ、検索エンジンサービスプロバイダ、および／または同様のものを含み得るが、これらに限定されない。
【００１２】
「ユーザデータ」は、ユーザ、サービスに関連するユーザのアクションまたはアクティビティ、ユーザアカウントおよび／または同様のものに対応付けられたデータまたは情報を指す。
【００１３】
「ユーザ識別子」は、サービスのユーザに対応付けられた固有識別子であってもよい。
サービスプロバイダは、ユーザから要求を受付けて、このユーザのユーザデータの少なくとも一部を削除し得る。サービスプロバイダは、有効な方針として、ユーザが要求したいかなる削除要求も、ユーザ削除要求（deletion request）（ｄｒ）から一定期間（ｔ）以内に完全に遂行するという方針を有し得る。この場合、削除要求に関連するログ記録は、この要求からｔ日以内に削除されねばならない。加えて、分析期間（ｉ）によってたとえば品質と不正防止をサポートするために、サービスプロバイダの方針が、アクティビティ（ａ）に対応付けられたログ記録を、少なくともｉ日経過するまで、削除プロセスは削除できないと規定してもよい。この場合、削除プロセスは、すべてのアクティビティａに対して、対応付けられたログ記録を、確実にｄｒ＋ｉ以降ｄｒ＋ｔ以前に削除しなければならない。図１は、ある実施形態に従う削除要求の代表的な時間表を示す。
【００１４】
図２は、ある実施形態に従う代表的な削除システムのブロック図を示す。図２に示されるように、システム２００は、キーテーブル２０２と、ユーザアクティビティテーブル２０４と、削除パイプライン２０６と、１つ以上のログ記録２０８とを含み得る。キーテーブル２０２は、１つ以上のユーザ識別子に対応付けられた１つ以上のキーを格納するように構成されたデータ構造であってもよい。
【００１５】
ある実施形態において、キーテーブル２０２は、インデックスが連続して付けられキーフィールドを含む、フラットな、片方向にリンクされるテーブルであってもよい。キーは、特定のユーザ識別子に固有のまたは決まって関連付けられるキーでなくてもよく、ランダムに生成されてもよい。ある実施形態において、キーテーブル２０２は、削除パイプラインの特定の実行に対応する生成番号（generation number）（ｇｎ）を含み得る。本開示ではキーテーブルと呼んでいるが、たとえばデータベース、アレイ、および／または同様のもの等の代替種類のデータ構造を、本開示の範囲の中で使用し得る。
【００１６】
ユーザアクティビティテーブル２０４は、ユーザ識別子によってキー入力された１つ以上のユーザアクティビティを格納するように構成されたデータ構造であってもよい。ある実施形態において、ユーザアクティビティテーブル２０４は、１人以上のユーザによって出された削除命令を格納し得る。ある実施形態において、ユーザアクティビティテーブル２０４の１つ以上のエントリが、たとえば生成番号等のタイムスタンプに対応付けられていてもよい。
【００１７】
ある実施形態において、削除パイプライン２０６は、ユーザアクティビティテーブル２０４から１つ以上の削除要求を受付けてログ記録２０８に与えるプロセスであってもよい。ログ記録は、ユーザアカウントまたはサービスプロバイダのサービスに関連する１つ以上のユーザアクティビティに関する情報を格納するように構成された、テーブル、データベース、およびアレイおよび／または同様のものであってもよい。ある実施形態において、ログ記録は、ユーザ識別子、タイムスタンプ、またはアクティビティが発生した時間の他の表示および／または同様のものを、格納し得る。
【００１８】
特定の実施形態において、キーテーブル、ユーザアクティビティテーブル、および１つ以上のログ記録は、１つ以上のコンピューティング装置に対応付けられたメモリに格納されてもよい。ある実施形態において、キーテーブル、ユーザアクティビティテーブル、およびログ記録は、同一のコンピューティング装置に対応付けられたメモリに格納されてもよい。これに代えて、キーテーブル、ユーザアクティビティテーブル、およびログ記録は、１つ以上の通信ネットワークを介して相互通信する異なるコンピューティング装置に対応付けられたメモリに格納されてもよい。通信ネットワークは、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、モバイルまたはセルラー通信ネットワーク、エキストラネット、イントラネット、インターネット、および／または同様のものであってもよい。
【００１９】
同様に、削除パイプラインは、キーテーブル、ユーザアクティビティテーブル、および／またはログ記録に対応付けられたコンピューティング装置によって実行されてもよい。これに代えて、削除パイプラインは、キーテーブル、ユーザアクティビティテーブル、および／またはログ記録に対応付けられたコンピューティング装置とは別のコンピューティング装置を用いて実行されてもよい。
【００２０】
図３は、ある実施形態に従うユーザデータを削除する代表的な方法のフローチャートを示す。図３に示されるように、削除要求を受付けてもよい３００。削除要求は、ユーザから受付けてもよく３００、サービスまたはサービスプロバイダに関連する１つ以上のユーザアクティビティに関係し得る。たとえば、ユーザは、ユーザが行なったクエリを検索エンジンが削除することを要求することがある。別の例として、ユーザは、検索エンジンに関するユーザの全検索履歴の削除を要求することがある。他の例として、削除要求は、ユーザアカウントに対応付けられた情報の削除要求、または、全ユーザアカウントの削除要求を含むことがある。サービスプロバイダが電子メールプロバイダの場合、削除要求は、１つ以上の電子メールメッセージの削除を要求することがある。その他のおよび／または代替の削除要求が、本開示の範囲内で使用されてもよい。
【００２１】
受付けた削除要求を、この要求を行なったユーザに対応付けられたユーザ識別子とともに、ユーザアクティビティテーブルに格納してもよい。ユーザアクティビティテーブルはタイムスタンプに対応付けられていてもよい。たとえば、図２を参照して、ユーザアクティビティテーブルは、アクティビティＢの削除を要求する削除要求に対応する、６月の、ユーザＩＤ  Ｂに対応付けられたエントリ２１０を含む。
【００２２】
図３を再び参照して、完了時間を識別してもよい３０２。完了時間ｔは、サービスプロバイダがユーザ削除要求を遂行することになっている、ある期間であってもよい。たとえば、ｔ＝６０日の場合は、削除要求に対応付けられたデータを、削除要求が出された日から６０日以内に削除せねばならない。
【００２３】
ある実施形態において、分析期間ｉを識別してもよい３０４。分析期間は、１つ以上のログ記録が、削除要求を受付けた後に保存されることになっている期間を示すものであってもよい。たとえば、サービスプロバイダは、削除要求に対応付けられた１つ以上のログ記録を、削除要求を受付けてから少なくとも３０日間は保存するという方針を有し得る。この場合、分析期間は、削除要求を受付けてから３０日間であってもよい。
【００２４】
一例として、分析期間は３０日の場合があり、完了時間は６０日の場合があり、削除パイプラインは７月１日に実行される場合がある。この場合、その削除要求が６月１日に出されたログ記録は、８月１日以前に削除されねばならない。分析期間も同様に守るとすると、７月１日に削除パイプラインを開始することにより、６月３０日以前の日付のログに影響する各削除要求の誤りからの回復時間として３０日が確保される。ある実施形態において、分析期間の１日当たり１日分のログしか処理されない場合がある。たとえば、システムは、６月１日の日付のログを７月１日に処理し、６月２日付のログを７月２日に処理し、以降同様に処理してもよい。
【００２５】
ある実施形態において、削除プロセス中にエラーが発生した場合、削除プロセスは、複数日分に相当するログ記録を１日で処理することによって、遅れないでログ記録を処理するようにしてもよい。たとえば、６月１２、１３、１４、および１５日のログ記録を、６月１５日に処理してもよい。
【００２６】
図４は、ある実施形態に従う１つ以上のキーを生成し削除リストを作成する代表的な方法のフローチャートを示す。ある実施形態において、ユーザアクティビティテーブルのエントリごとに、インデックスを生成してもよい。各インデックスは、固有の値を有していてもよく、キーテーブル内のエントリに対応していてもよい。インデックスは、インクリメントカウンタを用いて生成し得る数値を有していてもよい。図２に示されるユーザアクティビティテーブル２０４は、３ヶ月（６月、７月、および８月）にわたる期間の、２行のテーブルのスナップショットを示す。図２に示されるように、各行またはエントリは、インデックス値と、対応するタイムスタンプ（たとえば６月、７月、または８月）に、対応付けられている。たとえば、６月の、ユーザＩＤ  Ｂに対応付けられたテーブルエントリ２１０は、インデックス「１」に対応し、８月の、ユーザＩＤ  Ｂに対応付けられた、更新されたテーブルエントリ２１２は、インデックス「３４７７」に対応する。
【００２７】
ある実施形態において、ユーザアクティビティテーブル内のエントリを識別してもよい４００。識別したエントリがキーテーブルのインデックス値に既に対応付けられているか否か判断してもよい４０２。ユーザアクティビティテーブル内のエントリがキーテーブルのインデックス値に既に対応付けられている場合は、現在のインデックス値を格納すればよく４０４、この現在のインデックス値を以前のインデックスの値として識別してもよい。たとえば、キーテーブルのインデックス値を、「以前のインデックス」と呼ばれる一時変数に格納してもよい４０４。このエントリに対して新たなキーテーブルインデックス値を生成してもよく４０６、この新たなキーテーブルインデックス値をエントリに対応付けてユーザアクティビティテーブルに格納してもよい４０８。ある実施形態において、この新たなキーテーブルインデックス値を、前のインデックス値の代わりにユーザアクティビティテーブルに格納してもよい４０８。
【００２８】
エントリがキーテーブルインデックス値に既に対応付けられたものでない場合は、このエントリに対して新たなキーテーブルインデックス値を生成してもよく４０６、この新たなキーテーブルインデックス値を上記エントリに対応付けてユーザアクティビティテーブルに格納してもよい４０８。
【００２９】
ある実施形態において、このユーザアクティビティテーブルのエントリに対し、ランダムキーを生成してもよく４１０、このランダムキーを、キーテーブルに、ユーザアクティビティテーブルの対応付けられたキーテーブルインデックスに対応するように格納してもよい４１２。たとえば、６月のユーザＩＤ  Ｂに対応付けられたユーザアクティビティテーブルエントリ２１０は、インデックス「１」に対応する。図２に示されるように、このユーザアクティビティテーブルエントリ２１０に対し、ランダムキーとしてキーＢを生成してもよく４１０、このランダムキーを、キーテーブルに、インデックス「１」に対応するように格納してもよい４１２。
【００３０】
ある実施形態において、キーテーブルは、１つ以上のユーザアクティビティテーブルエントリに対応付けられた、たとえば生成番号等のタイムスタンプも格納し得る。生成番号は、たとえば、日、週、月、および／または同様のもの等の、ユーザアクティビティテーブル内のエントリに対応付けられたタイムスタンプを指すものであってもよい。ある実施形態において、生成番号は、対応する削除要求が出された期間に対応していてもよい。たとえば、図２に示される生成番号は月を表わし、ｇ０は６月を表わし、ｇ１は７月を表わし、ｇ２は８月を表わす。この場合、ユーザＩＤ  Ａとｇ０とに対応付けられた削除要求は、識別子としてのユーザＩＤ  Ａに対応付けられたユーザによって６月に出された削除要求である。
【００３１】
ある実施形態において、キーテーブル内の１つ以上のエントリは、バックポインタを含み得る。バックポインタは、キーテーブル内の１つ以上の他のエントリを指すものであってもよい。たとえば、ポインタは、その値がキーテーブル内の別のエントリのインデックスを示す、データタイプであってもよい。バックポインタは、キーテーブル内の１つのエントリを指していてもよい。キーテーブル内のエントリが削除されると、対応するバックポインタを、他のエントリを指すように調整してもよい。ある実施形態において、あるエントリに対して格納された以前のインデックス値を、キーテーブル内に、対応するユーザの以前の生成キーに対するバックポインタとして格納してもよい。
【００３２】
ある実施形態において、バックポインタは、キーテーブル内の特定のエントリから、同一のユーザ識別子に対応付けられた、キーテーブル内の以前のエントリを指していてもよい。ある実施形態において、バックポインタは、同一のユーザ識別子に対応付けられた、キーテーブル内で次に最も新しいエントリを指していてもよい。たとえば、図２を参照して、キーテーブル内の、インデックス値５４３に対応付けられたエントリ２１４は、インデックス値０に対応付けられた、キーテーブル内のエントリ２１６を指すバックポインタを含み得る。なぜなら、エントリ２１６は、同一のユーザ識別子であるユーザＩＤ  Ａに対応付けられた、キーテーブル内で次に最も新しいエントリだからである。キーテーブル内に、このユーザ識別子に対応する以前のエントリがない場合、エントリは、上記ユーザ識別子に対応付けられた最も古いエントリであると考えられるので、バックポインタを含まない可能性がある。
【００３３】
識別されたエントリが、前の生成後に出された削除要求を含むか否か判断してもよい４１４。たとえば、削除パイプラインは、識別されたエントリが削除要求を含むか否か判断してもよい４１４。含む場合、削除パイプラインは、この削除要求に対応付けられたタイムスタンプが、最後の生成または削除パイプライン分析よりも後の日付か否か判断してもよい。そうであれば、削除パイプラインは、エントリに対応付けられた削除要求とキーテーブルインデックスを削除リストに格納してもよい４１８。削除リストは、削除要求を時間の順で並べたリストであってもよい。ある実施形態において、削除リストは、最も古い要求から最も新しい要求まで並べたものであってもよい。ある実施形態において、削除リストは、たとえばテーブル、チャート、データベース、リスト、および／または同様のもの等の適切なデータ構造であればよい。
【００３４】
ある実施形態において、図４のステップのうちの１つ以上を、ユーザアクティビティテーブルの１つ以上のエントリに対して繰返してもよい。たとえば、図４の各ステップを、ユーザアクティビティテーブルのエントリごとに、すべてのエントリが考慮されるまで繰返してもよい。
【００３５】
図５は、ある実施形態に従い１つ以上のログ記録を削除する代表的な方法のフローチャートを示す。図５に示されるように、完了期間を識別してもよい５００。完了期間は、削除要求を遂行することになっている、ユーザ削除要求からの、特定期間であってもよい。たとえば、再び図１を参照して、ｄｒとｔの間の期間を完了期間とみなしてもよい。
【００３６】
ある実施形態において、分析期間を識別してもよい５０２。分析期間は、その前に削除要求を処理できない期間であってもよい。たとえば、図１を参照して、ｄｒとｉの間の期間を分析期間とみなしてもよい。
【００３７】
削除パイプラインは、削除リスト内のエントリを識別してもよい５０４。識別したエントリに対応付けられたログ記録が、識別した完了期間よりも古いか否か判断してもよい５０６。たとえば、完了期間が６０日の場合、削除パイプラインは、ログ記録が６０日前よりも前に作成されたものか否か判断してもよい。
【００３８】
ログ記録が完了期間よりも古いと判断された場合５０６、削除パイプラインは、削除リストの対応するキーテーブルインデックスを用いて、このログ記録に対応付けられた生成番号を識別してもよい５０８。削除パイプラインは、対応付けられたキーテーブルインデックスを用いて、対応するキーテーブルエントリを識別してもよい５１０。削除パイプラインは、識別したキーテーブルエントリが、識別した生成番号に対応するか否か判断してもよい５１２。対応する場合、削除パイプラインは、キーテーブル内のエントリを削除してもよく５１４、バックポインタを必要に応じて調整してもよい５１６。
【００３９】
ある実施形態において、識別したキーテーブルエントリが識別した生成番号に対応しない場合、削除パイプラインは、識別した生成番号に対応する、キーテーブル内のエントリの場所がわかるまで、１つ以上のバックポインタをトラバースしてもよい５１８。削除パイプラインは、キーテーブル内のエントリを削除してもよく５１４、バックポインタを必要に応じて調整してもよい５１６。
【００４０】
たとえば、ユーザアクティビティテーブルのエントリ２１８に対応付けられたユーザアクティビティを削除してもよく、このエントリは分析期間よりも古い可能性がある。削除パイプラインは、ユーザアクティビティテーブル内のそのインデックス「５４４」を参照してもよく、このインデックスを用いてキーテーブル内の対応するキー（すなわちキーＢ）の位置を特定してもよい。削除パイプラインは、キーテーブル内のこのエントリに対応付けられたキーＢを削除してもよく、バックポインタを、ユーザ識別子の、後のエントリ２２２が、ユーザ識別子の、前のエントリ２２４を指すように、調整してもよい。図８は、ある実施形態に従いキーテーブルからエントリ２２０に対応付けられたキーを削除した後の代表的なキーテーブルを示す。
【００４１】
図６は、ある実施形態に従い１つ以上のログ記録をスクラブする代表的な方法のフローチャートを示す。図６に示されるように、スクラブウィンドウを識別してもよい６００。スクラブウィンドウは、分析期間の終了後かつ完了期間の終了前に発生する期間であってもよい。たとえば、完了期間が削除要求から６０日であり分析期間が削除要求から３０日である場合、スクラブウィンドウは、この削除要求の影響を受ける、経過時間が３０日を超え６０日までの１つ以上の記録を含み得る。
【００４２】
ある実施形態において、スクラブウィンドウ内で作成された１つ以上のログ記録を識別する６０２。識別したログ記録ごとに、ログ記録を削除するか否か判断してもよい６０４。たとえば、識別したログ記録が削除リストに含まれているか否か判断してもよい。含まれていれば、ログ記録を削除すると判断すればよい６０４。含まれていなければ、ログ記録を削除しないと判断すればよい６０４。
【００４３】
ログ記録を削除する場合、削除パイプラインは、そのログ記録を物理的にスクラブしてもよい６０６。ログ記録を削除しない場合、削除パイプラインは、ユーザアクティビティテーブル内の、このログ記録に対応付けられたユーザ識別子を参照し６０８、格納されているインデックスを用いてキーテーブルから対応するキーを取出してもよい６１０。たとえば、図２を参照して、システムは、ログ記録２０８ａを削除しないと判断する場合がある。削除パイプラインは、ユーザ識別子（ユーザＡ）とログ記録の生成番号（ｇ０）を用いて、ユーザアクティビティテーブル内の対応するインデックス（すなわち「０」）を取出せばよい。
【００４４】
削除パイプラインは、このインデックスを用いて、キーテーブルから対応するキーを取出せばよい６１０。たとえば、上記の例を用いると、削除パイプラインは、インデックス「０」を用いてキーテーブルからキーとしてキーＡを取出せばよい６１０。削除パイプラインは、取出したキーを用いてログ記録の少なくとも一部を暗号化してもよく６１２、暗号化値とインデックス値をログ記録に書込んでもよい６１４。さまざまな実施形態において、ログ記録に格納し得る他のデータを、取出したキー、たとえばユーザ識別子等を用いて暗号化してもよい。ある実施形態において、この内容が、インデックスまたは生成番号を含まない場合がある。なぜなら、このデータは暗号プロセスに含まれない場合があるからである。ある実施形態において、処理速度は、少なくとも一部、暗号化されたログ記録内容の量に基づく場合がある。
【００４５】
ある実施形態において、削除パイプラインが複数の削除の要求を処理する場合、削除パイプラインは、バックポインタに従い、エントリを再びリンクさせて、必要に応じて複数のキーを削除してもよい。
【００４６】
本明細書に記載の、ユーザデータを削除する方法は、ユーザのプライバシーに関していくつかの保護手段を提供する。第１に、削除パイプラインは、キーテーブルにアクセスできる唯一のシステム構成要素であってもよい。これにより、キーとユーザデータに対するアクセスは最小になる。第２に、このシステム内において、ユーザ識別子はそのキーとともに格納されない。代わりに、キーテーブルに対するインデックスが、ログ記録、ユーザアクティビティテーブル、および／または同様のものに格納される。第３に、キーがキーテーブルから削除されると、対応するキーテーブルエントリに対応付けられたログデータはわからなくなる。最後に、たとえキーテーブルが何らかの危険にさらされたとしても、削除された記録のユーザ識別子を推測することはできない。なぜなら、削除された記録のキーテーブルエントリには、ユーザ識別子に対応する他のキーへのバックポインタがないからである。
【００４７】
本明細書に記載のシステムが、ユーザに関する個人情報を収集する、または個人情報を利用する可能性がある状況において、プログラムまたは機能がユーザ情報を収集するか否かを管理する機会、または、ユーザについての関連性がより高いと思われる内容を受付けるか否かおよび／または如何にして受付けるかを管理する機会が、ユーザに与えられてもよい。加えて、特定のデータを、格納または使用前に、個人を特定できる情報を削除するように、１つ以上のやり方で処理してもよい。たとえば、ユーザの個人情報を、このユーザについて個人を特定できる情報が判別できないように処理してもよく、または、ユーザの地理的位置を、ユーザの特定の位置を判別できないように、位置情報が得られる場所（市、郵便番号、または州レベル）に一般化してもよい。このように、ユーザが、このユーザに関して情報が如何にして収集されおよび／または格納されシステムによって使用されるかを管理してもよい。
【００４８】
図７は、プログラム命令を格納するまたは実装するために使用し得るハードウェアのブロック図を示す。バス７００は、示されているハードウェアの他の構成要素を相互に接続する主要な情報ハイウェイの役割を果たす。ＣＰＵ７０５は、プログラムの実行に必要な計算と論理演算を行なう、システムの中央処理装置である。ＣＰＵ７０５は、単独でまたは図７に開示される他の要素のうちの１つ以上とともに、本開示の中で使用される用語としての、コンピュータ、コンピューティング装置またはプロセッサの一例である。読出専用メモリ（ＲＯＭ）７１０およびランダムアクセスメモリ（ＲＡＭ）７１５は、非一時的なコンピュータ読取可能な記憶媒体の例を構成する。
【００４９】
コントローラ７２０は、１つ以上の任意の非一時的なコンピュータ読取可能な記憶媒体７２５をシステムバス７００に接続するインターフェイスの役割を果たす。これらの記憶媒体７２５は、たとえば、外部または内部ＤＶＤドライブ、ＣＤ  ＲＯＭドライブ、ハードドライブ、フラッシュメモリ、ＵＳＢドライブ等を含み得る。先に示したように、これらのさまざまなドライブおよびコントローラは任意の装置である。
【００５０】
インターフェイスを提供し１つ以上のデータセットに対応付けられたクエリまたは分析を行なうための、プログラム命令、ソフトウェア、または対話型モジュールは、ＲＯＭ７１０および／またはＲＡＭ７１５に格納されていてもよい。任意で、プログラム命令は、コンパクトディスク、デジタルディスク、フラッシュメモリ、メモリカード、ＵＳＢドライブ、光ディスク記憶媒体および／またはその他の記録媒体等の非一時的なコンピュータ読取可能な媒体に格納されていてもよい。
【００５１】
任意のディスプレイインターフェイス７３０は、バス７００からの情報を、音声、視覚、図形、または英数字フォーマットでディスプレイ７３５上に表示できるようにするものであってもよい。印刷装置等の外部装置との通信は、さまざまな通信ポート７４０を用いて発生してもよい。通信ポート７４０は、インターネットまたはイントラネット等の通信ネットワークに接続されていてもよい。
【００５２】
このハードウェアはまた、キーボード７５０等の入力装置、または、マウス、ジョイスティック、タッチスクリーン、遠隔制御装置、ポインティングデバイス、映像入力装置および／または音声入力装置等のその他の入力装置７５５から、データを受付けることができるようにする、インターフェイス７４５を含み得る。
【００５３】
本明細書に開示されたおよびその他のさまざまな特徴および機能またはその代替形を、望ましくは組合わせて、多数の他の異なるシステムまたはアプリケーションまたはシステムとアプリケーションの組合わせにし得ることが、理解されるであろう。また、現在のところ予測または予想されない代替形、修正、変形、またはその改善が、今後当業者によってなされ得ることも、理解されるであろう。これらの代替形、修正、変形、またはその改善も以下の請求項によって包含されることが意図されている。
【図１】
2017506388.tif 000003
【図２】
2017506388.tif 000004
【図３】
2017506388.tif 000005
【図４】
2017506388.tif 000006
【図５】
2017506388.tif 000007
【図６】
2017506388.tif 000008
【図７】
2017506388.tif 000009
【図８】
2017506388.tif 000010
【手続補正書】
【提出日】平成28年9月26日(2016.9.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ログ記録を削除する方法であって、前記方法は、
コンピューティング装置によって、ログ記録データベースから、ある期間中に生成された複数のログ記録を識別するステップを含み、各ログ記録はユーザアクティビティに対応し、
識別したログ記録ごとに、
前記コンピューティング装置によって、前記ログ記録に対応付けられた削除要求が出されたか否か判断するステップと、
削除要求を受付けなかったという判断に応じて、
前記ログ記録に対応付けられた固有識別子を識別するステップと、
前記固有識別子に対応付けられたキーテーブルインデックスを有するエントリを探してユーザアクティビティテーブルを検索するステップとを含み、前記エントリはタイムスタンプに対応付けられており、
前記キーテーブルインデックスと前記タイムスタンプを用いて、キーテーブルの、前記固有識別子と前記タイムスタンプとに対応付けられたキーを識別するステップと、
前記コンピューティング装置によって、前記識別したキーを有する前記ログ記録の少なくとも一部を暗号化して暗号化値を生成するステップと、
前記暗号化値を、前記識別したログ記録に対応付けられた、前記ログ記録データベース内のエントリとして、格納するステップとを含み、前記方法はさらに、
前記ユーザアクティビティテーブル内のエントリごとに、
前記エントリに対応付けられたキーテーブルインデックスを生成するステップを含み、前記キーテーブルインデックスは、前記キーテーブル内のエントリに対応し、さらに、
前記エントリに対応付けられたランダムキーを生成するステップと、
前記ランダムキーを前記キーテーブル内の前記キーテーブルインデックスの場所に格納するステップと、
前記エントリが削除要求を含むか否か判断するステップと、
前記エントリが削除要求を含むという判断に応じて、前記削除要求と、前記削除要求に対応付けられたログ記録のタイムスタンプとを、削除リストに加えるステップとを含む、方法。
【請求項２】
前記ある期間中に生成された複数のログ記録を識別するステップは、分析期間の終了後かつ完了期間の終了前に生成された複数のログ記録を識別するステップを含む、請求項１に記載の方法。
【請求項３】
前記識別したキーを有する前記ログ記録の少なくとも一部を暗号化して暗号化値を生成するステップは、
前記ユーザ識別子、および
前記ユーザアクティビティ
のうちの１つ以上を暗号化するステップを含む、請求項１に記載の方法。
【請求項４】
第２の削除要求を受付けるステップをさらに含み、前記第２の削除要求は、前記ログ記録を削除する予定であることを示し、
前記ログ記録に対応付けられた固有識別子とタイムスタンプとを識別するステップと、
前記削除する予定であるログ記録の前記固有識別子に対応付けられたキーテーブルインデックスを探して前記ユーザアクティビティテーブルを検索するステップと、
前記キーテーブルインデックスを用いて、前記ログ記録の前記タイムスタンプに対応する、前記キーテーブル内のエントリを識別するステップと、
前記キーテーブルから、前記識別したエントリに対応付けられたキーを削除するステップとを含む、請求項１に記載の方法。
【請求項５】
前記キーを削除するステップは、
前記キーテーブル内の、前記識別したエントリから、前のエントリへの第１のバックポインタを識別するステップと、
前記キーテーブル内の、後のエントリから、前記識別したエントリへの第２のバックポインタを識別するステップと、
前記第１のバックポインタを削除するステップと、
前記第２のバックポインタを、前記キーテーブル内の前記前のエントリを指すように調整するステップとを含む、請求項４に記載の方法。
【請求項６】
前記第２の削除要求は、
特定のウェブアクティビティアクションの削除要求、および
ユーザアカウントの削除要求
のうちの１つ以上を含む、請求項４に記載の方法。
【請求項７】
第２の削除要求を受付けるステップをさらに含み、前記第２の削除要求は、前記ログ記録を削除する予定であることを示し、
前記第２の削除要求に基づいて、削除する予定である複数のログ記録を識別するステップと、
前記削除する予定である複数のログ記録のうちのログ記録ごとに、
前記削除する予定であるログ記録に対応付けられた固有識別子とタイムスタンプとを識別するステップと、
前記削除する予定であるログ記録の前記固有識別子に対応付けられたキーテーブルインデックスを有するエントリを探して前記ユーザアクティビティテーブルを検索するステップと、
前記エントリに対応付けられた前記キーテーブルインデックスを用いて、前記キーテーブル内の、前記ログ記録に対応付けられた前記タイムスタンプに対応するエントリを識別するステップと、
前記キーテーブルから、前記識別したエントリに対応付けられたキーを削除するステップとを含む、請求項１に記載の方法。
【請求項８】
前記キーを削除するステップは、
前記キーテーブル内の、前記識別したエントリから、前のエントリへの第１のバックポインタを識別するステップと、
前記キーテーブル内の、後のエントリから、前記識別したエントリへの第２のバックポインタを識別するステップと、
前記第１のバックポインタを削除するステップと、
前記第２のバックポインタを、前記キーテーブル内の前記前のエントリを指すように調整するステップとを含む、請求項７に記載の方法。
【請求項９】
前記ログ記録に対応付けられた削除要求が出されたか否か判断する前記ステップは、前記削除要求が前記削除リストにあるか否か判断するステップを含む、請求項１に記載の方法。
【請求項１０】
ログ記録を削除するシステムであって、前記システムは、
コンピューティング装置と、
前記コンピューティング装置と通信するコンピュータ読取可能な記憶媒体とを備え、
前記コンピュータ読取可能な記憶媒体は１つ以上のプログラミング命令を含み、前記プログラミング命令は、実行されたときに、前記コンピューティング装置に以下のステップを実行させ、前記ステップは、
ある期間中に生成された複数のログ記録を識別するステップを含み、各ログ記録はユーザアクティビティに対応し、
識別したログ記録ごとに、
前記ログ記録に対応付けられた削除要求が出されたか否か判断するステップと、
削除要求を受付けなかったという判断に応じて、
前記ログ記録に対応付けられた固有識別子を識別するステップと、
前記固有識別子に対応付けられたキーテーブルインデックスを有するエントリを探してユーザアクティビティテーブルを検索するステップとを含み、前記エントリはタイムスタンプに対応付けられており、
前記キーテーブルインデックスと前記タイムスタンプを用いて、キーテーブルの、前記固有識別子と前記タイムスタンプとに対応付けられたキーを識別するステップと、
前記コンピューティング装置によって、前記識別したキーを有する前記ログ記録の少なくとも一部を暗号化して暗号化値を生成するステップと、
前記暗号化値を、前記識別したログ記録に対応付けられた、ログ記録データベース内のエントリとして、格納するステップとを含み、前記ステップはさらに、
前記ユーザアクティビティテーブル内のエントリごとに、
前記エントリに対応付けられたキーテーブルインデックスを生成するステップを含み、前記キーテーブルインデックスは、前記キーテーブル内のエントリに対応し、さらに、
前記エントリに対応付けられたランダムキーを生成するステップと、
前記ランダムキーを前記キーテーブル内の前記キーテーブルインデックスの場所に格納するステップと、
前記エントリが削除要求を含むか否か判断するステップと、
前記エントリが削除要求を含むという判断に応じて、前記削除要求と、前記削除要求に対応付けられたログ記録のタイムスタンプとを、削除リストに加えるステップとを含む、システム。
【請求項１１】
実行されたときに、前記コンピューティング装置に、前記ある期間中に生成された複数のログ記録を識別するステップを実行させる、前記１つ以上のプログラミング命令は、実行されたときに、前記コンピューティング装置に、分析期間の終了後かつ完了期間の終了前に生成された複数のログ記録を識別するステップを実行させる１つ以上のプログラミング命令を含む、請求項１０に記載のシステム。
【請求項１２】
実行されたときに、前記コンピューティング装置に、前記識別したキーを有する前記ログ記録の少なくとも一部を暗号化して暗号化値を生成するステップを実行させる、前記１つ以上のプログラミング命令は、実行されたときに、前記コンピューティング装置に、
前記ユーザ識別子、および
前記ユーザアクティビティ
のうちの１つ以上を暗号化するステップを実行させる１つ以上のプログラミング命令を含む、請求項１０に記載のシステム。
【請求項１３】
前記コンピュータ読取可能な記憶媒体は、実行されたときに、前記コンピューティング装置に以下のステップを実行させる１つ以上のプログラミング命令をさらに含み、前記ステップは、
第２の削除要求を受付けるステップを含み、前記第２の削除要求は、前記ログ記録を削除する予定であることを示し、
前記ログ記録に対応付けられた固有識別子とタイムスタンプとを識別するステップと、
前記削除する予定であるログ記録の前記固有識別子に対応付けられたキーテーブルインデックスを探して前記ユーザアクティビティテーブルを検索するステップと、
前記キーテーブルインデックスを用いて、前記ログ記録の前記タイムスタンプに対応する、前記キーテーブル内のエントリを識別するステップと、
前記キーテーブルから、前記識別したエントリに対応付けられたキーを削除するステップとを含む、請求項１０に記載のシステム。
【請求項１４】
実行されたときに、前記コンピューティング装置に、前記キーを削除するステップを実行させる、前記１つ以上のプログラミング命令は、実行されたときに、前記コンピューティング装置に、以下のステップを実行させる１つ以上のプログラミング命令を含み、前記ステップは、
前記キーテーブル内の、前記識別したエントリから、前のエントリへの第１のバックポインタを識別するステップと、
前記キーテーブル内の、後のエントリから、前記識別したエントリへの第２のバックポインタを識別するステップと、
前記第１のバックポインタを削除するステップと、
前記第２のバックポインタを、前記キーテーブル内の前記前のエントリを指すように調整するステップとを含む、請求項１３に記載のシステム。
【請求項１５】
前記第２の削除要求は、
特定のウェブアクティビティアクションの削除要求、および
ユーザアカウントの削除要求
のうちの１つ以上を含む、請求項１３に記載のシステム。
【請求項１６】
前記コンピュータ読取可能な記憶媒体は、実行されたときに、前記コンピューティング装置に以下のステップを実行させる１つ以上のプログラミング命令をさらに含み、前記ステップは、
第２の削除要求を受付けるステップを含み、前記第２の削除要求は、前記ログ記録を削除する予定であることを示し、
前記第２の削除要求に基づいて、削除する予定である複数のログ記録を識別するステップと、
前記削除する予定である複数のログ記録のうちのログ記録ごとに、
前記削除する予定であるログ記録に対応付けられた固有識別子とタイムスタンプとを識別するステップと、
前記固有識別子に対応付けられたキーテーブルインデックスを有するエントリを探して前記ユーザアクティビティテーブルを検索するステップと、
前記キーテーブルインデックスを用いて、前記キーテーブル内の、前記削除する予定であるログ記録に対応付けられた前記タイムスタンプに対応するエントリを識別するステップと、
前記キーテーブルから、前記識別したエントリに対応付けられたキーを削除するステップとを含む、請求項１０に記載のシステム。
【請求項１７】
実行されたときに、前記コンピューティング装置に、前記キーを削除するステップを実行させる、前記１つ以上のプログラミング命令は、実行されたときに、前記コンピューティング装置に、以下のステップを実行させる１つ以上のプログラミング命令を含み、前記ステップは、
前記キーテーブル内の、前記識別したエントリから、前のエントリへの第１のバックポインタを識別するステップと、
前記キーテーブル内の、後のエントリから、前記識別したエントリへの第２のバックポインタを識別するステップと、
前記第１のバックポインタを削除するステップと、
前記第２のバックポインタを、前記キーテーブル内の前記前のエントリを指すように調整するステップとを含む、請求項１６に記載のシステム。
【請求項１８】
実行されたときに、前記コンピューティング装置に、前記ログ記録に対応付けられた削除要求が出されたか否か判断する前記ステップを実行させる、前記１つ以上のプログラミング命令は、実行されたときに、前記コンピューティング装置に、前記削除要求が前記削除リストにあるか否か判断するステップを実行させる１つ以上のプログラミング命令を含む、請求項１０に記載のシステム。
【国際調査報告】
2017506388.tif 000011
2017506388.tif 000012
2017506388.tif 000013