(57)【要約】  本発明のシステムおよび方法の実施形態は、情報のフォーマットおよび意味を保持したまま位置情報を暗号化するための技法を提供し得る。例えば、ある実施形態では、データを暗号化するためのコンピュータ実装方法は、位置データを受信することと受信した位置データから暗号化されたデータを生成することとを含むことができ、暗号化されたデータは、受信した位置データのフォーマットおよび意味を保持している。
2021531560.tif 000002
【特許請求の範囲】
【請求項１】
データを暗号化するためのコンピュータ実装方法であって、
位置データを受信することと、
前記受信した位置データから暗号化されたデータを生成することと、を含み、前記暗号化されたデータは前記受信した位置データのフォーマットおよび意味を保持している、コンピュータ実装方法。
【請求項２】
前記受信した位置データは第１のインターネット・プロトコル・アドレスを含み、前記生成することは、
前記第１のインターネット・プロトコル・アドレスを位置を示すデータに翻訳することと、
前記示された位置の意味分類を決定することと、
位置を示す前記データを全単射関数を用いてある指標に変換することであって、前記指標は前記決定された意味分類のある範囲の指標に属する、前記変換することと、
フォーマット保持暗号化を用いて前記指標を暗号化することと、
前記暗号化された指標を逆全単射関数を用いて第２のインターネット・プロトコル・アドレスに変換することと、を含み、前記示された位置の前記意味分類は前記第２のインターネット・プロトコル・アドレスにおいて保持されている、請求項１に記載の方法。
【請求項３】
前記示された位置の複数の意味分類は、決定された意味分類のカテゴリを各意味分類に対応するある範囲の指標を用いて暗号化することによって保持される、請求項２に記載の方法。
【請求項４】
位置のセットを示す値のセットと指標の可能な値のセットのサイズが等しくない場合、前記全単射関数は等しいサイズのサブセットに適用される、請求項３に記載の方法。
【請求項５】
前記受信した位置データは第１の全地球測位システムの座標を含み、前記生成することは、
前記全地球測位システムの座標の意味分類を決定することと、
前記全地球測位システムの座標を全単射関数を用いてある指標に変換することであって、前記指標は前記決定された意味分類のある範囲の指標に属する、前記変換することと、
フォーマット保持暗号化を用いて前記指標を暗号化することと、
前記暗号化された整数を逆全単射関数を用いて第２の全地球測位システムの座標に変換することと、を含み、前記第１の全地球測位システムの座標の前記意味分類は前記第２の全地球測位システムの座標において保持されている、請求項１に記載の方法。
【請求項６】
前記第１の全地球測位システムの座標の複数の意味分類は、決定された意味分類のカテゴリを各意味分類に対応するある範囲の指標を用いて暗号化することによって保持される、請求項５に記載の方法。
【請求項７】
位置のセットを示す値のセットと指標の可能な値のセットのサイズが等しくない場合、前記全単射関数は等しいサイズのサブセットに適用される、請求項６に記載の方法。
【請求項８】
データを暗号化するためのシステムであって、
プロセッサと、
前記プロセッサによってアクセス可能なメモリと、
前記メモリに記憶されており、
位置データを受信すること、および
前記受信した位置データから暗号化されたデータを生成することであって、前記暗号化されたデータは前記受信した位置データのフォーマットおよび意味を保持している、前記生成すること、を実行するように前記プロセッサよって実行可能な、コンピュータ・プログラム命令と、を備える、システム。
【請求項９】
前記受信した位置データは第１のインターネット・プロトコル・アドレスを含み、前記生成することは、
前記第１のインターネット・プロトコル・アドレスを位置を示すデータに翻訳することと、
前記示された位置の意味分類を決定することと、
位置を示す前記データを全単射関数を用いてある指標に変換することであって、前記指標は前記決定された意味分類のある範囲の指標に属する、前記変換することと、
フォーマット保持暗号化を用いて前記指標を暗号化することと、
前記暗号化された指標を逆全単射関数を用いて第２のインターネット・プロトコル・アドレスに変換することと、を含み、前記示された位置の前記の意味分類は前記第２のインターネット・プロトコル・アドレスにおいて保持されている、請求項８に記載のシステム。
【請求項１０】
前記示された位置の複数の意味分類は、決定された意味分類のカテゴリを各意味分類に対応するある範囲の指標を用いて暗号化することによって保持される、請求項９に記載のシステム。
【請求項１１】
位置のセットを示す値のセットと指標の可能な値のセットのサイズが等しくない場合、前記全単射関数は等しいサイズのサブセットに適用される、請求項１０に記載のシステム。
【請求項１２】
前記受信した位置データは第１の全地球測位システムの座標を含み、前記生成することは、
前記全地球測位システムの座標の意味分類を決定することと、
前記全地球測位システムの座標を全単射関数を用いてある指標に変換することであって、前記指標は前記決定された意味分類のある範囲の指標に属する、前記変換することと、
フォーマット保持暗号化を用いて前記指標を暗号化することと、
前記暗号化された整数を逆全単射関数を用いて第２の全地球測位システムの座標に変換することと、を含み、前記第１の全地球測位システムの座標の前記意味分類は前記第２の全地球測位システムの座標において保持されている、請求項８に記載のシステム。
【請求項１３】
前記第１の全地球測位システムの座標の複数の意味分類は、決定された意味分類のカテゴリを各意味分類に対応するある範囲の指標を用いて暗号化することによって保持される、請求項１２に記載のシステム。
【請求項１４】
位置のセットを示す値のセットと指標の可能な値のセットのサイズが等しくない場合、前記全単射関数は等しいサイズのサブセットに適用される、請求項１３に記載のシステム。
【請求項１５】
データを暗号化するためのコンピュータ・プログラム製品であって、プログラム命令を具現化している非一過性のコンピュータ可読記憶媒体を含み、前記プログラム命令は請求項１ないし７のいずれかに記載の方法をコンピュータに実行させるように前記コンピュータによって実行可能である、コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プライバシー保護のための、位置情報のフォーマットおよび意味が保持される暗号化のための技法に関する。
【背景技術】
【０００２】
ＥＵ一般データ保護規則（Ｇｅｎｅｒａｌ  Ｄａｔａ  Ｐｒｏｔｅｃｔｉｏｎ  Ｒｅｇｕｌａｔｉｏｎ；ＧＤＰＲ）においては、個人の位置は個人情報と見なされ、相応の取り扱いを必要とする。それにも関わらず、依然として様々なシステムが、適切に機能するために任意の形態の位置を必要としている。一般に、有効範囲およびフォーマットなどの特性を保持したまま、ＧＰＳデータ、座標、更にはＩＰアドレスなどの、位置を提供するフィールドを暗号化するために、フォーマット保持暗号化（ｆｏｒｍａｔ  ｐｒｅｓｅｒｖｉｎｇ  ｅｎｃｒｙｐｔｉｏｎ；ＦＰＥ）が使用される。しかしながら、特性は、例えば、その個人が都市にいるのかそれとも地方にいるのかなどの、地理位置情報および意味情報は、暗号化プロセスにおいて失われる。地理位置もまたプライベートなものであるが、個人によっては匿名性要件のある程度の緩和に同意する場合がある。例えば、ある個人が、自身の独自のＩＰアドレスの開示は制限するが、自身の現在の国の住所は許容する場合がある。それが近所、都市、または国のいずれのレベルであるかに関わらず、またはその地域の人口密度などの単なる意味情報である場合ですら、組織にとって、ユーザが要求する必要なプライバシーを同時に実現しながら任意の情報を維持することが、有利である場合がある。特に、デフォルトでは、難読化または暗号化したデータから人を特定することが可能であるべきではない。しかしながら、この制限を緩和することを明確な説明を受けて適切に要求された場合、人は明示的にそのようにする場合がある。
【０００３】
したがって、情報のフォーマットおよび意味を保持したまま位置情報の暗号化を実現し得る技法の必要性が生じる。
【発明の概要】
【０００４】
本発明の実施形態は、情報のフォーマットおよび意味を保持したまま位置情報を暗号化するための技法を提供し得る。
【０００５】
本発明の実施形態では、データを暗号化するためのコンピュータ実装方法は、位置データを受信することと受信した位置データから暗号化されたデータを生成することとを含み、暗号化されたデータは、受信した位置データのフォーマットおよび意味を保持している。
【０００６】
受信した位置データは、第１のインターネット・プロトコル・アドレスを含むことができ、生成することは、第１のインターネット・プロトコル・アドレスを位置を示すデータに翻訳することと、示された位置の意味分類を決定することと、位置を示すデータを全単射関数を用いてある指標に変換することであって、指標は決定された意味分類のある範囲の指標に属する、変換することと、フォーマット保持暗号化を用いて指標を暗号化することと、暗号化された指標を逆全単射関数（ｉｎｖｅｒｓｅ  ｂｉｊｅｃｔｉｖｅ  ｆｕｎｃｔｉｏｎ）を用いて第２のインターネット・プロトコル・アドレスに変換することと、を含み、示された位置の意味分類は第２のインターネット・プロトコル・アドレスにおいて保持されている。示された位置の複数の意味分類は、決定された意味分類のカテゴリを各意味分類に対応するある範囲の指標を用いて暗号化することによって保持され得る。位置のセットを示す値のセットと指標の可能な値のセットのサイズが等しくない場合、全単射関数は等しいサイズのサブセットに適用される。
【０００７】
受信した位置データは、第１の全地球測位システムの座標を含むことができ、生成することは、全地球測位システムの座標の意味分類を決定することと、全地球測位システムの座標を全単射関数を用いてある指標に変換することであって、指標は決定された意味分類のある範囲の指標に属する、変換することと、フォーマット保持暗号化を用いて指標を暗号化することと、暗号化された整数を逆全単射関数を用いて第２の全地球測位システムの座標に変換することと、を含み、第１の全地球測位システムの座標の意味分類は第２の全地球測位システムの座標において保持されている。第１の全地球測位システムの座標の複数の意味分類は、決定された意味分類のカテゴリを各意味分類に対応するある範囲の指標を用いて暗号化することによって保持され得る。位置のセットを示す値のセットと指標の可能な値のセットはサイズが等しくない場合、全単射関数は等しいサイズのサブセットに適用される。
【０００８】
本発明の実施形態では、データを暗号化するためのシステムは、プロセッサと、プロセッサによってアクセス可能なメモリと、メモリに記憶されており、位置データを受信することおよび受信した位置データから暗号化されたデータを生成することを実行するようにプロセッサによって実行可能な、コンピュータ・プログラム命令と、を備え、暗号化されたデータは、受信した位置データのフォーマットおよび意味を保持している。
【０００９】
本発明の実施形態では、データを暗号化するためのコンピュータ・プログラム製品は、プログラム命令を具現化している非一過性のコンピュータ可読記憶媒体を備え、プログラム命令は、位置データを受信することと受信した位置データから暗号化されたデータを生成することとを含む方法をコンピュータに実行させるようにコンピュータによって実行可能であり、暗号化されたデータは受信した位置データのフォーマットおよび意味を保持している。
【００１０】
本発明の詳細は、その構造および動作の両方に関して、同様の参照符号および記号が同様の要素を指す添付の図面を参照することによって、最もよく理解され得る。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態が実装され得る例示的なシステムを示す。
【図２】本発明の実施形態に係るプロセスの例示的なデータフロー図である。
【図３】本発明の実施形態に係る暗号化の例示的な図である。
【図４】本発明の実施形態が実装され得るコンピュータ・システムの例示的なブロック図である。
【発明を実施するための形態】
【００１２】
本発明の実施形態は、情報のフォーマットおよび意味を保持したまま位置情報を暗号化するための技法を提供し得る。例えば、ＩＰアドレスから導出された位置などの位置情報に関し、ＩＰアドレス範囲を物理的位置および意味基準に写像するデータベースを使用して、異なる範囲をクラスター化し、それらを意味基準に従って分類することができる。分類されると、全単射関数は、あるクラス内の範囲を整数範囲などの、ある範囲の指標に写像することができる。次いでフォーマット保持暗号化（ＦＰＥ）技法を使用して、データを暗号化することができる。全単射関数の逆関数を用いて、ユーザが要求する匿名性レベルを実現しながら、意味的特徴を維持するＩＰアドレスを生成することができる。そのような技法は、ＩＰから位置への翻訳機能に頼るシステムに、匿名化された有効なデータベースを提供することができる。
【００１３】
ＧＰＳ座標については、プロセスは同様であり得る。第１に、人口密度範囲、温度範囲、高度等などの意味分類を用いて、異なる領域を分類することができる。第２に、全単射関数を用いて座標をある範囲の指標、例えば整数範囲に変換することができる。次いでフォーマット保持暗号化（ＦＰＥ）技法を用いて、データを暗号化することができる。全単射関数の逆関数を用いて、ユーザが要求する匿名性レベルを実現しながら、意味的特徴を維持するＧＰＳ座標を生成することができる。
【００１４】
本発明が実装され得る例示的なシステム１００が図１に示されている。この例では、システム１００は、インターネット・プロトコル（ＩＰ）アドレス・データ・ソース１０２、全地球測位システム（ＧＰＳ）座標データ・ソース１０４などのデータ・ソースと、コンピュータ・システム１０６と、暗号化された位置データ１０８と、を含む。ＩＰアドレス・データ・ソース１０２は、インターネット・プロトコル・ネットワークを使用して通信する１つもしくは複数のデバイスまたはプロセスあるいはその両方を含むことができ、これらに対して、物理的位置、ロジック的位置、またはネットワーク位置あるいはその組合せを決定することができる。通常、ＩＰアドレスの割り当ては、割り当てを行うインターネット・サービス・プロバイダなどのいくつかの要因に基づいて、およびある程度は割り当てを受けるデバイスの物理的位割に基づいて、行われる。したがって、位置情報がＩＰアドレスから導出される可能性がある。ＧＰＳ座標データ・ソース１０４は、１つもしくは複数のデバイスまたはプロセスあるいはその両方を含むことができ、これらは、全地球測位システムを使用してそれら自体の、あるいは他のデバイス、プロセス、もしくはユーザまたはその組合せの、物理的位置を決定する。ここではＩＰアドレス・データ・ソース１０２およびＧＰＳ座標データ・ソース１０４について記載されているが、これらは例に過ぎない。本発明のシステムおよび方法は、任意の物理的位置データ、ロジック的位置データ、またはネットワーク位置データあるいはその組合せに適用可能であり、このことは、それらがどのように生成されるか、それが誰によって生成されるか、それがどのプロセスで生成されるか、またはそれを生成もしくはそれと通信するためにどのプロトコルもしくはフォーマットが使用されるかに関わらない。
【００１５】
コンピュータ・システム１０６は、例えばＩＰアドレス・データ・ソース１０２およびＧＰＳ座標データ・ソース１０４からデータを受信し、そのデータを本発明の実施形態に従って処理することのできる、１つまたは複数のデータ処理システムを含むこともできる。例えば、ＩＰアドレス・データ・ソース１０２からのＩＰアドレス・データは、ＩＰアドレス処理１１０によって処理することができ、ＧＰＳ座標データ・ソース１０４からのＧＰＳ座標データは、ＧＰＳ座標処理１１２によって処理することができる。ＩＰアドレス処理１１０およびＧＰＳ座標処理１１２からの処理されたデータは、暗号化／逆写像処理１１４によって暗号化および逆写像されて暗号化された位置データ１０８を形成することができ、これをコンピュータ・システム１０６から出力することができる。
【００１６】
図２は、図１のシステムにおいて実装され得るプロセス２００の、例示的なフロー図である。これは図１と併せて検討するのが最善である。この例では、記載される指標は整数である。ただし、これは例に過ぎない。本発明のシステムおよび方法は、値の範囲またはドメインを有しインスタンスを一意に識別できる、任意のタイプの指標を利用し得る。プロセス２００は２０２から始まり、ここでは、例えば、ＩＰアドレス・データ・ソース１０２およびＧＰＳ座標データ・ソース１０４に関して、ＩＰアドレスまたはＧＰＳ座標あるいはその両方が受信され得る。ＩＰアドレスに関して、プロセス２００は２０４において続くことができ、ここでＩＰアドレスを物理的位置に写像することができ、意味分類に分類することができる。例えば、翻訳データベースによってＩＰアドレス範囲を物理的位置に写像することができ、意味基準を使用して、異なる範囲をクラスター化し、それらを意味基準に従って分類することができる。翻訳データベースは、匿名性パラメータを含むこともできる。物理的位置および意味分類を使用して、写像をタイル化することができる。例えば、写像を、一緒に写像を覆う、共通要素のない「タイル」に分割することができる。タイル化のプロセスは、定義された位置からの距離に基づく、半径ベースのものであってもよい。タイル化のプロセスはまた、他の地理的／意味的特徴にも依存し得る。例えば、全ての島が単一のタイルとしてクラスター化されてもよく、特定の人口範囲内の全ての都市、特定の高度範囲内の全ての位置、等も同様であり得る。
【００１７】
２０６では、タイルごとの結果的な整数が連続的な範囲を形成するように、タイルごとに、各ＩＰアドレスを整数に翻訳するための一対一写像を定義する全単射関数を構築できる。あるＩＰアドレスが所与であれば、そのアドレスを物理的な座標に翻訳することができ、それが属するタイルを識別することができる。
【００１８】
２０８では、所与のＩＰアドレスに関する全単射関数の結果に対して、（タイルの範囲境界を使用して）整数フォーマット保持暗号化のプロセスを採用することができる。２１０では、暗号化された結果に対して全単射関数の逆関数を用いて、暗号化結果を表す新しいＩＰアドレスを取得することができる。
【００１９】
ＧＰＳ座標に関して、プロセス２００は２１２において続くことができ、ここでＧＰＳ座標を意味に関して分類することができる。例えば、人口密度範囲、温度範囲、高度等などの意味分類を用いて、異なる領域を分類することができる。意味基準を使用して、異なるＧＰＳ座標をクラスター化し、意味基準に従ってそれらを分類することができる。意味分類を使用して、写像をタイル化することができる。例えば、写像を、一緒に写像を覆う、共通要素のない「タイル」に分割することができる。タイル化のプロセスは、他の地理的／意味的特徴に依存し得る。例えば、全ての島が単一のタイルとしてクラスター化されてもよく、特定の人口範囲内の全ての都市、特定の高度範囲内の全ての位置、等も同様であり得る。
【００２０】
２１４では、タイルごとの結果的な整数が連続的な範囲を形成するように、タイルごとに、各ＧＰＳ座標を整数に翻訳するための一対一写像を定義する全単射関数を構築できる。あるＧＰＳ座標が所与であれば、その座標を意味分類に翻訳することができ、それが属するタイルを識別することができる。この結果、それらの分類に特有の全単射関数を用いて、座標を整数範囲に変換することができる。２０８では、所与のＧＰＳ座標に関する全単射関数の結果に対して、整数フォーマット保持暗号化のプロセスを採用することができる。２１０では、暗号化された結果に対して全単射関数の逆関数を用いて、前と同じ意味分類を有する、暗号化結果を表す実世界の座標の新しいセットを取得することができる。
【００２１】
上記したプロセスの使用の例は以下のとおりである：住所Ｘが住所ｆ（Ｘ）に全単射的に写像されると仮定する。汚染制御センタでこれらのアドレスについてデータを分析し、いくつかの住所に警告を発する必要があるとの結論に達する場合がある。警告は権限のある当局（例えば市議会）に送られることになり、そこでｆ（Ｘ）が復号されてＸに戻され、住民に警告が発せられる。このように、権限のある関係者が必要に応じて写像を逆転する機能が提供される。
【００２２】
しかしながら、この全単射性により、例えばＮＹＣ内のＩＰアドレスからシカゴ内のＩＰアドレスへの、サイズの異なる写像セットの場合に、問題が生じる場合がある。いくつかの実施形態では、この課題は、例えば、小さい方のセット（例えばシカゴの住所）を、大きい方のセット（例えばＮＹＣの住所）に属する等しいサイズのサブセットに写像することによって対処され得る。したがって、大きい方のセット中の全ての値が写像される訳ではない。このことは、カテゴリの小さいサブセットだけを、例えば現在の顧客のＩＰアドレスだけを写像すればよいユース・ケースでは、問題にはならない。
【００２３】
いくつかの実施形態では、２つ以上の意味分類に対応するために、「カテゴリ・タイル（Ｃａｔｅｇｏｒｉｃａｌ  Ｔｉｌｅ）」と呼称される構造を使用する場合がある。整数フォーマット保持暗号化プロセスは本質的に、特定のタイル内で位置を入れ換えるが、タイル番号を暗号化することによってより多くの分類を組み込み、この結果、より大きい分類のコンテキスト内でタイルを入れ換えることができる。例えば、分類の各カテゴリは、異なる整数範囲を利用し得る。したがって、地域の人口サイズ、地域の平均温度などの、２つ以上の位置の意味を保持することができる。いくつかの実施形態では、入れ換えは、入れ換えた全てのタイルが同じサイズの整数範囲を共有することを条件とし得る。いくつかの実施形態では、タイルを分割することができ、範囲はこれに対応して、入れ換えた全てのタイルが同じサイズの整数範囲を共有するまで小さくすることができる。いくつかの実施形態では、タイルは全ての意味のデカルト積として定義され得る。これらの実施形態では、タイル−整数範囲（ｔｉｌｅ−ｉｎｔｅｇｅｒ−ｒａｎｇｅ）が等しくなることは必須ではない。
【００２４】
いくつかの実施形態では、暗号化後に保持されている特性のクラスターと共に、クラスターの意味を保持することができる。そのような意味の保持の例が、図３に示されている。この例では、位置３０２、３０４は元は、都市３０８にある道路３０６を共有している。位置３０２、３０４は新しい位置として暗号化され得る。いくつかの実施形態では、意味の保持とは、暗号化されたときに新しい位置が位置３１０、３１２であってよく、これらが異なる都市３１６において引き続き道路３１４を共有し得ることを意味する。いくつかの実施形態では、同じ道路内の位置は同じタイルに写像され得る。フォーマット保持暗号化の適用後、これらの位置を、正にその同じタイル（道路）内の、異なる位置に暗号化することができる。別の意味が保持されるべきである場合、または別のレベルの匿名性が要求される場合、このことはカテゴリ・タイルによって対処され得る。例えば、ある都市にある、異なる道路を同じカテゴリ・タイルに属するものと定義すると、実施形態は道路を入れ換え、道路３２２上の位置３１８、３２０または道路３２８上の位置３２４、３２６など、道路を共有している位置を別の異なる道路に変換することができる。
【００２５】
本明細書に記載する実施形態に関与するプロセスが実装され得るコンピュータ・システム４０２の例示的なブロック図が、図４に示されている。コンピュータ・システム４０２は、１つまたは複数のプログラムされた汎用コンピュータ・システム、例えば、埋め込まれたプロセッサ、チップ上のシステム、パーソナル・コンピュータ、ワークステーション、サーバ・システム、およびミニコンピュータもしくはメインフレーム・コンピュータを用いて、または分散型のネットワーク化コンピューティング環境において、実装され得る。コンピュータ・システム４０２は、１つまたは複数のプロセッサ（ＣＰＵ）４０２Ａ〜４０２Ｎと、入力／出力回路構成４０４と、ネットワーク・アダプタ４０６と、メモリ４０８と、を含むこともできる。ＣＰＵ４０２Ａ〜４０２Ｎは、本発明の通信システムおよび方法の機能を遂行するために、プログラム命令を実行する。通常は、ＣＰＵ４０２Ａ〜４０２Ｎは、ＩＮＴＥＬ  ＣＯＲＥ（Ｒ）プロセッサなどの、１つまたは複数のマイクロプロセッサである。図４は、コンピュータ・システム４０２が単一の複数プロセッサ・コンピュータ・システムとして実装される実施形態を示し、この場合、複数のプロセッサ４０２Ａ〜４０２Ｎは、メモリ４０８、入力／出力回路構成４０４、およびネットワーク・アダプタ４０６などのシステム・リソースを共有する。ただし、本発明の通信システムおよび方法はまた、コンピュータ・システム４０２が、単一プロセッサ・コンピュータ・システム、複数プロセッサ・コンピュータ・システム、またはこれらの混合であり得る、複数のネットワーク化コンピュータ・システムとして実装される実施形態も含む。
【００２６】
入力／出力回路構成４０４は、コンピュータ・システム４０２にデータを入力する、またはそこからデータを出力する機能を提供する。例えば、入力／出力回路構成は、キーボード、マウス、タッチパッド、トラックボール、スキャナ、アナログ−デジタル変換器等などの入力デバイス、ビデオ・アダプタ、モニタ、プリンタ等などの出力デバイス、およびモデム等などの入力／出力デバイスを含むこともできる。ネットワーク・アダプタ４０６は、デバイス４００をネットワーク４１０とインターフェースする。ネットワーク４１０は、インターネットを含むがこれに限定されない、公共のまたは私有の任意のＬＡＮまたはＷＡＮであり得る。
【００２７】
メモリ４０８は、コンピュータ・システム４０２の機能を実行するために、ＣＰＵ４０２によって実行されるプログラム命令と、ＣＰＵ４０２によって使用され処理されるデータと、を記憶する。メモリ４０８としては例えば、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、プログラム可能読取り専用メモリ（ＰＲＯＭ）、電気的消去可能プログラム可能読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ等などの電子的メモリ・デバイス、および、磁気ディスク・ドライブ、テープ・ドライブ、光ディスク・ドライブ等などの電気機械的メモリが挙げられ、これらは、インテグレーテッド・ドライブ・エレクトロニクス（ｉｎｔｅｇｒａｔｅｄ  ｄｒｉｖｅ  ｅｌｅｃｔｒｏｎｉｃｓ；ＩＤＥ）インターフェースまたはそのバリエーションもしくは拡張版、例えばエンハンストＩＤＥ（ｅｎｈａｎｃｅｄ  ＩＤＥ；ＥＩＤＥ）もしくはウルトラ・ダイレクト・メモリ・アクセス（ｕｌｔｒａ−ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ；ＵＤＭＡ）、あるいは小型コンピュータ・システム・インターフェース（ＳＣＳＩ）ベースのインターフェースまたはそのバリエーションもしくは拡張版、例えばファストＳＣＳＩ、ワイドＳＣＳＩ、ファスト・アンド・ワイドＳＣＳＩ等、あるいはシリアル・アドバンスト・テクノロジー・アタッチメント（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ；ＳＡＴＡ）またはそのバリエーションもしくは拡張版、あるいはファイバ・チャネル調停ループ（ｆｉｂｅｒ  ｃｈａｎｎｅｌ−ａｒｂｉｔｒａｔｅｄ  ｌｏｏｐ；ＦＣ−ＡＬ）インターフェースを使用し得る。
【００２８】
メモリ４０８の内容は、コンピュータ・システム４０２が実行するようにプログラムされている関数に依って変化し得る。図４に示す例では、上記したプロセスの実施形態に関するルーチンおよびデータを表す、例示的なメモリ内容が示されている。しかしながら、当業者であれば、これらのルーチンがそれらのルーチンに関連するメモリ内容と共に１つのシステムまたはデバイスに含まれていなくてもよく、むしろよく知られた技術上の考察に基づいて、複数のシステムまたはデバイスにわたって分散され得ることを、認識するであろう。本発明の通信システムおよび方法は、ありとあらゆるそのような構成を含み得る。
【００２９】
図４に示す例では、メモリ４０８は、ＩＰアドレス処理ルーチン４１２と、ＧＰＳ座標処理ルーチン４１４と、暗号化／逆写像処理ルーチン４１６と、ＩＰアドレス・データ４１８と、ＧＰＳ座標データ４２０と、暗号化された位置データ４２２と、翻訳データベース４２４と、オペレーティング・システム４２６と、を含むこともできる。ＩＰアドレス処理ルーチン４１２は、翻訳データベース４２４を使用してＩＰアドレス・データ４１８を受信し処理するためのソフトウェア・ルーチンを含み得る。例えば、図１に示すＩＰアドレス・データ・ソース１０２から、ＩＰアドレス・データ４１８が受信され得る。ＧＰＳ座標処理ルーチン４１４は、翻訳データベース４２４を使用してＧＰＳ座標データ４２０を受信し処理するためのソフトウェア・ルーチンを含むこともできる。例えば、図１に示すＧＰＳ座標データ・ソース１０４から、ＧＰＳ座標データ４２０が受信され得る。暗号化／逆写像処理ルーチン４１６は、ＩＰアドレス処理ルーチン４１２からの出力を暗号化し逆写像するためのソフトウェア・ルーチンと、暗号化された位置データ４２２を形成するためのＧＰＳ座標処理ルーチン４１４と、を含むこともできる。行列生成ルーチン４１８は、行および列が薬物を表し各セルが類似性尺度を表す行列を生成するための、ソフトウェア・ルーチンを含むこともできる。モデル生成ルーチン４２０は、ロジスティック回帰モデルなどのモデルを生成するための、ソフトウェア・ルーチンを含むこともできる。仮説生成ルーチン４２２は、モデルを使用して薬効再評価仮説を生成するための、ソフトウェア・ルーチンを含むこともできる。オペレーティング・システム４２４は、全体的なシステムの機能を提供し得る。
【００３０】
図４に示すように、本発明は、複数プロセッサの、マルチ・タスクの、マルチ・プロセスの、またはマルチ・スレッドのあるいはその組合せのコンピューティングを提供する１つまたは複数のシステム上での実装、および、単一プロセッサ、単一スレッドのコンピューティングのみを提供するシステム上での実装を含み得る。複数プロセッサのコンピューティングは、２つ以上のプロセッサを使用するコンピューティングの実行に関与している。マルチ・タスクのコンピューティングは、２つ以上のオペレーティング・システムのタスクを使用するコンピューティングの実行に関与している。タスクとはオペレーティング・システムの概念であり、実行中のプログラムとオペレーティング・システムが使用するブックキーピング情報との組合せを指す。プログラムが実行されるときはいつでも、オペレーティング・システムはそのための新しいタスクを作り出す。タスクは、プログラムをタスク番号で識別し他のブックキーピング情報をこれに添付するという点で、プログラムにとっての封筒のようなものである。Ｌｉｎｕｘ、ＵＮＩＸ（Ｒ）、ＯＳ／２（Ｒ）、およびＷｉｎｄｏｗｓ（Ｒ）を含め、多くのオペレーティング・システムが多くのタスクを同時に実行することができ、それらはマルチ・タスクのオペレーティング・システムと呼ばれている。マルチ・タスクとは、オペレーティング・システムが２つ以上の実行ファイルを同時に実行する能力である。各実行ファイルはそれ自身のアドレス空間内で実行されているが、このことは、それらの実行ファイルがそれらのメモリのいずれかを共有することができないことを意味する。このことには利点があるが、その理由は、いずれのプログラムも、システム上で実行されているいずれの他のプログラムの実行も、損うことが不可能だからである。しかしながら、プログラムは、オペレーティング・システムを介する（またはファイル・システム上に記憶されているファイルを読み込むことによって）以外にはどのような情報を交換することもできない。マルチ・プロセスのコンピューティングはマルチ・タスクのコンピューティングと類似しており、タスクおよびプロセスという用語は、一部のオペレーティング・システムではこれら２つを区別するものの、多くの場合入れ替え可能に使用される。
【００３１】
本発明は、任意の可能な技術詳細レベルで組み込まれた、システム、方法、またはコンピュータ・プログラム製品あるいはそれらの組合せであり得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を遂行させるためのコンピュータ可読プログラム命令を有する、コンピュータ可読記憶媒体を含んでもよい。コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保持および記憶できる有形のデバイスとすることができる。
【００３２】
コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または以上の任意の好適な組合せであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、以下、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラム可能読取り専用メモリ（ＥＰＲＯＭもしくはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、デジタルバーサタイルディスク（ＤＶＤ）、メモリ・スティック、フロッピー（Ｒ）・ディスク、命令が記録されているパンチカードもしくは溝の中の隆起構造などの機械的に符号化されたデバイス、および以上の任意の好適な組合せが含まれる。本明細書において使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を通じて伝播する電磁波（例えば、光ファイバ・ケーブルを通過する光パルス）、または配線を介して伝送される電気信号などの、一時的信号そのものであると解釈されるべきではない。
【００３３】
本明細書に記載するコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各々のコンピューティング／処理デバイスに、あるいは、ネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワーク、またはその組合せを経由して、外部のコンピュータもしくは外部ストレージ・デバイスに、ダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはそれらの組合せを備え得る。各コンピューティング／処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、各々のコンピューティング／処理デバイス内のコンピュータ可読記憶媒体に記憶されるように転送する。
【００３４】
本発明の動作を遂行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存型命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の構成データ、または、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは類似のプログラミング言語などの手続き型プログラミング言語を含む、１つもしくは複数のプログラミング言語の任意の組合せで書かれた、ソース・コードもしくはオブジェクト・コードのいずれか、であり得る。コンピュータ可読プログラム命令は、専らユーザのコンピュータ上で、スタンド・アロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上でかつ部分的に遠隔のコンピュータ上で、または専ら遠隔のコンピュータもしくはサーバ上で、実行することができる。後者のシナリオでは、遠隔のコンピュータを、ローカル・エリア・ネットワーク（ＬＡＮ）もしくはワイド・エリア・ネットワーク（ＷＡＮ）を含む任意の種類のネットワークを介して使用者のコンピュータに接続してもよく、または、外部のコンピュータへの接続を（例えば、インターネット・サービス・プロバイダを利用してインターネットを介して）行ってもよい。いくつかの実施形態では、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路は、本発明の態様を行うために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行して電子回路を個人化することができる。
【００３５】
本明細書には、本発明の実施形態に係る方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して、本発明の態様が記載されている。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せを、コンピュータ可読プログラム命令によって実施できることが、理解されるであろう。
【００３６】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックに指定される機能／動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令はまた、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックに指定される機能／動作の態様を実施する命令を含んだ製品を備えるように、コンピュータ可読記憶媒体に保存され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはそれらの組合せに特定の方式で機能するように指示できるものであってもよい。
【００３７】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能装置、または他のデバイスで実行される命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックにおいて指定される機能／動作を実施するように、コンピュータによって実装されるプロセスを作り出すべく、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【００３８】
図中のフローチャートおよびブロック図には、本発明の様々な実施形態に係るシステム、方法、およびコンピュータ・プログラム製品の、可能な実装形態のアーキテクチャ、機能、および動作が説明されている。この関連において、フローチャートまたはブロック図内の各ブロックは、指定されたロジック機能を実装するための１つまたは複数の実行可能命令を備える、モジュール、セグメント、または命令の一部分を表すことができる。いくつかの代替的実装形態において、ブロック内に記された機能は、図に記されたものとは異なる順序で行われ得る。例えば連続して示される２つのブロックは、実際は実質的に並行して実行され得、またはこれらのブロックは時には関与する機能に応じて、逆の順序で実行され得る。また、ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能もしくは動作を行う、または専用ハードウェアとコンピュータ命令の組合せを遂行する、専用ハードウェア・ベースのシステムによって実装され得ることにも、留意されるであろう。
【００３９】
本発明の特定の実施形態について記載したが、記載した実施形態と等価な他の実施形態が存在することが、当業者には理解されるであろう。したがって、本発明は特定の例示した実施形態に限定されるものではなく、添付の特許請求の範囲の範囲によってのみ限定されることを理解されたい。
【図１】
2021531560.tif 000003
【図２】
2021531560.tif 000004
【図３】
2021531560.tif 000005
【図４】
2021531560.tif 000006
【手続補正書】
【提出日】令和3年1月13日(2021.1.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータの情報処理によりデータを暗号化する方法であって、
位置データを受信することと、
前記受信した位置データから暗号化されたデータを生成することと、を含み、前記暗号化されたデータは前記受信した位置データのフォーマットおよび意味を保持している、コンピュータ実装方法。
【請求項２】
前記受信した位置データは第１のインターネット・プロトコル・アドレスを含み、前記生成することは、
前記第１のインターネット・プロトコル・アドレスを、位置を示すデータに翻訳することと、
前記示された位置の意味分類を決定することと、
位置を示す前記データを全単射関数を用いてある指標に変換することであって、前記指標は前記決定された意味分類のある範囲の指標に属する、前記変換することと、
フォーマット保持暗号化を用いて前記指標を暗号化することと、
前記暗号化された指標を逆全単射関数を用いて第２のインターネット・プロトコル・アドレスに変換することと、を含み、前記示された位置の前記意味分類は前記第２のインターネット・プロトコル・アドレスにおいて保持されている、請求項１に記載の方法。
【請求項３】
前記示された位置の複数の意味分類は、決定された意味分類のカテゴリを各意味分類に対応するある範囲の指標を用いて暗号化することによって保持される、請求項２に記載の方法。
【請求項４】
位置のセットを示す値のセットと指標の可能な値のセットのサイズが等しくない場合、前記全単射関数は等しいサイズのサブセットに適用される、請求項３に記載の方法。
【請求項５】
前記受信した位置データは第１の全地球測位システムの座標を含み、前記生成することは、
前記全地球測位システムの座標の意味分類を決定することと、
前記全地球測位システムの座標を全単射関数を用いてある指標に変換することであって、前記指標は前記決定された意味分類のある範囲の指標に属する、前記変換することと、
フォーマット保持暗号化を用いて前記指標を暗号化することと、
前記暗号化された整数を逆全単射関数を用いて第２の全地球測位システムの座標に変換することと、を含み、前記第１の全地球測位システムの座標の前記意味分類は前記第２の全地球測位システムの座標において保持されている、請求項１に記載の方法。
【請求項６】
前記第１の全地球測位システムの座標の複数の意味分類は、決定された意味分類のカテゴリを各意味分類に対応するある範囲の指標を用いて暗号化することによって保持される、請求項５に記載の方法。
【請求項７】
位置のセットを示す値のセットと指標の可能な値のセットのサイズが等しくない場合、前記全単射関数は等しいサイズのサブセットに適用される、請求項６に記載の方法。
【請求項８】
請求項１ないし７の何れか１項に記載の方法を、コンピュータ・ハードウェアによる手段として構成した、システム。
【請求項９】
請求項１ないし７のいずれか１項に記載の方法をコンピュータに実行させる、コンピュータ・プログラム。
【請求項１０】
請求項９に記載の前記コンピュータ・プログラムをコンピュータ可読記憶媒体に記録した、記憶媒体。
【国際調査報告】
2021531560.tif 000007
2021531560.tif 000008