(57)【要約】【課題】不正な識別情報が生成されてしまうことや、端末のセキュリティが低下してしまうことを抑止しつつ、アプリケーション及びブラウザそれぞれで使用される識別情報の対応付けを行う。【解決手段】端末から通信を介して取得される第１の時刻情報と、前記第１の時刻情報が取得されるタイミングと略同一のタイミングで取得される第２の時刻情報と、前記端末の識別情報と、を対応付けて複数記憶する記憶部と、端末から他のタイミングで通信を行う際に得られる第１の時刻情報及び第２の時刻情報に基づいて、前記記憶部に記憶される前記識別情報のうち、当該通信の通信相手である端末と同一の端末の識別情報を推定する推定部と、を備える推定装置である。【選択図】図１
2018011202.tif 000002
【特許請求の範囲】
【請求項１】
端末から通信を介して取得される第１の時刻情報と、前記第１の時刻情報が取得されるタイミングと略同一のタイミングで取得される第２の時刻情報と、前記端末の識別情報と、を対応付けて複数記憶する記憶部と、
端末から他のタイミングで通信を行う際に得られる第１の時刻情報及び第２の時刻情報に基づいて、前記記憶部に記憶される前記識別情報のうち、当該通信の通信相手である端末と同一の端末の識別情報を推定する推定部と、
を備える推定装置。
【請求項２】
前記推定部は、前記記憶部に記憶される第１の時刻情報と前記他のタイミングで通信を行う際に得られる第１の時刻情報との差と、前記記憶部に記憶される第２の時刻情報と前記他のタイミングで通信を行う際に得られる第２の時刻情報との差と、に基づいて推定する、請求項１に記載の推定装置。
【請求項３】
前記推定部は、二つの差の値が所定の基準よりも近い値である場合に、その時刻情報に対応付けて記憶されている識別情報を、当該通信の通信相手である端末と同一の端末の識別情報であると推定する、請求項２に記載の推定装置。
【請求項４】
前記第１の時刻情報及び第２の時刻情報は、それぞれＴＣＰタイムスタンプ及びＵＮＩＸタイムスタンプである請求項１から３のいずれか一項に記載の推定装置。
【請求項５】
端末から通信を介して取得される第１の時刻情報と、前記第１の時刻情報が取得されるタイミングと略同一のタイミングで取得される第２の時刻情報と、前記端末の識別情報と、を対応付けて記憶部が複数記憶する記憶ステップと、
端末から他のタイミングで通信を行う際に得られる第１の時刻情報及び第２の時刻情報に基づいて、前記記憶部に記憶される前記識別情報のうち、当該通信の通信相手である端末と同一の端末の識別情報を推定する推定ステップと、
を有する推定方法。
【請求項６】
請求項１から請求項４のいずれか一項に記載の推定装置としてコンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末の識別情報（端末ＩＤ）を推定する技術に関する。
【背景技術】
【０００２】
端末は、ブラウザの動作によってサーバに接続する場合もあれば、アプリケーションの動作によってサーバに接続する場合もある。それぞれの場合で、使用される端末の識別情報が異なる。ブラウザの動作によってサーバに接続する場合には、端末の識別情報としてＣｏｏｋｉｅが使用されることが一般的である。アプリケーションの動作によってサーバに接続する場合には、端末の識別情報として広告用ＩＤ（例えばＩＤＦＡ：IDentification For Advertises、ＡＤＩＤ：ADvertising IDentification）が使用されることが一般的である。サーバは、同一の端末で使用されるＣｏｏｋｉｅ及び広告用ＩＤの対応付けを得ることで、アプリケーションの動作に応じた広告をブラウザに提供したり、ブラウザの動作に応じた広告をアプリケーションに提供することができる。そのため、同一の端末で使用されるＣｏｏｋｉｅ及び広告用ＩＤの対応付けを得ることで、効果的な広告を行うことが可能である。
【０００３】
ただし、Ｃｏｏｋｉｅ及び広告用ＩＤはそれぞれ独立して得られる識別情報であるため、同一の端末で使用されているＣｏｏｋｉｅ及び広告用ＩＤの対応付けを取得するためには、何かしらの処理を行う必要があった。ＩＤ推定は、このような処理の一例である。ＩＤ推定の具体例として、特許文献１に開示された技術がある。この技術では、端末において、広告用ＩＤの対応付けが行われ、アプリケーション及びブラウザに共通して使用される識別情報が生成される。アプリケーション及びブラウザの両者がこの識別情報を用いることで、Ｃｏｏｋｉｅ及び広告用ＩＤの対応付けが可能となっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５７２４０２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された技術では、端末において識別情報が生成される。そのため、悪意のあるユーザによって使用された端末において、不正な識別情報が生成されてしまうおそれがある。また、端末内がサーバプロセスを実行するため、バッテリが多く消費されたり、セキュリティが低下するおそれがあった。
【０００６】
上記事情に鑑み、本発明は、不正な識別情報が生成されてしまうこと及び端末のセキュリティが低下してしまうことを抑止しつつ、アプリケーション及びブラウザそれぞれで使用される識別情報の対応付けを行うことを可能にする技術の提供を目的としている。
【課題を解決するための手段】
【０００７】
本発明の一態様は、端末から通信を介して取得される第１の時刻情報と、前記第１の時刻情報が取得されるタイミングと略同一のタイミングで取得される第２の時刻情報と、前記端末の識別情報と、を対応付けて複数記憶する記憶部と、端末から他のタイミングで通信を行う際に得られる第１の時刻情報及び第２の時刻情報に基づいて、前記記憶部に記憶される前記識別情報のうち、当該通信の通信相手である端末と同一の端末の識別情報を推定する推定部と、を備える推定装置である。
【０００８】
本発明の一態様は、上記の推定装置であって、前記推定部は、前記記憶部に記憶される第１の時刻情報と前記他のタイミングで通信を行う際に得られる第１の時刻情報との差と、前記記憶部に記憶される第２の時刻情報と前記他のタイミングで通信を行う際に得られる第２の時刻情報との差と、に基づいて推定する。
【０００９】
本発明の一態様は、上記の推定装置であって、前記推定部は、二つの差の値が所定の基準よりも近い値である場合に、その時刻情報に対応付けて記憶されている識別情報を、当該通信の通信相手である端末と同一の端末の識別情報であると推定する。
【００１０】
本発明の一態様は、上記の推定装置であって、前記第１の時刻情報及び第２の時刻情報は、それぞれＴＣＰタイムスタンプ及びＵＮＩＸ（登録商標）タイムスタンプである。
【００１１】
本発明の一態様は、端末から通信を介して取得される第１の時刻情報と、前記第１の時刻情報が取得されるタイミングと略同一のタイミングで取得される第２の時刻情報と、前記端末の識別情報と、を対応付けて記憶部が複数記憶する記憶ステップと、端末から他のタイミングで通信を行う際に得られる第１の時刻情報及び第２の時刻情報に基づいて、前記記憶部に記憶される前記識別情報のうち、当該通信の通信相手である端末と同一の端末の識別情報を推定する推定ステップと、を有する推定方法である。
【００１２】
本発明の一態様は、上記の推定装置としてコンピュータを機能させるためのコンピュータプログラムである。
【発明の効果】
【００１３】
本発明により、不正な識別情報が生成されてしまうこと及び端末のセキュリティが低下してしまうことを抑止しつつ、アプリケーション及びブラウザそれぞれで使用される識別情報の対応付けを行うことが可能となる。
【図面の簡単な説明】
【００１４】
【図１】推定システム１のシステム構成を表すシステム構成図である。
【図２】タイムスタンプテーブルの具体例を示す図である。
【図３】ＴＣＰヘッダフォーマットを示す図である。
【図４】書込処理の流れを示すシーケンス図である。
【図５】推定処理の流れを示すシーケンス図である。
【図６】推定装置１００における推定処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１５】
（システム構成）
図１は、推定システム１のシステム構成を表すシステム構成図である。推定システム１は、推定装置１００及び複数の端末２００を備える。推定装置１００及び各端末２００は、ネットワーク３００を介して互いに通信可能に接続される。ネットワーク３００は、例えば、インターネットで構成されてもよい。
【００１６】
推定装置１００は、メインフレームやワークステーションやパーソナルコンピュータ等の情報処理装置を用いて構成される。推定装置１００は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備える。推定装置１００は、推定プログラムを実行することによって、通信部１０１、制御部１０２、タイムスタンプ記憶部１０３、推定部１０４、入力部１０５及び出力部１０６を備える装置として機能する。なお、推定装置１００の各機能の全て又は一部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されてもよい。推定プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、半導体記憶装置（例えばＳＳＤ：Solid State Drive）等の可搬媒体、コンピュータシステムに内蔵されるハードディスクや半導体記憶装置等の記憶装置である。推定プログラムは、電気通信回線を介して送信されてもよい。推定プログラムはクラウドや仮想マシンで実行されてもよい。推定装置１００は、複数台の情報処理装置を用いて構成されてもよい。
【００１７】
通信部１０１は、ネットワークインタフェースである。通信部１０１はネットワーク３００を介して端末２００と通信する。
【００１８】
制御部１０２は、第１の時刻情報と第２の時刻情報とに基づいて、端末２００に対する推定処理に関する制御を実行する。第１の時刻情報とは、端末２００から得られる時刻情報である。第１の時刻情報は、例えば、ＴＣＰタイムスタンプであってもよい。第２の時刻情報は、第１の時刻情報とは異なる時刻情報である。第２の時刻情報は、例えば、ＵＮＩＸタイムスタンプであってもよい。制御部１０２は、端末２００から受信した情報（例えば、ＩＰアドレス、ポート番号、シンクＩＤ及びＴＣＰタイムスタンプ）をタイムスタンプテーブルに登録する。制御部１０２は、端末２００からシンクＩＤを受信するとタイムスタンプレコードを生成する。
【００１９】
タイムスタンプ記憶部１０３は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。タイムスタンプ記憶部１０３は、タイムスタンプテーブルを記憶する。タイムスタンプテーブルは、複数のタイムスタンプレコードを有する。
【００２０】
図２は、タイムスタンプテーブルの具体例を示す図である。タイムスタンプレコードは、ＩＰアドレス、ポート番号、シンクＩＤ、ＴＣＰタイムスタンプ、ＵＮＩＸタイムスタンプ、作成日時及び更新日時の各値を有する。ＩＰアドレスは、端末２００が有するＩＰアドレスである。ポート番号は、端末２００から推定装置１００に対して接続が行われたポート番号である。シンクＩＤは、端末２００の識別情報である。シンクＩＤは、例えば従来のＩＤシンク処理に用いられる識別情報であってもよいし、推定装置１００によって生成される新たな識別情報であってもよい。ＴＣＰタイムスタンプは、端末２００から受信したＴＣＰタイムスタンプの値である。ＵＮＩＸタイムスタンプは、情報処理装置上での固有の時刻表現によって表される値である。ＵＮＩＸタイムスタンプは、協定世界時での１９７０年１月１日午前０時０分０秒からの経過秒数で表される。同時刻における推定装置１００のＵＮＩＸタイムスタンプと端末２００のＵＮＩＸタイムスタンプとは同じ値になる。ＵＮＩＸタイムスタンプには、推定装置１００が有する値が登録される。なお、ＵＮＩＸタイムスタンプには、端末２００から受信したＵＮＩＸタイムスタンプが登録されてもよい。作成日時は、タイムスタンプレコードが生成された日時である。更新日時は、タイムスタンプレコードが最後に更新された日時である。更新日時の初期値には、タイムスタンプレコードが生成された日時（作成日時と同じ値）が登録される。
【００２１】
図２に示される例では、タイムスタンプテーブルの最上段のタイムスタンプレコードは、ＩＰアドレスの値が“１７２．１６．ＡＡＡ．ＢＢＢ”、ポート番号の値が“１５０００”、シンクＩＤの値が“ｉｄ１２３”、ＴＣＰタイムスタンプの値が“１３４５６０”、ＵＮＩＸタイムスタンプの値が“２２３４５６”、作成日時が“６／２０  １８：４２：１０”、更新日時が“６／２０  １８：４２：１０”である。このタイムスタンプレコードでは、ＩＰアドレスが“１７２．１６．ＡＡＡ．ＢＢＢ”を有する端末２００が、推定装置１００のポート番号“１５０００”に対して、アクセスした（接続した）ことを示す。この時の端末２００は、シンクＩＤとして“ｉｄ１２３”を有していた。接続が行われた際のＴＣＰタイムスタンプの値は“１３４５６０”であり、ＵＮＩＸタイムスタンプの値は“２２３４５６”である。接続が行われた際の日時は“６／２０  １８：４２：１０”である。最後に更新された日時は“６／２０  １８：４２：１０”であり、一度も更新されていないことがわかる。なお、図２に示されるタイムスタンプテーブルは一具体例にすぎない。そのため、図２とは異なる態様でタイムスタンプテーブルが構成されてもよい。例えば、タイムスタンプテーブルは、ＴＣＰタイムスタンプ及びＵＮＩＸタイムスタンプに加えて、他のタイムスタンプのカラムをさらに有していてもよい。
【００２２】
図３は、ＴＣＰヘッダフォーマットを示す図である。ＴＣＰタイムスタンプは、端末２００が起動されてからの経過時間に関する値を示す。ＴＣＰタイムスタンプは、端末２００が起動される際にリセットされる。リセットされたＴＣＰタイムスタンプは、ランダムな数値からスタートして再び経過時間が蓄積される。ＴＣＰタイムスタンプは、ＴＣＰヘッダフォーマットの“Ｏｐｔｉｏｎｓ”に登録される。
【００２３】
図１にもどって推定装置１００の説明を続ける。推定部１０４は、推定処理を実行する。推定処理の実行によって、推定部１０４は、自装置に対してアクセスしてきた端末２００に関するタイムスタンプレコードを、タイムスタンプテーブルに登録されているタイムスタンプレコードの中から推定する。
【００２４】
入力部１０５は、キーボード、マウス、トラックボール等の入力装置を用いて構成される。入力部１０５は、入力装置を推定装置１００に接続するためのインタフェースであってもよい。この場合、入力部１０５は、入力装置において入力された入力信号から入力データを生成し推定装置１００に入力する。
【００２５】
出力部１０６は、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ等の出力装置である。出力部１０６は、出力装置を推定装置１００に接続するためのインタフェースであってもよい。この場合、出力部１０６は、出力データから出力信号を生成し自身に接続されている出力装置に出力信号を出力する。
【００２６】
端末２００は、タブレットコンピュータ、パーソナルコンピュータ又はスマートフォン等の情報処理装置を用いて構成される。端末２００は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備える。端末２００は、以下に示す機能を備えることが可能な装置であればどのような装置もなり得る。端末２００は、通信プログラムを実行することによって、通信部２０１、制御部２０２、ポート決定部２０３、入力部２０４及び出力部２０５を備える装置として機能する。なお、端末２００の各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されてもよい。通信プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、半導体記憶装置等の可搬媒体、コンピュータシステムに内蔵されるハードディスクや半導体記憶装置等の記憶装置である。通信プログラムは、電気通信回線を介して送信されてもよい。
【００２７】
通信部２０１は、ネットワークインタフェースである。通信部２０１はネットワーク３００を介して推定装置１００と通信する。通信部２０１は、さらに、ネットワーク３００を介して他の装置（例えばＷＥＢサーバ、コンテンツサーバ等）と通信する。
【００２８】
制御部２０２は、端末２００の動作に関する制御を実行する。制御部２０２は、例えばユーザによってブラウザが起動され所定のＷＥＢサーバへの接続が指示されると、指示されたＷＥＢサーバに対して接続し、データを受信する。そして、制御部２０２は、受信されたデータに応じて処理を実行する。例えば、受信されたデータにスクリプト（例えば広告サイトに組み込まれたＨＴＭＬプログラム）が含まれている場合には、制御部２０２は、受信されたスクリプトを実行する。制御部２０２は、例えばユーザによってアプリケーションが起動されると、アプリケーションに定義された処理を実行する。この実行に伴い、アプリケーションに関連するコンテンツを提供するコンテンツサーバに対して制御部２０２が接続する。
【００２９】
ポート決定部２０３は、推定装置１００に接続する際に使用されるポート番号を決定する。ポート番号には、所定の範囲でランダムな値が選択される。所定の範囲とは、例えば、書込処理では１００００以上２００００未満、推定処理では２００００以上３００００未満であってもよい。所定の範囲は、例えば受信されたスクリプトにおいて定義されてもよいし、起動されるアプリケーション内において定義されてもよい。
【００３０】
入力部２０４は、タッチパネル、ボタン、スイッチ等の既存の操作装置を用いて構成される。入力部２０４は、入力装置を端末２００に接続するためのインタフェースであってもよい。この場合、入力部２０４は、入力装置において入力された入力信号から入力データを生成し端末２００に入力する。
【００３１】
出力部２０５は、ＣＲＴディスプレイ、液晶ディスプレイ、有機ＥＬディスプレイ等の映像出力装置である。出力部２０５は、出力装置を端末２００に接続するためのインタフェースであってもよい。この場合、出力部２０５は、出力データから出力信号を生成し、自身に接続されている出力装置に出力信号を出力する。
【００３２】
図４は、書込処理の流れを示すシーケンス図である。書込処理は、制御部２０２によって所定のサーバ（上述したＷＥＢサーバやコンテンツサーバ）へのアクセスが発生する際に実行される。まず、端末２００のポート決定部２０３は、所定の範囲でポート番号を決定する（ステップＳ１０１）。所定の範囲とは、例えば、１００００以上２００００未満等であってもよい。次に、制御部２０２は、決定されたポート番号とシンクＩＤとを推定装置１００に送信する（ステップＳ１０２）。推定装置１００の制御部１０２は、端末２００からポート番号及びシンクＩＤを受信する。制御部１０２は、タイムスタンプ記憶部１０３のタイムスタンプテーブルにタイムスタンプレコードを生成する。制御部１０２は、このタイムスタンプレコードにポート番号、シンクＩＤ及びＩＰアドレスを登録する。このＩＰアドレスは端末２００が有するＩＰアドレスである（ステップＳ１０３）。
【００３３】
制御部２０２は、推定装置１００へ接続処理を行う。この際、制御部２０２は、ステップＳ１０１で決定したポート番号に接続処理を行う（ステップＳ１０４）。制御部１０２は、端末２００から接続を受けた際に使用されているＩＰアドレス及びポート番号を取得し、取得されたＩＰアドレス及びポート番号が一致するタイムスタンプレコードをタイムスタンプテーブルから特定する（ステップＳ１０５）。制御部１０２は、特定されたタイムスタンプレコードに対し登録処理を実行する。登録処理において、制御部１０２は、端末２００から取得したＴＣＰタイムスタンプと、推定装置１００が有するＵＮＩＸタイムスタンプと、をタイムスタンプレコードに登録する。なお、ＵＮＩＸタイムスタンプには、端末２００から受信したＵＮＩＸタイムスタンプが登録されてもよい（ステップＳ１０６）。
【００３４】
図５は、推定処理の流れを示すシーケンス図である。制御部２０２によって所定のサーバ（上述したＷＥＢサーバやコンテンツサーバ）へのアクセスが発生する際に実行される。まず、端末２００のポート決定部２０３は、所定の範囲でポート番号を決定する。所定の範囲とは、書込処理の際に使用された範囲とは重複しない値の範囲である。例えば、２００００以上３００００未満等であってもよい（ステップＳ２０１）。
【００３５】
次に、制御部２０２は、推定装置１００へ接続処理を行う。この際、制御部２０２は、ステップＳ２０１で決定したポート番号に対して接続処理を行う（ステップＳ２０２）。制御部１０２は、タイムスタンプ記憶部１０３のタイムスタンプテーブルにタイムスタンプレコードを生成する。制御部１０２は、このタイムスタンプレコードにポート番号、ＩＰアドレス、ＴＣＰタイムスタンプ及びＵＮＩＸタイムスタンプを登録する（ステップＳ２０３）。このタイムスタンプレコードが、推定処理において基準となるタイムスタンプレコード（以下「基準レコード」という。）である。制御部２０２は、ステップＳ２０１で決定したポート番号を推定装置１００へ送信する（ステップＳ２０４）。制御部１０２は、推定処理を推定部１０４に実行させる。推定部１０４は、このポート番号及びＩＰアドレスを用いて、推定処理を実行する（ステップＳ２０５）。
【００３６】
図６は、推定装置１００における推定処理の流れを示すフローチャートである。推定部１０４は、タイムスタンプテーブルに登録されている全てのタイムスタンプレコードに対して、ステップＳ３０１〜ステップＳ３０３までの処理を実行する。まず、推定部１０４は、タイムスタンプテーブルに登録されているタイムスタンプレコードの中から、処理の対象となるタイムスタンプレコード（以下「対象レコード」という。）を選択する。推定部１０４は、対象レコードのＴＣＰタイムスタンプの値と、基準レコードのＴＣＰタイムスタンプとの差を算出する（ステップＳ３０１）。次に、推定部１０４は、対象レコードのＵＮＩＸタイムスタンプの値と、基準レコードのＵＮＩＸタイムスタンプとの差を算出する（ステップＳ３０２）。推定部１０４は、ステップＳ３０１及びステップＳ３０２で算出した差の比率を算出する（ステップＳ３０３）。
【００３７】
推定部１０４は、算出された比率に基づいて、推定レコードを特定する（ステップＳ３０４）。推定レコードとは、基準レコードのＴＣＰタイムスタンプレコードの送信元と同じ端末２００に関して生成されたタイムスタンプレコードである。以下、推定レコードを特定するための処理の具体例について説明する。比率が所定の閾値以下の場合、推定部１０４は、対象レコードと基準レコードとは同じ端末２００に関して生成されたタイムスタンプレコードであると推定する。この場合、対象レコードのシンクＩＤは、基準レコードに関する端末２００のシンクＩＤであると推定される。所定の閾値以下のレコードが複数ある場合、推定部１０４は、更新日時が最新であるタイムスタンプレコードを推定レコードとして特定してもよい。所定の閾値以下のレコードが複数ある場合、推定部１０４は、所定の条件を満たす複数のレコードの全てを推定レコードとして特定してもよい。所定の条件とは、例えば、更新日時から現在日時までの時間が閾値未満であることであってもよいし、シンクＩＤが同一であることであってもよいし、他の条件であってもよい。推定部１０４は、基準レコードに、このシンクＩＤを登録する（ステップＳ３０５）。
【００３８】
（効果）
このように構成されることで、推定システム１は、ＴＣＰタイムスタンプを用いて推定処理を実行することができる。これにより推定装置１００は、端末２００上で稼働するアプリケーション及びブラウザ間で同じシンクＩＤを用いることができる。すなわち、推定装置１００は、端末２００上で稼働するアプリケーション及びブラウザそれぞれで使用される識別情報を対応付けることができる。
【００３９】
また、推定システム１では、推定処理を行う際に、ＴＣＰタイムスタンプ及びＵＮＩＸタイムスタンプが使用される。これらの値は、いずれも端末２００において不正に誤った値を生成することが困難である。また、悪意のユーザによって不正な値が端末２００から推定装置１００に送信されたとしても、悪意のユーザは他の端末２００におけるＴＣＰタイムスタンプを取得することは困難である。そのため、悪意のユーザによって他者の端末２００になりすますこと等の不正を目的としてＴＣＰタイムスタンプを推定装置１００に送信することが困難である。したがって、不正な識別情報が生成されてしまうことを抑止することが可能となる。
【００４０】
このように構成された推定システム１によって特定された情報を用いることによって、広告効果を高めることが可能となる。例えば、推定処理を行うことによって、通信を開始した端末２００に関して、この端末２００が過去に他のサーバに対してアクセスした際の情報を特定することができる。そして、特定された情報に基づいて、端末２００のユーザの趣向などを判定し、リコメンドエンジン等の技術を用いることによってユーザに対して効果が高いと推定される広告を提供することが可能となる。
【００４１】
（変形例）
端末２００は、ステップＳ１０２より先にステップＳ１０４を実行してもよい。端末２００は、ステップＳ２０２より先にステップＳ２０４を実行してもよい。また、端末２００は、ステップＳ１０２を実行する際に、ステップＳ１０４を実行してもよい。端末２００は、ステップＳ２０２を実行する際に、ステップＳ２０４を実行してもよい。このように構成されると、推定装置１００は、一度の通信でシンクＩＤ、ＵＮＩＸタイムスタンプ及びＴＣＰタイムスタンプを取得できる。このため、端末２００は、２回実行していた通信処理を１回の通信処理で実行できる。このため、更に高速に推定処理を実行することができる。
【００４２】
装置２００はポート番号を決定する際に、推定装置１００にポート番号を問い合わせてもよい。このように構成されることで、端末２００が生成するポート番号の重複がなくなり、推定処理の精度が向上する。
【００４３】
書込処理の後に随時、推定処理を行う場合は、ポート決定部２０３は、書込処理及び推定処理のポート番号を分けなくてもよい（例えば、書き込み処理を１００００以上２００００未満、推定処理を２００００以上３００００未満）。このように構成されることで、ＮＡＰＴ（Network Address Port Translation）やテザリング環境等、１つのＩＰアドレスが複数の端末２００に同時に利用される場合に、推定処理の誤りを抑止することができる。
【００４４】
推定処理を完了すると、推定部１０４は、ステップＳ３０４において特定したタイムスタンプレコードのデータを更新してもよい。推定部１０４は、このタイムスタンプレコードのＴＣＰタイムスタンプのデータを、端末２００から受信したＴＣＰタイムスタンプのデータに更新してもよい。推定部１０４は、このタイムスタンプレコードのＵＮＩＸタイムスタンプのデータを推定装置１００が有するＵＮＩＸタイムスタンプのデータに更新してもよい。このように構成されることで、このタイムスタンプレコードの鮮度が維持される。このため、推定部１０４は、推定処理の精度を維持することができる。なお、ＵＮＩＸタイムスタンプには、端末２００から受信したＵＮＩＸタイムスタンプが登録されてもよい。
【００４５】
端末装置の時刻情報の具体例としてＴＣＰタイムスタンプを挙げたが、端末装置から得られる時刻情報であればＴＣＰタイムスタンプに限定される必要は無い。例えば、端末装置の内部クロックに基づいて生成される時刻情報がＴＣＰタイムスタンプに代えて使用されてもよい。ＵＮＩＸタイムスタンプにおいても同様である。
【００４６】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００４７】
１…推定システム，  １００…推定装置，  １０１…通信部，  １０２…制御部，  １０３…タイムスタンプ記憶部，  １０４…推定部，  １０５…入力部，  １０６…出力部，  ２００…端末，  ２０１…通信部，  ２０２…制御部，  ２０３…ポート決定部，  ２０４…入力部，  ２０５…出力部，  ３００…ネットワーク
【図１】
2018011202.tif 000003
【図２】
2018011202.tif 000004
【図３】
2018011202.tif 000005
【図４】
2018011202.tif 000006
【図５】
2018011202.tif 000007
【図６】
2018011202.tif 000008
【手続補正書】
【提出日】平成29年10月26日(2017.10.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
端末から通信を介して取得される第１の時刻情報と、前記第１の時刻情報が取得されるタイミングと略同一のタイミングで取得される第２の時刻情報と、前記端末の識別情報と、を対応付けて複数記憶する記憶部と、
前記記憶部に記憶される第１の時刻情報と前記端末から他のタイミングで通信を行う際に得られる第１の時刻情報との差と、前記記憶部に記憶される第２の時刻情報と前記端末から他のタイミングで通信を行う際に得られる第２の時刻情報との差と、を算出し、算出された差の比率が所定の条件を満たす場合に、前記第１の時刻情報又は第２の時刻情報に対応付けて記憶されている前記識別情報を、前記端末の識別情報であると推定し、前記他のタイミングで通信を行う際に得られる前記第１の時刻情報と前記他のタイミングで通信を行う際に得られる前記第２の時刻情報と推定された前記識別情報とを対応付けて前記記憶部に記録する推定部と、
を備える推定装置。
【請求項２】
端末から通信を介して取得される第１の時刻情報と、前記第１の時刻情報が取得されるタイミングと略同一のタイミングで取得される第２の時刻情報と、前記端末の識別情報と、を対応付けて複数記憶する記憶部と、
端末から他のタイミングで通信を行う際に得られる第１の時刻情報及び第２の時刻情報に基づいて、前記記憶部に記憶される前記識別情報のうち、当該通信の通信相手である端末と同一の端末の識別情報を推定する推定部と、
を備える推定装置であって、
前記第１の時刻情報及び第２の時刻情報は、それぞれＴＣＰタイムスタンプ及びＵＮＩＸ（登録商標）タイムスタンプである推定装置。
【請求項３】
端末から通信を介して取得される第１の時刻情報と、前記第１の時刻情報が取得されるタイミングと略同一のタイミングで取得される第２の時刻情報と、前記端末の識別情報と、を対応付けて記憶部が複数記憶する記憶ステップと、
前記記憶部において記憶される第１の時刻情報と前記端末から他のタイミングで通信を行う際に得られる第１の時刻情報との差と、前記記憶部に記憶される第２の時刻情報と前記端末から他のタイミングで通信を行う際に得られる第２の時刻情報との差と、を算出し、算出された差の比率が所定の条件を満たす場合に、前記第１の時刻情報又は第２の時刻情報に対応付けて記憶されている前記識別情報を、前記端末の識別情報であると推定し、前記他のタイミングで通信を行う際に得られる前記第１の時刻情報と前記他のタイミングで通信を行う際に得られる前記第２の時刻情報と推定された前記識別情報とを対応付けて前記記憶部に記録する推定ステップと、
を有する推定方法。
【請求項４】
請求項１又は２に記載の推定装置としてコンピュータを機能させるためのコンピュータプログラム。