(57)【要約】  システムおよび方法は、認識済みの所在地以外の場所から、所在地が制限されたリソースへのアクセスを提供する。例として、方法は、アクセス管理されたリソースの要求をクライアントデバイスから受け付けるステップと、要求が認識済みの所在地と対応付けられていないが、クライアントデバイス識別子についての状態データが存在すると判断するステップとを含む。状態データを特定することに応答して、方法は、サーバにあるアクセス管理されたリソースにアクセスするためのリンクを生成するステップと、タイムスタンプと、乱数と、状態データからのライセンスリソース情報とを含む暗号化されたトークンを生成するステップと、暗号化されたトークンをリンクに含めるステップと、リンクをクライアントデバイスに提供するステップとを含む。クライアントデバイスは、リンクを使って、サーバからのアクセス管理されたリソースを要求し、サーバは、要求がトークンを含むと判断し、トークンの期限が満了していないと判断し、アクセス管理されたリソースをクライアントデバイスに提供する。
2021527858.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
アクセス管理されたリソースの要求をクライアントデバイスから受け付けるステップを含み、前記要求は、クライアントデバイス識別子を含み、前記方法は、さらに、
前記要求が認識済みの所在地と対応付けられていないと判断するステップと、
前記クライアントデバイス識別子の状態データを特定するステップと、
サーバにある前記アクセス管理されたリソースにアクセスするためのリンクを生成するステップと、
タイムスタンプと、乱数と、前記状態データからのライセンスリソース情報とを含む暗号化されたトークンを生成するステップと、
前記暗号化されたトークンを前記リンクに含めるステップと、
前記リンクを前記クライアントデバイスに提供するステップとを含み、前記リンクは、前記アクセス管理されたリソースを要求するために前記ユーザデバイスによって使われるように構成される、方法。
【請求項２】
前記要求は、第１要求であり、前記アクセス管理されたリソースは、第１のアクセス管理されたリソースであり、前記第１要求を受け付ける前に、前記方法は、
第２のアクセス管理されたリソースの第２要求を前記クライアントデバイスから受け付けるステップをさらに含み、前記第２要求は、前記クライアントデバイス識別子を含み、前記方法は、さらに、
前記第２要求が認識済みの所在地と対応付けられていると判断するステップと、
前記クライアントデバイスの前記状態データを生成するステップと、
前記状態データをメモリに格納するステップとを含む、請求項１に記載の方法。
【請求項３】
前記状態データは、タイムスタンプと、前記クライアントデバイス識別子と、ライセンスリソース情報とを含む、請求項１または２に記載の方法。
【請求項４】
前記ライセンスリソース情報は、前記認識済みの所在地を表す、請求項１、２、または３に記載の方法。
【請求項５】
前記ライセンスリソース情報は、前記認識済みの所在地と、前記認識済みの所在地が利用可能な管理リソースとを表す、請求項１、２、または３に記載の方法。
【請求項６】
前記認識済みの所在地は、ドメイン名である、先行する請求項のいずれか１項に記載の方法。
【請求項７】
前記認識済みの所在地は、インターネットプロトコル（ＩＰ）アドレスである、請求項１〜５のいずれか１項に記載の方法。
【請求項８】
前記要求は、クエリであり、前記アクセス管理されたリソースは、前記クエリに応じたリソースである、先行する請求項のいずれか１項に記載の方法。
【請求項９】
前記クライアントデバイス識別子は、ユーザアカウントである、先行する請求項のいずれか１項に記載の方法。
【請求項１０】
前記クライアントデバイスが前記アクセス管理されたリソースを要求するために前記リンクを使用するステップをさらに含み、前記リンクを使用するステップは、前記リンクを要求に含めて管理リソース用サーバに送るステップを含む、先行する請求項のいずれか１項に記載の方法。
【請求項１１】
前記管理リソース用サーバにおいて、
前記アクセス管理されたリソースを求める前記要求に含まれる前記リンクを受け付けるステップと、
前記リンクに含まれる前記トークンを特定するステップと、
前記トークンの暗号化を解除するステップと、
前記タイムスタンプに基づいて前記トークンの期限が満了していないと判断し、前記ライセンスリソース情報に基づいて前記アクセス管理されたリソースが利用可能であると判断することによって、前記トークンを検証するステップと、
前記トークンが検証されたことに応答して、前記アクセス管理されたリソースを前記クライアントデバイスに提供するステップとを含む、請求項１０に記載の方法。
【請求項１２】
前記トークンを検証するステップは、前記トークンに含まれるＩＰサブネットが前記要求の送信元のＩＰアドレスのＩＰサブネットに一致すると判断するステップをさらに含む、請求項１１に記載の方法。
【請求項１３】
システムであって、
少なくとも１つのプロセッサと、
クライアントデバイスの状態データレコードを格納するデータストアと、
命令を格納するメモリとを備え、前記命令は、前記少なくとも１つのプロセッサによって実行されると、前記システムに動作を実行させ、前記動作は、
デバイス識別子を有するクライアントデバイスからクエリを受け付けることと、
前記クエリに応じた少なくとも１つのリソースが、アクセス管理されたリソースであると判断することとを含み、前記動作は、さらに、
前記アクセス管理されたリソースの認識済みの所在地に前記クエリが対応付けられていると判断することに応答して、
前記アクセス管理されたリソースへのリンクを生成することと、
前記クライアントデバイス識別子と、タイムスタンプと、前記認識済みの所在地との対応付けとを含む前記クライアントデバイスの状態データレコードを前記データストアにおいて生成することとを含み、前記動作は、さらに、
認識済みの所在地に前記クエリが対応付けられていないと判断することに応答して、
前記クライアントデバイス識別子についての期限が満了していない状態データレコードを前記データストアにおいて特定することを含み、前記動作は、さらに、
前記期限が満了していない状態データレコードを特定することに応答して、乱数と、タイムスタンプと、前記状態データレコードからのライセンスリソース情報とを含むトークンを生成し、前記アクセス管理されたリソースへのリンクに前記トークンを含めることを含み、前記動作は、さらに、
前記クライアントデバイス識別子についての前記状態データレコードを前記データストアにおいて特定できなかったことに応答して、前記トークンなしでリンクを生成することとを含み、前記動作は、さらに、
前記クエリの検索結果を前記クライアントデバイスに返すことを含み、前記検索結果は、前記リソースへのリンクを含み、
前記クライアントデバイスは、前記リソースへのリンクを使用してアクセス管理サーバからの前記リソースを要求し、前記アクセス管理サーバは、認識済みの所在地に対応付けられた要求からリソースへのアクセスを提供するように構成される、システム。
【請求項１４】
認識済みの所在地に対応付けられた要求からリソースへのアクセスを提供する際に、前記アクセス管理サーバは、
アクセス管理されたリソースへのリンクであって、所在地が対応付けられたリンクを特定のクライアントデバイスから受け付け、
前記所在地が認識済みの所在地であるかどうかを判断し、
前記所在地が認識済みの所在地であると判断することに応答して、前記アクセス管理されたリソースを提供し、
前記所在地が認識済みの所在地ではないと判断することに応答して、
期限が満了していないトークンを前記リンクが含むと判断することに応答して、前記アクセス管理されたリソースを提供し、
前記リンクがトークンを含んでいない判断する、または前記リンクに含まれるトークンの期限が満了していると判断することに応答して、前記アクセス管理されたリソースへのアクセスを拒否するように構成される、請求項１３に記載のシステム。
【請求項１５】
前記トークンは、前記要求のＩＰアドレスのＩＰサブネットをさらに含み、前記アクセス管理サーバは、前記所在地が認識済みの所在地ではなく、期限が満了していないトークンを前記リンクが含むと判断することに応答して、
前記特定のクライアントデバイスのＩＰサブネットが前記トークンに含まれるＩＰサブネットと一致するかどうかを判断し、
前記ＩＰサブネットが一致しないと判断することに応答して、前記アクセス管理されたリソースへのアクセスを拒否するように、さらに構成される、請求項１３に記載のシステム。
【請求項１６】
前記認識済みの所在地は、地理位置情報を表す、請求項１３〜１５のいずれか１項に記載のシステム。
【請求項１７】
前記認識済みの所在地は、ＩＰアドレスである、請求項１３〜１６のいずれか１項に記載のシステム。
【請求項１８】
前記トークンは、前記リンクに含まれる前に暗号化される、請求項１３〜１７のいずれか１項に記載のシステム。
【請求項１９】
方法であって、
アクセス管理されたリソースの要求をクライアントデバイスから受け付けるステップを含み、前記要求は、所在地を有し、前記方法は、さらに、
前記所在地が認識済みの所在地ではないと判断するステップと、
タイムスタンプと、乱数と、ライセンスリソース情報とを含むトークンを前記要求が含むと判断するステップと、
前記タイムスタンプに基づいて前記トークンの期限が満了していないと判断するステップと、
前記ライセンスリソース情報によって識別されるリソースが前記要求されたリソースと一致すると判断するステップと、
前記アクセス管理されたリソースを前記クライアントデバイスに提供するステップとを含み、
上記以外の場合、前記クライアントデバイスは、前記アクセス管理されたリソースへのアクセスを拒否する、方法。
【請求項２０】
前記トークンは、暗号化されており、前記方法は、前記トークンの暗号化を解除するステップをさらに含む、請求項１９に記載の方法。
【請求項２１】
前記トークンは、ＩＰサブネットをさらに含み、前記方法は、前記トークンに含まれるＩＰサブネットと一致するＩＰサブネットを前記クライアントデバイスのＩＰアドレスが含むと判断するステップをさらに含む、請求項１９または２０に記載の方法。
【請求項２２】
前記乱数によって識別される前記トークンのカウンタをインクリメントするステップと、
前記トークンのカウンタがしきい値に達していないと判断するステップとをさらに含む、請求項１９、２０、または２１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、２０１８年８月１３日に出願された米国仮出願第６２／７１８，３０９号の利益を主張する２０１８年９月５日に出願された米国特許出願第１６／１２２，２９４号の継続出願であり、当該継続出願に基づく優先権の利益を主張し、それらのすべての開示内容を、引用により本明細書に援用する。
【背景技術】
【０００２】
背景
いくつかのシステムは、ＩＰアドレス（たとえば、プロキシサーバー、ＶＰＮなど）、物理的位置など、認識済みの所在地に基づいてリソースへのアクセスを制御する。たとえば、大学は、特定の出版元との取り決めを結んでおり、大学構内のコンピュータまたは大学構内のＷｉＦｉネットワークを利用している者に、出版元が管理する記事の一部またはすべてを利用できるようにしているであろう。別の例として、従業員は、（たとえば、プロキシサーバー、ＶＰＮなどを介して）企業ソフトウェアを利用しているときに、内部の会社ウェブページにアクセスできるであろう。これらのリソースへのアクセスについて、たとえば、認識済みの所在地（複数可）と一致しないＩＰアドレスを伴う要求についてなど、認識済みの所在地以外の場所からのアクセスは、ブロックされる。
【発明の概要】
【課題を解決するための手段】
【０００３】
概要
実装態様は、リソースの所有者／管理者がアクセスを監視して潜在的な不正使用に対処できるようにしつつ、個人を特定できる情報を用いたりログイン手続きを求めたりすることなく、認識済みの所在地以外の場所からの、アクセス管理されたリソースへのセキュアでシームレスなアクセスを可能にする。実装態様は、クライアントデバイスが大学構内のＷｉＦｉを利用したり、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）を介してログインしたりするなどしてアクセス管理されたリソースに認識済みの所在地からアクセスするときに、クライアントデバイスの状態データを作成する。状態データは、タイムスタンプ、デバイス識別子、およびライセンスリソース情報を含んでもよい。ライセンスリソース情報は、認識済みの所在地を経由してユーザが利用可能なリソースを特定するために用いられる任意の情報であり得る。言い換えると、ライセンスリソース情報は、クライアントデバイスと認識済みの所在地に対応付けられた団体との提携に基づいた、クライアントが利用可能なリソースを表す。デバイス識別子は、サーバまたは認識済みの所在地（たとえば、大学構内もしくは図書館ウェブサイト、またはプロキシサーバー）と対応付けられたその他のコンピュータによって生成されるクッキーであり得、携帯番号またはユーザアカウント識別子など、別の識別子であってもよい。いくつかの実施態様では、このような識別子は、状態データレコードにハッシュされてもよい。状態データは、たとえば、生成後に所定の時間が経過すると、期限が満了する。
【０００４】
実装態様は、状態データを使用して、クライアントデバイスが認識済みの所在地以外の場所から、アクセス管理されたリソースに後でアクセスできるようにする。たとえば、学生が大学構内から出ると、実装態様は、この学生が、限られた時間、本人がまだ大学構内にいるかのようにリソースにアクセスできるようにする。このように、実装態様によって、シームレスにアクセスできるようになる。認識済みの所在地以外の場所から発信された、アクセス管理されたリソースの要求を受け付けると、システムは、期限が満了していないデバイスの状態データをチェックする。期限が満了していない状態データの位置に応じて、システムは、アクセス管理されたリソースへのＵＲＬなどのリンクを、ＵＲＬの後尾に暗号化されたトークンを付加するなどしてリンクに含めて提供する。リソースの所有者／管理者は、要求に含まれたトークンの存在を認めて、トークンの暗号化を解除し、暗号化が解除されたトークンのデータを使用して１つ以上の検証テストを実行する。テストは、トークンの期限が満了しているかどうか、トークンが提示されたことがある回数、および／または、このトークンが、トークンを生成した要求の位置からかなり離れた位置にあるクライアントデバイスによって提示されたかどうかなどのテストを含んでもよい。これらのテストは、ＵＲＬの共有などによる別のクライアントデバイスによるアクセスをやめさせることができる。
【０００５】
ある一般的な態様では、方法は、アクセス管理されたリソースの要求をクライアントデバイスから受け付けるステップを含み、要求は、クライアントデバイス識別子を含み、方法は、さらに、要求が認識済みの所在地と対応付けられていないと判断するステップと、クライアントデバイス識別子の状態データを特定するステップと、サーバにあるアクセス管理されたリソースにアクセスするためのリンクを生成するステップと、タイムスタンプと、乱数と、状態データからのライセンスリソース情報とを含む暗号化されたトークンを生成するステップと、暗号化されたトークンをリンクに含めるステップと、リンクをクライアントデバイスに提供するステップとを含む。リンクは、アクセス管理されたリソースを要求するためにユーザデバイスによって使われるように構成される。つまり、クライアントデバイスは、リンクを使って、アクセス管理されたリソースを要求する。
【０００６】
要求は、第１要求であってもよく、アクセス管理されたリソースは、第１のアクセス管理されたリソースであってもよく、第１要求を受け付ける前に、方法は、第２のアクセス管理されたリソースの第２要求をクライアントデバイスから受け付けるステップをさらに含み、第２要求は、クライアントデバイス識別子を含み、方法は、さらに、第２要求が認識済みの所在地と対応付けられていると判断するステップと、クライアントデバイスの状態データを生成するステップと、状態データをメモリに格納するステップとを含んでもよい。
【０００７】
状態データは、タイムスタンプと、クライアントデバイス識別子と、ライセンスリソース情報とを含んでもよい。
【０００８】
ライセンスリソース情報は、認識済みの所在地を表してもよい。
ライセンスリソース情報は、認識済みの所在地と、認識済みの所在地が利用可能な管理リソースとを表してもよい。
【０００９】
認識済みの所在地は、ドメイン名であってもよい。
認識済みの所在地は、インターネットプロトコル（ＩＰ）アドレスであってもよい。
【００１０】
要求は、クエリであってもよく、アクセス管理されたリソースは、クエリに応じたリソースであってもよい。
【００１１】
クライアントデバイス識別子は、ユーザアカウントであってもよい。
クライアントデバイスがアクセス管理されたリソースを要求するためにリンクを使用してもよく、リンクを使用するステップは、リンクを要求に含めて管理リソース用サーバに送るステップを含む。
【００１２】
方法は、管理リソース用サーバにおいて、アクセス管理されたリソースを求める要求に含まれるリンクを受け付けるステップと、リンクに含まれるトークンを特定するステップと、トークンの暗号化を解除するステップと、タイムスタンプに基づいてトークンの期限が満了していないと判断し、ライセンスリソース情報に基づいてアクセス管理されたリソースが利用可能であると判断することによって、トークンを検証するステップと、トークンが検証されたことに応答して、アクセス管理されたリソースをクライアントデバイスに提供するステップとを含んでもよい。
【００１３】
トークンを検証するステップは、トークンに含まれるＩＰサブネットが要求の送信元のＩＰアドレスのＩＰサブネットに一致すると判断するステップをさらに含んでもよい。つまり、クライアントデバイスのＩＰアドレスは、管理リソース用サーバによって判断されてもよく、ＩＰサブネットは、トークンに含まれるＩＰサブネットによって判断および比較されてもよい。これにより、防ぐことができる。
【００１４】
上述した方法は、１つ以上のサーバおよび／または１つ以上のクライアントデバイスを備えるシステムで実現されてもよい。
【００１５】
ある一般的な態様では、システムは、少なくとも１つのプロセッサと、クライアントデバイスの状態データレコードを格納するデータストアと、命令を格納するメモリとを備え、命令は、少なくとも１つのプロセッサによって実行されると、システムに動作を実行させる。動作は、デバイス識別子を有するクライアントデバイスからクエリを受け付けることと、クエリに応じた少なくとも１つのリソースが、アクセス管理されたリソースであると判断することとを含む。アクセス管理されたリソースの認識済みの所在地にクエリが対応付けられていると判断することに応答して、動作は、アクセス管理されたリソースへのリンクを生成することと、クライアントデバイスの状態データレコードをデータストアにおいて生成することとを含み、状態データは、クライアントデバイス識別子と、タイムスタンプと、認識済みの所在地との対応付けとを含む。認識済みの所在地にクエリが対応付けられていないと判断することに応答して、動作は、さらに、クライアントデバイス識別子についての期限が満了していない状態データレコードをデータストアにおいて特定することを含み、期限が満了していない状態データレコードを特定することに応答して、乱数と、タイムスタンプと、状態データレコードからのライセンスリソース情報とを含むトークンを生成し、アクセス管理されたリソースへのリンクにトークンを含めることを含む。クライアントデバイス識別子についての状態データレコードをデータストアにおいて特定できなかったことに応答して、トークンなしでリンクを生成することとを含み、動作は、さらに、クエリの検索結果をクライアントデバイスに返すことを含み、検索結果は、リソースへのリンクを含み、クライアントデバイスは、リソースへのリンクを使用してアクセス管理サーバからのリソースを要求し、アクセス管理サーバは、認識済みの所在地に対応付けられた要求からリソースへのアクセスを提供するように構成される。
【００１６】
認識済みの所在地に対応付けられた要求からリソースへのアクセスを提供する際に、アクセス管理サーバは、アクセス管理されたリソースへのリンクであって、所在地が対応付けられたリンクを特定のクライアントデバイスから受け付け、所在地が認識済みの所在地であるかどうかを判断し、所在地が認識済みの所在地であると判断することに応答して、アクセス管理されたリソースを提供し、所在地が認識済みの所在地ではないと判断することに応答して、期限が満了していないトークンをリンクが含むと判断することに応答して、アクセス管理されたリソースを提供し、リンクがトークンを含んでいない判断する、またはリンクに含まれるトークンの期限が満了していると判断することに応答して、アクセス管理されたリソースへのアクセスを拒否するように構成されてもよい。
【００１７】
トークンは、要求のＩＰアドレスのＩＰサブネットをさらに含んでもよく、アクセス管理サーバは、所在地が認識済みの所在地ではなく、期限が満了していないトークンをリンクが含むと判断することに応答して、特定のクライアントデバイスのＩＰサブネットがトークンに含まれるＩＰサブネットと一致するかどうかを判断し、ＩＰサブネットが一致しないと判断することに応答して、アクセス管理されたリソースへのアクセスを拒否するように、さらに構成される。
【００１８】
認識済みの所在地は、地理位置情報を表してもよい。
認識済みの所在地は、ＩＰアドレスであってもよい。
【００１９】
トークンは、リンクに含まれる前に暗号化されてもよい。
ある一般的な態様では、方法は、アクセス管理されたリソースの要求をクライアントデバイスから受け付けるステップを含み、要求は、所在地を有し、方法は、さらに、所在地が認識済みの所在地ではないと判断するステップと、タイムスタンプと、乱数と、ライセンスリソース情報とを含むトークンを要求が含むと判断するステップと、タイムスタンプに基づいてトークンの期限が満了していないと判断するステップと、ライセンスリソース情報によって識別されるリソースが要求されたリソースと一致すると判断するステップと、アクセス管理されたリソースをクライアントデバイスに提供するステップとを含み、上記以外の場合、クライアントデバイスは、アクセス管理されたリソースへのアクセスを拒否する。
【００２０】
トークンは、暗号化されていてもよく、方法は、トークンの暗号化を解除するステップをさらに含んでもよい。
【００２１】
トークンは、ＩＰサブネットをさらに含んでもよく、方法は、トークンに含まれるＩＰサブネットと一致するＩＰサブネットをクライアントデバイスのＩＰアドレスが含むと判断するステップをさらに含む。
【００２２】
方法は、乱数によって識別されるトークンのカウンタをインクリメントするステップと、トークンのカウンタがしきい値に達していないと判断するステップとをさらに含んでもよい。
【００２３】
一態様の任意選択の特徴は、別の態様と適宜組み合わされてもよい。
ある一般的な態様では、コンピュータ読み取り可能な記憶装置上に含まれるコンピュータプログラムプロダクトは、命令を含み、当該命令は、基板に設けられた少なくとも１つのプロセッサによって実行されると、コンピューティングデバイスに、開示の方法、動作、またはプロセスのいずれかを実行させる。実質的に、図面の少なくとも１つに図示および／または説明され、特許請求の範囲に記載されているように、別の一般的な態様は、アクセス管理されたリソースに所在地データに基づいてシームレスにアクセスするための使用制限がかかったトークンの生成のきっかけとなるクライアントデバイスの状態データを生成して保持するためのシステムおよび／または方法を含む。
【００２４】
本明細書に記載の発明の主題の実施態様の１つ以上は、次の利点の１つ以上を実現するように実施され得る。一例として、実施態様は、リソースにアクセスするための各リンクが個人を特定できる情報を含まない一意のトークンを有するため、ユーザプライバシーを保護し、ネットワーク／ＩＳＰレベルの監視が１人のユーザによる複数のトークンを使った複数のアクセスを結びつけてしまうことを防ぐ。別の例として、クライアントデバイスのＩＰアドレスではなくライセンスリソース情報（たとえば、定期購入情報、団体識別子など）を状態データおよびトークンに記録することにより、特定のデバイスの所在地が記録されることを回避し、さらにユーザプライバシーが保護される。別の例として、いくつかの実施態様は、トークンを暗号化することによって、悪人が特定のユーザ／クライアントデバイスと団体との間の提携を発見してしまうことを防ぐ。別の例として、状態データが所在地ではなくリソースまたはリソースのコレクションを識別する情報を含むため、いくつかの実施態様は、悪人が特定のユーザ／クライアントデバイスと団体との間の提携を発見してしまうことを防ぐ。別の例として、開示の実施態様は、認識済みの所在地以外の場所から行われた要求についてのログイン手続きの必要性をなくすことによって、クライアントデバイス上の処理サイクルおよび処理能力の消費を抑える。ログイン手続きは、処理サイクルおよび処理能力を消費し、多くの場合、タイムアウト（たとえば、特定の期間非アクティブであること）のせいで繰り返し行われる。処理能力および処理サイクルの使用を抑えることは、たとえばクライアントデバイスが携帯電話またはタブレット端末であるモバイル環境では、バッテリの寿命を大切に使うことができるため、特に重要である。また、アクセスをシームレスにすることによってログイン手続きをなくし、ユーザエクスペリエンスを向上させる。つまり、ユーザは、管理リソースにアクセスするために追加プロセスのセットアップまたは追加入力を行う必要がない。よって、実施態様は、管理リソースに認識済みの所在地以外の場所からアクセスするためにユーザが費やす時間とコンピューティングリソースとを抑えることができる。また、シームレスなアクセスによって、リソースの利用（たとえば、需要）が増え、このようなサービスを提供することに対する団体およびリソース所有者のインセンティブが増える。
【００２５】
１つ以上の実施態様の詳細を、添付の図面および以下の説明において記載する。その他の特徴は、本明細書および図面から、ならびに請求の範囲から明らかになるだろう。
【図面の簡単な説明】
【００２６】
【図１Ａ】開示された発明の主題に係る、システム例のブロック図である。
【図１Ｂ】開示された発明の主題に係る、システム例のブロック図である。
【図２】開示された発明の主題に従って使用されるデータ構造の例を示す。
【図３】開示された実施態様に係る、管理リソースに認識済みの所在地以外の場所からアクセスするための工程例のフロー図である。
【図４】記載の技術を実施するために利用できるコンピュータデバイスの例を示す。
【図５】記載の技術を実施するために利用できる分散コンピュータ装置の例を示す。
【発明を実施するための形態】
【００２７】
異なる図面に含まれる同じ参照符号は、同じ要素を示す。
詳細な説明
図１は、例示的な実施態様に係る、アクセス管理システムのブロック図である。システム１００は、認識済みの所在地以外の場所からクライアントデバイスが限られた時間、所在地ベースのアクセス管理されたリソースにシームレスにアクセスできるようにするために利用されてもよい。クライアントデバイスのユーザは、認識済みの所在地から、および認識済みの所在地以外の場所から同じ方法でリソースにアクセスするので、このアクセスは、シームレスである。つまり、ユーザにとって、アクセス管理されたリソースに認識済みの所在地からアクセスすることと、認識済みの所在地以外の場所からこのリソースにアクセスすることとは、これが限られた期間内で行われている限り、違いがない。ユーザが認識済みの所在地とまだ結びつけられていることを保証するために、このアクセスには期限がある。システム１００は、個人を特定できる情報を用いることなくアクセスを許可することができる。これにより、ユーザプライバシーが安全に保護される。システム１００は、認識済みの所在地を経由して管理リソースにデバイスがアクセスしたときのデバイスの状態データを記録する。状態データは、クライアントデバイスと認識済みの所在地との結びつきによって利用可能になるライセンスリソースを特定するための情報を記録する。状態データは、一定期間の後、期限が満了する。たとえば、限られた時間、有効である。認識済みの所在地を経由してクライアントデバイスがリソースにアクセスするたびに、状態データが更新される、たとえば、新しいレコードが書き込まれる、またはクライアントデバイスについてのレコードが更新される。管理リソースにクライアントデバイスが認識済みの所在地以外の場所からアクセスしようと試みた場合、システム１００は、このクライアントデバイスの状態データを認識し、状態データに含まれるライセンスリソース情報を用いてトークンを生成する。このトークンは、リソースの所有者に渡される。所有者は、このトークンを認識し、リソースへのアクセスを許可することができる。トークンは、乱用をやめさせるために、ごく短時間のみ有効であればよく、プライバシーの確保と、不正使用されてしまう機会をさらに制限するために暗号化されてもよい。図１のシステム１００は、リソースアクセスサーバ１１０と、管理リソース用サーバ１８０とを備えるシステムとして例示されている。しかしながら、リソースアクセスサーバ１１０の使用は必須ではなく、リソースアクセスサーバ１１０によって実行されると説明される機能は、管理リソース用サーバ１８０において実行されてもよい。このように、実施態様は、例示した通りの構成に限定されない。
【００２８】
認識済みの所在地１６０は、ＩＰアドレス、または、図書館、教育団体、会社、病院、企業システムなど、特定の団体に対応付けられた物理的位置であってもよい。団体は、認識済みの所在地１６０を経由して、たとえば、定期購入の取り決め、雇用の取り決め、またはその他の契約上の申し合わせを通して、アクセス管理された記事にアクセスできるようにしてもよい。いくつかの実施態様では、団体は、管理リソース用サーバ１８０の所有者／管理者／操作者であってもよい。説明を簡単にするため、本明細書において使用するとき、管理リソース用サーバ１８０の所有者を言及することは、リソースの管理者および／または管理リソース用サーバ１８０の操作者も指している。いくつかの実施態様では、団体は、管理リソース用サーバ１８０の所有者と取り決めを結んでいてもよい。いずれの場合であっても、団体は、アクセス管理された記事にユーザが認識済みの所在地１６０を経由してアクセスできるようにしてもよい。認識済みの所在地１６０は、関連する位置情報を有する。いくつかの実施態様では、認識済みの位置情報は、インターネットプロトコル（ＩＰ）アドレスまたはその一部であってもよい。これは、完全なＩＰアドレス、ＩＰサブネット、ドメイン（たとえば、ｉｎｓｔｉｔｕｔｉｏｎ．ｎｅｔ）、サブドメイン（たとえば、ｓｕｂｓｃｒｉｐｔｉｏｎ．ｉｎｓｔｉｔｕｔｉｏｎ．ｎｅｔまたはｗｗｗ．ｉｎｓｔｉｔｕｔｉｏｎ．ｎｅｔ／ｓｕｂｓｃｒｉｐｔｉｏｎ）、メールドメインなどであってもよい。いくつかの実施態様では、位置情報は、物理的位置情報であってもよい。たとえば、ＩＰアドレスまたはその一部が物理的な位置にマッピングされてもよい。別の例として、クライアント上のブラウザが地理位置情報ＡＰＩを含んでもよく、この情報が位置情報として使われてもよい。認識済みの所在地１６０を特定するために用いられる位置情報にその他同様の種類の情報が使われてもよい。
【００２９】
アクセス管理システム１００は、リソースアクセスサーバ１１０を備えてもよい。リソースアクセスサーバ１１０は、１つのコンピューティングデバイス、またはいくつかの異なるデバイスの形をとった複数のデバイスであってもよく、たとえば、標準サーバ、このようなサーバの群、またはラックサーバシステムである。たとえば、リソースアクセスサーバ１１０は、複数のコンピューティングデバイス間で分散されて実現されてもよい。これに加えて、サーバ１１０は、パーソナルコンピュータで実現されてもよく、いくつかのパーソナルコンピュータ間で分散されて実現されてもよい。リソースアクセスサーバ１１０は、図４に示すようなコンピュータデバイス４００の例であってもよく、図５に示すようなコンピュータデバイス５００であってもよい。リソースアクセスサーバ１１０は、１つ以上の機械によって実行可能な命令もしくは複数のソフトウェア、ファームウェア、または、それらの組合せを実行するように構成された基板に設けられた１つ以上のプロセッサを含んでもよい。プロセッサは、半導体ベースであり得る。すなわち、プロセッサは、デジタルロジックを実行できる半導体材料を含み得る。
【００３０】
また、リソースアクセスサーバ１１０は、１つ以上のコンピュータメモリを備え得る。メモリ、たとえば、主メモリは、一時的に、恒久的に、半恒久的に、または、それらの組合せで１つ以上のデータを格納するように構成されてもよい。メモリは、１つ以上のプロセッサが読み出しおよび／または実行できるフォーマットで情報を格納する任意の種類の記憶装置を含んでもよい。メモリは、揮発性メモリ、不揮発性メモリ、または、それらの組合せを含み、１つ以上のプロセッサによって実行されると特定の動作を実行するモジュールまたはエンジンを格納してもよい。いくつかの実施態様では、モジュールは、外部の記憶装置に格納され、サーバ１１０のメモリにロードされてもよい。いくつかの実施態様では、モジュールは、アクセスエンジン１２０と、検証エンジン１２２とを含んでもよい。アクセスエンジン１２０は、様々なリソースを検索して当該リソースへのアクセスを提供するために使われるウェブサイトまたはポータルを表す。いくつかの実施態様では、アクセスエンジン１２０は、検索エンジンであってもよく、インデックス１１２を使用してクエリに応じた検索結果を提供してもよい。インデックス１１２は、クエリに応じたリソースを見つけるために使われる任意の種類のインデックスであってもよい。インデックス１１２は、いくつかの異なるサーバからのリソース、たとえば、インターネット上で入手可能なリソースを含んでもよい。インデックス１１２は、複数の（図示せず）管理リソース用サーバ１８０からのリソースを含んでもよい。インデックス１１２は、複数の管理リソース用サーバ１８０、および管理されていないリソースを有するその他のサーバ（図示せず）からのリソースを含んでもよい。いくつかの実施態様では、インデックス１１２は、インターネットを経由して入手可能な１つ以上のリソースのインデックスであってもよい。いくつかの実施態様では、インデックス１１２は、イントラネットを経由して提供されるリソースのインデックスであってもよい。いくつかの実施態様では、インデックス１１２は、１つ以上の特定のカテゴリーのリソース、たとえば、電子書籍、曲、動画、学術論文、白書などのインデックスであってもよい。インデックス１１２は、リソースアクセスサーバ１１０のメモリに格納されてもよい。インデックス１１２は、複数のコンピューティングデバイスのメモリに分散されてもよい。この複数のコンピューティングデバイスを、まとめて１つのリソースアクセスサーバ１１０とみなす。インデックス１１２のすべてまたは一部は、リソースアクセスサーバ１１０とは別であるが、リソースアクセスサーバ１１０がアクセス可能なメモリに格納されてもよい。
【００３１】
また、リソースアクセスサーバ１１０は、アクセスデータベース１１６を備えてもよい。アクセスデータベース１１６は、リソースアクセスサーバ１１０のメモリに格納されてもよい。アクセスデータベース１１６は、リソースアクセスサーバ１１０がアクセス可能なメモリに格納されてもよい。アクセスデータベース１１６は、特定のアクセス管理されたリソースおよび／または特定の管理リソース用サーバの所在地としてどの所在地が認識されているかを示す情報を含んでもよい。たとえば、アクセスデータベース１１６は、アクセス管理されたリソースごとに、どの所在地が認識されているかを示してもよい。別の例として、アクセスデータベース１１６は、所在地ごとに、当該所在地が利用できるアクセス管理されたリソースを示してもよい。別の例として、アクセスデータベース１１６は、アクセス管理されたリソースのカテゴリーに関して、どの所在地が認識済みの所在地であるかを示してもよい。別の例として、アクセスデータベース１１６は、どの所在地が特定の管理リソース用サーバ１８０の所在地として認識されているかを示す情報を含んでもよい。たとえば、アクセスデータベース１１６は、管理リソース用サーバ１８０ごとに、そのサーバの認識済みの所在地である所在地を示してもよい。サーバ１８０は、サーバ１８０にあるアクセス管理されたリソースのすべてへのアクセスを許可する。その他同様の組合せも可能である。いくつかの実施態様では、アクセスデータベース１１６は、インデックス１１２に組み込まれている。たとえば、インデックスに含まれるリソースごとに、そのリソースの認識済みの所在地であると考えられる所在地との対応付けをインデックスエントリが含んでもよい。いくつかの実施態様では、リソースがクエリに応じたリソースであると判断された場合、リソースアクセスサーバ１１０は、クエリがリソース（たとえば、リソースへのＵＲＬまたはその他のリンク）の認識済みの所在地と対応付けられるおよび／または当該所在地から送信されたときに、そのリソースを検索結果に含める。いくつかの実施態様では、リソースアクセスサーバ１１０は、要求が認識済みの所在地に対応付けられた（たとえば、当該所在地から送信された）ときにリソースへの１つのリンクを含み、要求が認識済みの所在地に対応付けられていないときに異なるリンクを含む。
【００３２】
クエリに応答する際、検証エンジン１２２は、アクセスデータベース１１６をインデックス１１２に適用してもよい。たとえば、検証エンジン１２２は、クエリが認識済みの所在地から送信されたかどうか、当該所在地と対応付けられているかどうか、または無関係であるかどうかを判断してもよい。クエリに応じたアクセス管理されたリソースの認識済みの所在地から当該クエリが送信された場合、アクセスエンジン１２０は、アクセス管理されたリソースへのリンクを生成して検索結果に含めてもよい。クエリが認識済みの所在地に対応付けられているがそこから送信されていない場合、アクセスエンジン１２０は、暗号化されたトークンを生成し、リンクと合わせて検索結果に含めてもよい。いくつかの実施態様では、暗号化されたトークンは、リンクの後尾に付加されてもよい。いくつかの実施態様では、暗号化されたトークンは、リンクに挿入されてもよい。いくつかの実施態様では、暗号化されたトークンを有するリンクは、認識済みの所在地から送信された要求についてのリンクと同様に、暗号化されたトークンに含まれない。検証エンジン１２２は、暗号化キー１１８を使用してトークンを暗号化してもよい。管理リソース用サーバ１８０が暗号化されたトークンを含むリンクを受け付けて検証できるよう、暗号化キー１１８は、管理リソース用サーバ１８０と共有される。検証エンジン１２２は、状態データ１１４を使用して、認識済みの所在地から送信されていないクエリが認識済みの所在地と対応付けられているかどうかを判断してもよい。
【００３３】
状態データ１１４は、特定のクライアントデバイスと認識済みの所在地との提携をライセンスリソース情報として記録する情報である。クライアントデバイス１７０が認識済みの所在地１６０を経由してリソースアクセスサーバ１１０にアクセスしたときに、検証エンジン１２２は、クライアントデバイス１７０についての状態データ１１４を書き込んでもよい。たとえば、学生は、大学（認識済みの所在地１６０）のＷｉＦｉを使ってリソースアクセスサーバ１１０にクエリを送信してもよい。リソースアクセスサーバ１１０は、アクセスデータベース１１６に含まれる認識済みの所在地のうちの１つであるＷｉＦｉのＩＰアドレスからこのクエリが送信されたと認識することができる。認識済みの所在地（たとえば、大学のＷｉＦｉ）を経由してクエリが行われたと認識したことに応答して、アクセスエンジン１２０は、携帯電話と当該ＷｉＦｉのＩＰアドレスとの対応付けを状態データ１１４に記録してもよい。状態データ１１４は、リソースアクセスサーバ１１０にある任意の種類のメモリに格納されてもよい。状態データ１１４は、リソースアクセスサーバ１１０がアクセス可能なメモリに格納されてもよい。状態データ１１４は、特定のクライアントデバイス１７０について、１つ以上のライセンスリソースの識別子を格納する。ライセンスリソースの識別子は、クライアントデバイス１７０と、団体との提携に基づいてクライアントデバイス１７０がアクセスできるリソースの一覧（たとえば、１つ以上のリソース）との対応付けを表す。
【００３４】
図２は、状態データを格納するために使われるデータ構造の例を示す。状態データ２０５データ構造は、状態データ１１４に含まれるレコードの例である。図２の例では、状態データ２０５は、タイムスタンプ２１０を含む。タイムスタンプ２１０は、提携の期限を守らせるために使われる。状態データ２０５は、設定された期間、有効であり得る（たとえば、３０日間、７日間、１日間など）。期限は、たとえば、認識済みの所在地に対応付けられた団体によって、アクセス管理されたリソースの所有者によって、またはこれらの組合せによって、契約上規定され得る。たとえば、特定の大学は、学生に、たとえば、大学構内を訪れて大学構内のＷｉＦｉを自身のデバイスで利用することによって状態データを少なくとも週に１回または月に１回リフレッシュするように要求してもよい。タイムスタンプ２１０は、状態データの期限が満了する時刻であり得る。タイムスタンプ２１０は、状態データが生成されたおよび／または更新された時刻であり得、状態データ２０５は、所定の時間が経過した後に期限が満了する。また、状態データ２０５は、デバイス識別子２１５を含む。デバイス識別子２１５は、要求を行っているクライアントデバイス、たとえば、クライアントデバイス１７０を識別する。いくつかの実施態様では、デバイス識別子２１５は、クッキーからの値であってもよい。クッキーは、従来の方法を用いて団体によってクライアントデバイス１７０に提供されてもよい。いくつかの実施態様では、デバイス識別子２１５は、ユーザアカウントであってもよい。このような実施態様では、状態データ２０５は、ユーザアカウントの属性とみなされてもよい。デバイス識別子２１５は、クライアントデバイスを一意に特定するために使われる任意の情報であり得る。また、状態データ２０５は、ライセンスリソース情報２２０を含んでもよい。ライセンスリソース情報２２０は、たとえば、認識済みの所在地を経由してクライアントデバイスが要求を行うことに基づいてクライアントデバイスが利用可能なリソースを特定するために使われる。たとえば、ライセンスリソース情報２２０は、たとえば大学構内ＷｉＦｉのＩＰアドレス、図書館のウェブサイトのドメイン、会社のプロキシ、または認識済みの所在地に関する加入者識別子、または地域コードなどであってもよい。
【００３５】
クライアントデバイスから認識済みの所在地を経由して要求を受け付けるたびに、リソースアクセスサーバ１１０は、クライアントデバイスの状態データを生成または更新してもよい。状態データを生成することは、クライアントデバイスおよび認識済みの所在地についての新しいレコードを書き込むことを含む。状態データを更新することは、クライアントデバイスおよび認識済みの所在地についての状態データ１１４に含まれる既存レコードのタイムスタンプを更新することを含む。状態データ１１４の期限満了によって、認識済みの所在地以外の場所からのリソースへのアクセスが、認識済みの所在地と有効な現在提携中のデバイスに対して許可されることが保証される。いくつかの実施態様では、状態データ１１４は、サーバにあるクッキー情報とともに格納されてもよい。いくつかの実施態様では、状態データ１１４は、ユーザアカウントと対応付けられてもよい。たとえば、ユーザは、リソースアクセスサーバ１１０にアカウントを持っており、状態データがそのユーザアカウントに対応付けられてもよい。たとえば、ユーザは、図書館にある図書館ポータルを利用しながら、リソースアクセスサーバ１１０の自身のアカウントにログインしてもよい。いくつかの実施態様では、図書館の認識済みの所在地との対応付けは、ユーザのアカウントの一部として格納されてもよい。いくつかの実施態様では、図書館の認識済みの所在地とユーザのアカウントとの対応付けがリソースアクセスサーバにある別個のデータストアに記録される。
【００３６】
アクセス管理されたリソースが、認識済みの所在地から送信されたクエリではないが期限が満了していない状態データと対応付けられているクエリに対する応答である場合、アクセスエンジン１２０は、このリソースのトークンを生成してもよい。いくつかの実施態様では、各リソースは、それぞれトークンを有する。図２は、例示的なトークン２５０を示す。トークン２５０は、タイムスタンプ２２５を含む。タイムスタンプ２２５は、トークンが生成された時刻を表してもよく、タイムスタンプ２５５は、トークンの期限が満了する時刻を表してもよい。いずれの場合であっても、システムは、タイムスタンプ２２５を使用して、トークンの期限が満了していないことを検証できる。トークンが有効である時間枠は、１時間または数時間など、短いであろう。また、トークン２５０は、乱数２３０を含んでもよい。この乱数により、トークンが必ず一意になる。一意であることにより、管理リソース用サーバ１８０の検証エンジン１８６は、トークンが何度も使用されていないと確認できるようになる。いくつかの実施態様では、トークンは、たとえば、ＵＲＬによって識別される特定のリソースのためなど、限定使用されるものであり、１時間程度しか有効ではない。新しいトークンを生成することなく、たとえばブラウザの「戻る」ボタンまたは「進む」ボタンによってアクセスが限られた回数許可される一方で、何度もアクセスするということは、リンクが共有されていることを示している可能性がある。乱数２３０は、一意であることを保証する環境に適したサイズであってもよい。いくつかの実施態様では、これは、６４ビットの数字であってもよいが、実施環境に応じてこれよりも大きい数字であり得、小さい数字であり得る。また、トークン２５０は、ライセンスリソース情報２３５を含んでもよい。ライセンスリソース情報２３５は、クライアントデバイスが利用可能なリソースを特定するために使われる。ライセンスリソース情報２３５は、認識済みの所在地の識別子を含んでもよい。ライセンスリソース情報２３５は、リソースの識別子を含んでもよい。ライセンスリソース情報２３５は、管理リソース用サーバから手に入れることができるリソースのコレクションのコレクション識別子を含んでもよい。ライセンスリソース情報２３５は、物理的位置識別子を含んでもよい。ライセンスリソース情報２３５は、認識済みの所在地からの要求に対して行われたように、要求されたリソースへのアクセス権を要求元が有するかどうかを管理リソース用サーバ１８０が判断できるようにする任意の情報である。いくつかの実施態様では、たとえば、ＵＲＬおよび／またはトークンを生成する前に要求元がアクセス権を有しているかどうかを別のサーバまたはプロセスが検証済みであった場合、ライセンスリソース情報は、必須ではない。また、トークン２５０は、トークンの生成のきっかけとなったクライアントデバイスのＩＰサブネット２４５を含んでもよい。ＩＰサブネット２４５により、管理リソース用サーバ１８０は、不正使用を特定できるようになる。たとえば、ＩＰサブネット２４５により、地下鉄を移動中のユーザが別のセルタワーに切り替わった時にリソースにアクセスできるようになるが、デバイスがこのＩＰサブネットの範囲外に移動した場合、このリソースへのアクセスは禁止される。これにより、トークンの期限満了およびトークンを複数回ではあるがしきい値の数値を超えない回数提示することをもって、トークンが他者に配信されることを防止する。
【００３７】
各トークンは、生成されると、暗号化キー１１８を使用して暗号化され、応答用のアクセス管理されたリソースのリンク（たとえば、ＵＲＬ）に含まれてもよい。このリンクによって、クエリ要求元、たとえば、クライアントデバイス１７０のユーザは、管理リソース用サーバ１８０からのリソースを要求できるようになる。
【００３８】
アクセス管理システム１００は、管理リソース用サーバ１８０を備えてもよい。また、管理リソース用サーバ１８０は、コンピューティングデバイスまたはいくつかの異なるデバイスという形態をとった複数のデバイスであってもよく、たとえば、標準サーバ、このようなサーバの群、またはラックサーバシステムである。たとえば、管理リソース用サーバ１８０は、パーソナルコンピュータにおいて、複数のコンピューティングデバイス間で分散されて実現されてもよく、複数のパーソナルコンピューティングデバイス間で分散されて実現されてもよい。管理リソース用サーバ１８０は、図４に示すようなコンピュータデバイス４００、または、図５に示すようなコンピュータデバイス５００の例であってもよい。管理リソース用サーバ１８０は、１つ以上の機械によって実行可能な命令もしくは複数のソフトウェア、ファームウェア、または、それらの組合せを実行するように構成された基板に設けられた１つ以上のプロセッサを含んでもよい。プロセッサは、半導体ベースであり得る。すなわち、プロセッサは、デジタルロジックを実行できる半導体材料を含み得る。
【００３９】
管理リソース用サーバ１８０は、１つ以上のコンピュータメモリを備えてもよい。メモリ、たとえば、主メモリ、キャッシュメモリ、ディスクメモリなどは、一時的に、恒久的に、半恒久的に、または、それらの組合せで１つ以上のデータを格納するように構成されてもよい。メモリは、１つ以上のプロセッサが読み出しおよび／または実行できるフォーマットで情報を格納する任意の種類の記憶装置を含んでもよい。メモリは、揮発性メモリ、不揮発性メモリ、または、それらの組合せを含み、１つ以上のプロセッサによって実行されると特定の動作を実行するデータおよび／もしくはモジュールまたはエンジンを格納してもよい。いくつかの実施態様では、データおよび／またはモジュールは、外部の記憶装置に格納され、管理リソース用サーバ１８０のメモリにロードされてもよい。管理リソース用サーバ１８０は、アクセス管理されたリソース１８２を含んでもよい。アクセス管理されたリソース１８２は、１つ以上のメモリに格納される。アクセス管理されたリソース１８２は、たとえば、文書、オーディオファイル（たとえば、ミュージックまたはオーディオブック）、動画ファイル、画像、ウェブページ、アプリケーションもしくはその他の実行可能なファイル、商品など、またはこれらのうちのいくつかのコレクションである、曲から構成されるアルバム、商品カタログ、もしくは記事の雑誌など、任意の種類のリソースのリポジトリであってもよい。いくつかの実施態様では、アクセス管理されたリソース１８２は、複数のコンピューティングデバイス間で分散されてもよい。
【００４０】
管理リソース用サーバ１８０は、メモリのうちの１つ以上にモジュールとして格納された検証エンジン１８６を含んでもよい。検証エンジン１８６は、アクセス管理されたリソース１８２へのアクセスを管理する。たとえば、検証エンジン１８６は、認識済みの所在地からの要求に応答して、アクセス管理されたリソース１８２を提供してもよい。認識済みの所在地は、アクセス管理されたリソース１８２のうちの１つ以上へのアクセス権を有すると管理リソース用サーバ１８０が認識する任意の情報である。団体が管理リソース用サーバ１８０の所有者または操作者と取り決め（たとえば、ライセンス、定期購入）を結んでいるという理由で、所在地が認識されてもよい。たとえば、大学は、特定の雑誌、雑誌記事、書籍などを利用するために出版元から定期購入してもよい。出版元は、大学構内のＩＰアドレスから送信される要求を、認識済みの所在地から送信されていると認識するであろう。別の例として、図書館は、特定のオーディオブック作品または電子書籍へのアクセスについて、オーディオブック提供元またはその他の出版元と取り決めを結んでもよい。オーディオブック提供元は、図書館のドメインから送信される要求を、認識済みの所在地から送信されていると認識するであろう。別の例として、会社は、特定のウェブページまたは内部文書へのアクセスを、特定の仮想プライベートネットワーク（ＶＰＮ）、企業のサーバ、またはプロキシサーバーを利用する従業員に許可してもよい。会社は、ＶＰＮから送信される要求を、認識済みの所在地から送信されていると認識するであろう。別の例では、プロキシサーバーから送信される要求に基づいて、会社は、ＣＲＭシステム（Ｃｕｓｔｏｍｅｒ  Ｒｅｌａｔｉｏｎ  Ｍａｎａｇｅｍｅｎｔ）、保留中のタスク／チケット管理システム、在庫管理システムなど、外部委託したサービスへのアクセスを許可してもよい。この一覧は、すべてを列挙しているわけではなく、非限定的な例にすぎない。
【００４１】
検証エンジン１８６は、リソースに関して送信されてくる要求に対して一連のテストを実行してもよい。あるテストは、認識済みの所在地が要求されたリソースへのアクセス権を有するかどうかであってもよい。上記したように、アクセス管理されたリソース１８２に含まれるすべてのリソースを特定の認識済みの所在地が利用可能なわけではない。このような実施態様では、検証エンジン１８６は、認識済みの所在地から要求されたリソースにアクセスできないと判断することに応答して、要求へのアクセスを拒否してもよい。いくつかの実施態様では、検証エンジン１８６は、要求が認識済みの所在地からの要求であるかどうかを判断してもよい。要求が認識済みの所在地からの要求である場合、いくつかの実施態様では、検証エンジン１８６は、アクセス管理されたリソース１８２のうち、要求されたリソースを要求元に提供してもよい。この要求されたリソースは、リンク、たとえば、ＵＲＬによって識別されるリソースである。いくつかの実施態様では、管理リソース用サーバ１８０は、追加の検証を行う、たとえば、既知のプロセスを使用して棘のある挙動や、不正な挙動を監視してもよい。
【００４２】
要求が認識済みの所在地からの要求ではない場合、検証エンジン１８６は、要求がトークンを含むかどうか判断してもよい。トークンは、暗号化されている可能性があり、要求が認識済みの所在地から送信された要求であるかのように、システムが、限られた時間、アクセス管理されたリソース１８２へのアクセスを提供するために使われる。検証エンジン１８６が暗号化キー１８８を使用してトークンの暗号化を解除してもよい。暗号化キー１８８は、クライアントデバイスの状態データを追跡して保守するサーバ、たとえば、リソースアクセスサーバ１１０と管理リソース用サーバ１８０との間で共有される。トークン２５０に関して上述したように、トークンは、検証エンジン１８６が要求に対して追加の検証を行うために使うデータを含んでもよい。トークンを有する要求が検証要求に合格した場合、検証エンジン１８６は、あたかも要求が認識済みの所在地から送信されたかのうように、要求されたリソースを提供する。
【００４３】
アクセス管理システム１００は、クライアントデバイス１７０を備えてもよい。クライアントデバイス１７０は、スマートフォンまたはその他の携帯コンピューティングデバイス、タブレット端末、ウェアラブルコンピューティングデバイス、ラップトップコンピュータ、ネットブック、電子ブック、パーソナルコンピュータ、スマートスピーカー、プロセッサ内蔵テレビなど、認識済みの所在地１６０を経由およびその他の位置を経由してリソースを要求可能なユーザ所有の任意のコンピューティングデバイスであってもよい。クライアントデバイス１７０は、図４に示すようなコンピュータデバイス４００または４５０の例であってもよい。
【００４４】
クライアントデバイス１７０は、１つ以上の機械によって実行可能な命令または複数のソフトウェア、ファームウェア、または、それらの組合せを実行するように構成された基板に設けられた１つ以上のプロセッサを含んでもよい。プロセッサは、半導体ベースであり得る。すなわち、プロセッサは、デジタルロジックを実行できる半導体材料を含み得る。よって、クライアントデバイス１７０は、１つ以上のデータを、一時的に、恒久的に、半恒久的に、または、それらの組合せで格納するように構成された１つ以上のコンピュータメモリを含んでもよい。クライアントデバイス１７０は、識別子１７５と対応付けられてもよい。識別子１７５は、たとえば、クッキー、リソースアクセスサーバ１１０を経由して提供されてもよい。識別子１７５は、ユーザ識別子、たとえば、ユーザアカウントの一意のユーザ名であってもよい。クライアントデバイス１７０は、ソフトウェア、ファームウェア、または、それらの組合せの形態の機械によって実行可能な命令を表すブラウザなどのアプリケーション（図示せず）を含んでもよい。クライアントデバイス１７０は、これらのアプリケーションを利用してリソースを要求およびアクセスしてもよい。いくつかの実施態様では、アプリケーションは、モバイルアプリケーションであってもよい。
【００４５】
クライアントデバイス１７０、リソースアクセスサーバ１１０、および／または管理リソース用サーバ１８０は、互いに通信していてもよく、その他のクライアントデバイスおよびサーバと１つ以上のネットワーク上で通信していてもよい。ネットワーク（図示せず）は、たとえば、ゲートウェイ装置、ブリッジ、スイッチ、ケーブル、ルータなどを用いて実現されるインターネット、有線または無線ローカルエリアネットワーク（ＬＡＮ）、ＷｉＦｉ接続、Ｅｔｈｅｒｎｅｔ（登録商標）接続、ワイドエリアネットワーク（ＷＡＮ）、セルラデータネットワークおよび／または通信ネットワークなどであってもよい。
【００４６】
図１Ａの例では、クライアントデバイス１７０は、認識済みの所在地１６０を経由してリソースアクセスサーバ１１０に接続する。この接続は、ＷｉＦｉであってもよく、Ｅｔｈｅｒｎｅｔであってもよく、イントラネットであってもよく、またはその他同様の種類の接続であってもよい。この接続は、たとえば、ログインによるＶＰＮまたはインターネット接続であってもよい。クライアントデバイス１７０は、認識済みの所在地１６０を経由してリソース（たとえば、矢印１）を要求する。リソースアクセスサーバ１１０は、検索エンジンウェブサイト、図書館ポータル、病院ポータルなど、共通のアクセスポータルを表す。要求（たとえば、矢印１）は、一般的なクエリまたは特定のリソース用のクエリの形であってもよい。リソースアクセスサーバ１１０は、クエリに応じたリソースへの１つ以上のリンクを含む応答（たとえば、矢印２）を生成する。要求が一般的なクエリである場合、リソースアクセスサーバ１１０は、応答用リソースへのリンクを提供してもよく、当該リソースは、１つ以上のアクセス管理されたリソースを含んでもよい。この要求が特定のリソースについての要求である場合、応答は、このリソースへの１つのリンクであってもよい。また、リソースアクセスサーバ１１０は、クライアントデバイス１７０と認識済みの所在地との対応付けを記録した、クライアントデバイス１７０の状態データを生成する。よって、応答（たとえば、矢印２）は、アクセス管理されたリソースへのリンク、たとえば、１つのＵＲＬ（または、一般的なクエリに応じた２つ以上のリソースへの複数のＵＲＬ）である。この要求は認識済みの所在地を経由して行われたので、このリンクは、従来のリンク、たとえば、トークンなしのリンクであり得る。検索結果がクライアントデバイス（図示せず）のユーザに表示されてもよく、ユーザは、アクセス管理されたリソースのうちの１つのリソースのリンクを選択することによって特定のリソースを要求してもよい（たとえば、矢印３）。要求は、認識済みの所在地１６０を経由して管理リソース用サーバ１８０に対して行われる。管理リソース用サーバ１８０は、要求が認識済みの所在地（たとえば、矢印３）から送信されたと認識し、（ライセンスリソース情報が検証に合格した場合、）認識済みの所在地１６０（たとえば、矢印４）を経由してリソースをクライアントデバイス１７０に提供する。
【００４７】
その後、クライアントデバイス１７０は、アクセス管理されたリソース（たとえば、矢印５）を求める別の要求を、認識済みの所在地１６０以外の場所から行ってもよい。たとえば、図書館利用者は、共通のアクセスポータルからオーディオブックへのアクセスを家から要求してもよい。また、要求は、クエリの形態であり得る。リソースアクセスサーバ１１０は、リソースがアクセス管理されたリソースであると判断し、このリソースを求める要求が認識済みの所在地以外の場所からの要求であると判断してもよい。これに応答して、リソースアクセスサーバ１１０は、クライアントデバイス１７０の状態データの場所を特定し、これに応答して、暗号化されたトークンを生成して、当該暗号化されたトークンをリソースへのリンクに含めて、クライアントデバイス（たとえば、矢印６）に送信してもよい。クライアントデバイス１７０は、このリンクを利用して管理リソース用サーバ１８０（たとえば、矢印７）からのリソースを要求してもよい。管理リソース用サーバ１８０は、リンクに含まれたトークンを確認し、トークンに含まれる情報が追加のチェックに合格した場合、クライアントデバイス１７０に当該リソース（たとえば、矢印８）へのアクセスを提供してもよい。クライアントデバイス１７０の期限が満了していない状態データをリソースアクセスサーバ１１０が特定できなかった場合、トークンは生成されず、クライアントデバイス１７０は、管理リソース用サーバ１８０からのリソースを正常に要求できなくなる。同様に、トークンに含まれる情報が追加のチェックに合格しなかった場合、リソースは、管理リソース用サーバ１８０によって提供されない。
【００４８】
アクセス管理システム１００は、一構成例を表しており、実施態様は、その他の構成を組み込んでもよい。たとえば、いくつかの実施態様は、リソースアクセスサーバ１１０の構成要素の１つ以上と管理リソース用サーバ１８０とを組み合わせてもよく、または、アクセスエンジン１２０、検証エンジン１２２、検証エンジン１８６の１つ以上の構成要素を組み合わせて１つのモジュールまたはエンジンにしてもよい。同様に、いくつかの実施態様では、インデックス１１２、状態データ１１４、アクセスデータベース１１６、および／またはアクセス管理されたリソース１８２を組み合わせて１つのデータストアとしてもよく、複数のコンピューティングデバイス間で分散されてもよく、別のアクセス可能なコンピューティングデバイスにおいて格納されてもよい。
【００４９】
図１Ｂは、システム１００の別の構成１００’の別例である。システム１００’の例では、管理リソース用サーバ１８０’は、リソースアクセスサーバ１１０について説明した機能を含む。つまり、管理リソース用サーバ１８０’は、状態データ１１４と、アクセスエンジン１２０とを含んでもよく、検証エンジン１８６は、検証エンジン１２２によって実行されると上述された機能を含んでもよい。この例では、クライアントデバイス１７０は、管理リソース用サーバ１８０’（たとえば、矢印１）からのリソースを認識済みの所在地１６０を経由して要求する。当該所在地が認識されているので、管理リソース用サーバ１８０’は、要求されたリソース（たとえば、矢印２）へのリンクを提供するだけでなく、たとえば、本明細書に記載したような認識済みの所在地との提携によってクライアントが利用可能なリソースを特定するために使われる情報を記録したクライアントデバイス１７０の状態データ１１４も生成する。このリソースへのリンクは、クライアントデバイス１７０に提供される。クライアントデバイス１７０のユーザは、このリンク（たとえば、矢印３）を選択して、認識済みの所在地１６０を経由してリソースにアクセスしてもよい。たとえば、リソースは、認識済みの所在地１６０（矢印４）を経由してクライアントデバイス１７０に提供される。その後、クライアントデバイス１７０は、認識済みの所在地１６０以外の位置を経由（たとえば、矢印５）して管理リソース用サーバ１８０’からのリソースを要求してもよい。管理リソース用サーバ１８０’が要求が認識済みの所在地を経由していないと判断し、クライアントデバイス１７０の期限が満了していない状態データ１１４を特定することに応じて、管理リソース用サーバ１８０’は、このリソースへのリンクを提供してもよい（矢印６）。このリンクは、検索結果に含まれる１つのリンクまたは複数のリンクであり得る。クライアントデバイス１７０のユーザは、トークンを含むこのリンクを選択することができる。これにより、リソースの要求が管理リソース用サーバ（矢印７）に送られる。トークンに含まれる情報が追加の検証テストに合格した場合、リソースがクライアントデバイス１７０（矢印８）に提供される。いくつかの実施態様では、管理リソース用サーバ１８０’が状態データ１１４を保持するので、トークンの利用は必須ではなく、管理リソース用サーバ１８０’は、本明細書に記載のトークン検証テストを状態データ１１４に基づいて実行してもよい。図１Ａおよび図１Ｂは、例示にすぎず、実施態様は、その他の構成も含む。
【００５０】
図３は、開示された実施態様に係る、管理リソースに認識済みの所在地以外の場所からアクセスするための例示的な工程３００のフロー図を示す。工程３００は、図１Ａのシステム１００または図１Ｂの図１００’など、アクセス管理システムによって実行されてもよい。工程３００は、管理リソースに認識済みの所在地からアクセスする複数のクライアントデバイスの状態データを生成し、状態データを用いて、特定の状況下で管理リソースに認識済みの所在地以外の場所からアクセスするための一時的に暗号化されたトークンを生成してもよい。工程３００は、クライアントデバイスのユーザに影響を与えることなく実施されてもよい。つまり、クライアントデバイスのユーザは、認識済みの所在地以外の場所からリソースにアクセスするために、別途ステップの実行や、追加の入力を行う必要がない。これにより、ユーザエクスペリエンスが向上し、クライアントデバイス上のリソースを節約することができる。工程３００は、認識済みの所在地を経由してリソースを要求することから開始してもよい（３０５）。たとえば、クライアントデバイス、たとえば、図１Ａのクライアントデバイス１７０は、プロキシ、保護された接続（たとえば、ＶＰＮ）、またはＥｔｈｅｒｎｅｔもしくはＷｉＦｉ接続、ブラウザ地理位置情報ＡＰＩによって特定された物理的位置、すなわち、認識済みの所在地、つまり、特定のリソースへのアクセス権を有すると認識された所在地を用いて要求を送ってもよい。いくつかの実施態様では、この要求は、リソースアクセスサーバ、たとえば、検索エンジン、リソースポータル、またはその他のリソースアクセスサイトによって受け付けられてもよい（３１０）。アクセスサーバは、たとえば、１つ以上のデータストアを用いて、この要求がアクセス管理されたリソースの要求であり、認識済みの所在地から送信されたと判断する。いくつかの実施態様では、要求は、クエリであってもよく、リソースは、クエリに対する応答であってもよい。アクセスサーバは、要求とともに受信したクライアント識別子を用いてクライアントの状態データを生成する（３１５）。たとえば、要求は、デバイスについてのクッキーの値を含んでもよい。別の例として、要求は、デバイスに一意の数字、電話番号などを含んでもよい。別の例として、要求は、アクセスサーバが認識するユーザアカウント（たとえば、ソーシャルメディアのアカウント）と対応付けられたデバイスから行われもよい。つまり、ユーザは、デバイス上でアカウントにログインしてもよく、アクセスサーバは、このログイン状態を認識してもよい。また、ユーザアカウント、たとえば、ユーザ名は、デバイス識別子であるとみなされる。生成されたクライアントデバイスの状態データは、デバイス識別子、タイムスタンプ、およびライセンスリソース情報を含む。いくつかの実施態様では、状態データに含まれるデバイス識別子は、ハッシュされてもよい。ライセンスリソース情報は、たとえば、クライアントデバイスのユーザと認識済みの所在地との提携に基づいた、クライアントデバイスがアクセス権を有するリソースを表す任意の情報である。非限定例として、リソースコレクション識別子、認識済みの所在地のＩＰアドレス、認識済みの所在地に対応付けられた団体コード、サブスクリプション情報などが挙げられる。状態データを生成することは、クライアントデバイスおよびライセンスリソース情報についての既存の状態データレコードのタイムスタンプを更新することを含む。状態データを生成することは、クライアントデバイスについての新しい状態データレコードを書き込むことを含んでもよい。状態データレコードは、タイムスタンプに基づいて期限が満了する。よって、認識済みの所在地以外の場所からのアクセスは、一時的なものである。状態データがアクティブである（たとえば、期限が満了していない）期間の長さは、管理リソースの所有者および／または認識済みの所在地に対応付けられた団体との契約上の取り決めに基づいてもよい。期間の長さは、数日、１週間、２週間、１ヶ月などであってもよい。認識済みの所在地以外の場所からのアクセスをシームレスにしておくために、クライアントデバイスは、状態データの期限が満了する前に認識済みの所在地を経由してリソースにアクセスし得る。たとえば、状態データの期限が２週間後に満了する場合、学生は、この２週間が終わる前に大学構内を訪れて大学構内のＷｉＦｉを使ってリソースにアクセスしてもよい。このようにすることにより、２週間を再スタートさせる。期限を設けることにより、クライアントデバイスのユーザが認識済みの所在地によって表される団体とのアクティブな対応付けを維持することが保証される。
【００５１】
リソースアクセスサーバ１１０は、アクセス管理されたリソースへのリンクを含む、要求に対する応答を生成する（３２０）。要求が一般的なクエリである場合、応答を生成することは、これらの応答用リソースのうち、どのリソースがクエリに対するリソースであるかを判断することと、認識済みの所在地を経由してアクセス可能な応答用リソースについてのそれぞれのリンクを生成することとを含んでもよい。よって、リンクは、検索結果の一部として提供されてもよい。また、要求されたリソースへのリンクは、個々に提供されてもよい。認識済みの所在地を経由してクライアントデバイスにリンクを提供してもよく、クライアントデバイスのユーザは、リンクを選択してリソースにアクセスしてもよい（３２５）。リンクによってリソースにアクセスする要求は、たとえば、３３０において管理リソース用サーバによって処理されてもよい。図３に示すような管理リソース用サーバによって実行されるテストの順序は、一例として提供されており、実施態様は、図３に示す一連のテストに限定されない。管理リソース用サーバは、要求がトークンを含むかどうかを判断してもよい（３３０）。言い換えると、管理リソース用サーバは、トークンが含まれているかどうか、ＵＲＬを確認してもよい。トークンが見つからない場合（３３０、Ｎｏ）、管理リソース用サーバは、要求されたリソースへのアクセス権を要求元が有するかどうかを判断してもよい（３５０）。トークンを含まない要求の場合、アクセス管理サーバは、要求の送信元の所在地を利用して、要求されたリソースへのアクセス権を要求元が有するかどうかを判断してもよい。いくつかの実施態様では、所在地は、ＩＰアドレスであってもよく、ドメインであってもよい。いくつかの実施態様では、所在地は、ＩＰアドレスまたはドメインなど、所在地と要求されたリソースとの組合せであってもよい。いくつかの実施態様では、所在地は、認識済みの所在地の識別子であってもよい。言い換えると、管理リソース用サーバ１８０は、データベースを用いて、当該要求に対応付けられた所在地が要求されたリソースにアクセス可能であるかどうかを判断してもよい。たとえば、出版元は、特定の団体が利用できるリソースについて別々の団体と別々の取り決めを結んでもよい。ニューヨーク州にある大学が医学雑誌を利用でき、ニューメキシコ州にある大学が工学雑誌を利用できてもよい。このように、認識済みの所在地は、管理リソース用サーバにあるすべてのリソース所在地でなくてもよい。したがって、管理リソース用サーバは、要求の所在地が、要求されている特定のリソースについての認識済みの所在地であるかどうかを判断してもよい。また、管理リソース用サーバは、所在地が認識済みであるかどうかを判断することの一部として、特定の所在地からの要求の数を特定するなど、その他のテストを行ってもよい。
【００５２】
要求されたリソースへのアクセス権を要求元が有する場合（３５０、Ｙｅｓ）、管理リソース用サーバは、要求されたリソースを要求元に提供する（３５５）。クライアントデバイスは、認識済みの所在地を経由したリソースへのアクセスを受け付ける（３６５）。要求されたリソースへのアクセス権を要求元が有さない場合（３５０、Ｎｏ）、管理リソース用サーバは、要求された記事へのアクセスを拒否する（３６０）。これは、アクセス権を購入するためのリンク付きのリソースの概要などを提供するエラーメッセージを提供することを含んでもよい。クライアントデバイスは、認識済みの所在地を経由して拒否を受け付ける（３６５）。
【００５３】
また、クライアントデバイスは、認識済みの所在地以外の場所からアクセス管理されたリソースへのアクセスを要求してもよい（３７０）。この要求は、アクセスサーバへのクエリであってもよい。アクセスサーバは、クライアントデバイスの期限が満了していない、つまり、状態データがアクティブであるかどうかを判断してもよい（３７５）。たとえば、３１５において、状態データは、クライアントデバイスが認識済みの所在地を経由してアクセスサーバにアクセスしたときに生成される。認識済みの所在地は、この意味では、特定のリソースに関わらず管理リソース用サーバによって認識される任意の所在地である。状態データの期限は、生成されてから有効期間が経過していない場合、満了していない。状態データは、状態データが生成されるときにセットされるタイムスタンプを含む。タイムスタンプは、状態データの期限が満了する時刻を表してもよい。タイムスタンプは、状態データが生成された時刻を表してもよく、状態データは、有効期限後に満了する。上記したように、有効期限は、予め固定されているが、団体または管理リソースの所有者によって変更可能である。クライアントデバイスの状態データが見つからなかった場合、または期限が満了していた場合（３７５、Ｎｏ）、アクセスサーバは、リソースへのアクセスを拒否してもよい（３９０）。アクセスを拒否することは、リソースがクエリへの応答であったとしてもリソースへのリンクを検索結果に含めて提供しないことを含んでもよい。アクセスを拒否することは、応答してリソースへのリンクをトークンなしで提供することを含んでもよい。これは、認識済みの所在地からの要求ではないと管理リソース用サーバが今後判断することになるので、事実上、アクセスを拒否することになる。アクセスを拒否することは、その他のリンク、たとえば、スニペットを含む検索結果と、リソースへのアクセス権を購入するためにユーザが定期購入できるようにするプロセスへのリンクとを提供することを含んでもよい。
【００５４】
クライアントデバイスの状態データが存在し、当該状態データの期限が満了していない場合（３７５、Ｙｅｓ）、アクセスサーバは、リソースのトークンを生成する（３８０）。トークンは、要求が認識済みの所在地と対応付けられているかを管理リソース用サーバが検証できるデータを含む。要求がクエリである場合など、いくつかの実施態様では、アクセスサーバは、クエリに対する応答であるアクセス管理されたリソースごとにトークンを生成してもよい。いくつかの実施態様では、トークンは、悪人を抑止するために暗号化されてもよい。トークンは、タイムスタンプを含む。このタイムスタンプにより、トークンが短期間有効であることが保証される。短期間は、クライアントデバイスが、たとえば、ブラウザ上の「戻る」または「進む」ボタンを使ってリソースを再要求することを許容できる期間である。短期間は、通常、状態データの有効期間よりもはるかに短い。たとえば、トークンが有効である期間は、１時間以下であってもよい。この期間は、リソースの所有者によって設定されてもよい。状態データと同様に、トークンのタイムスタンプは、実施態様に応じて、トークンが生成される時刻であってもよく、トークンの期限が満了する時刻であってもよい。また、トークンは、乱数を含む。乱数により、トークンの一意性が保証される。よって、乱数は、一意性を保証するのに十分な長さであってもよい。たとえば、乱数は、６４ビットであってもよい。また、トークンは、ライセンスリソース情報を含んでもよい。ライセンスリソース情報とは、クライアントデバイスがアクセス権を有するリソースがどれであるかを管理リソース用サーバが判断するために使う情報である。これは、たとえば、アクセスまたはサブスクリプションデータベースへのキーであってもよく、キー値のペアであってもよく、認識済みの所在地の識別子であってもよい。また、いくつかの実施態様では、トークンは、トークンの生成時にクライアントデバイスが使用したＩＰサブネットを含んでもよい。ＩＰサブネットは、本明細書においてより詳細に記載する、不正な（たとえば、共有された、複製された）要求を特定するために利用することができる。いくつかの実施態様では、トークンは、暗号化されてもよい。暗号化キーは、アクセス管理サーバが知っているまたは当該サーバと共有されるキーであってもよい。トークンの暗号化によって、不正使用の機会、たとえば、トークンのなりすましを制限する。トークン、たとえば、暗号化されたトークンは、それぞれのリソースのリンクに含まれてクライアントデバイスに提供される。そして、クライアントデバイスは、トークン付きのリンクを用いて、認識済みの所在地以外の場所からリソースにアクセスできるようになる（３９５）。
【００５５】
管理リソース用サーバは、トークンを有するＵＲＬを経由して要求を受け付け、トークンを認識し（３３０、Ｙｅｓ）、暗号化キーを使ってトークン暗号化を解除する（３３５）。管理リソース用サーバは、トークンからのデータに対して一連のチェックまたはテストを行う。たとえば、管理リソース用サーバは、トークンの期限が満了しているかどうかを判断してもよい（３４０）。上記したように、トークンは、短期間、たとえば、１時間有効であってもよい。短期間であることによって、不正使用の機会、たとえば、他者とのリンクの共有をやめさせたり、制限したりする。また、トークンは、何度も確認された場合、期限が満了したとみなされてもよい。乱数により、トークンが一意になる。いくつかの実施態様では、管理リソース用サーバは、トークンが提示される回数を数えてもよい。トークンは、何度も提示される場合、期限が満了したとみなされてもよい。また、このタイプの期限によって、不正使用の機会が制限される。トークンが提示される回数は、３回または４回など、少なくてもよく、これにより、ユーザは、ブラウザの「戻る」ファンクションおよび「進む」ファンクションを限られた回数利用できるようになる。この回数よりも多く提示されたトークンは、拒否、たとえば、期限が満了したとみなされてもよい。トークンの期限が満了した場合（３４０、Ｙｅｓ）、管理リソース用サーバは、要求された記事へのアクセスを拒否する（３６０）。たとえば、３６５において、認識済みの所在地を経由してリソースにアクセスしなければならないと示すメッセージが表示されてもよく、アクセス権を購入するためのリンク、ログイン画面へのリンクなどとともにメッセージが表示されてもよい。
【００５６】
トークンの期限が満了していない場合（３４０、Ｎｏ）、管理リソース用サーバは、トークンのＩＰサブネットが要求の送信元のＩＰアドレスのＩＰサブネットと一致するかどうかを判断してもよい（３４５）。このテストは、トークンがＩＰサブネット情報を含む場合に実行される。このテストは、正当なユーザが同じエリア内の異なるセルタワーまたはＷｉＦｉルータへ切り替えることを許可しつつ、トークンの配布を限定することによって、不正使用の機会を制限する。しかしながら、リンクが共有される場合、ＩＰサブネット外のＩＰアドレスからの当該リンクを用いた要求は、ブロックされる。このように、トークンのＩＰサブネットが要求のＩＰサブネットに一致しない場合（３４５、Ｎｏ）、管理リソース用サーバは、リソースへのアクセスを拒否する（３６０）。ＩＰサブネットが一致した場合、またはトークンがＩＰサブネットデータを含まない場合、管理リソース用サーバは、要求されたリソースへのアクセス権を要求元が有するかどうかを判断してもよい（３５０）。トークンを有するリンクの場合、アクセス管理サーバは、トークンに含まれるライセンスリソース情報をこのテストに用いてもよい。トークンに含まれるライセンスリソース情報は、クライアントデバイスの状態データから取り出され、クライアントデバイスが認識済みの所在地と提携していると認識するために管理リソース用サーバが使う任意の情報、たとえば、認識済みの所在地との提携により利用可能なリソース、リソースのコレクション、このようなコレクションのサブスクリプションなどを識別する情報であり得る。管理リソース用サーバは、トークンに含まれるライセンスリソース情報を用いて、要求されたリソースへのアクセス権を要求元が有するかどうかを判断する。ライセンスリソース情報が要求されたリソースに一致しない場合（３５０、Ｎｏ）、システムは、リソースへのアクセスを拒否する（３６０）。ライセンスリソース情報が要求されたリソースに一致する場合（３５０、Ｙｅｓ）、システムは、上述したように要求されたリソースを提供し、トークンアクセス回数をインクリメントしてもよい（３５５）。トークンへのアクセスを追跡することにより、管理リソース用サーバは、トークンが正常に提示される回数を制限できるようになる。トークンテスト、たとえば、ステップ３４０〜ステップ３５０は、必須ではなく、任意の順序で完了できる。いくつかの実施態様は、テストを実行しなくてもよい。いくつかの実施態様は、追加のテストを実行してもよい。複数の異なるクライアントデバイスおよび異なる認識済みの所在地に対して工程３００が同時に繰り返されてもよいことはいうまでもない。また、いくつかの実施態様では、アクセスサーバによって実行されると説明した特定のステップは、管理リソース用サーバによって実行されてもよいことはいうまでもない。このように、実施態様は、図３によって表された通りの構成に限定されない。
【００５７】
図４は、一般的なコンピュータデバイス４００の例を示す図である。コンピュータデバイス４００は、本明細書に記載の技術とともに用いられ得る図１Ａのサーバ１１０、サーバ１６０、サーバ１８０、および／またはクライアントデバイス１７０として動作してもよい。コンピューティングデバイス４００は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、携帯電話、スマートフォン、タブレット端末、サーバ、およびウェアラブルデバイスを含むその他のコンピューティングデバイスなど、様々な例示的な形態のコンピューティングデバイスを表す。ここに示す構成要素、その接続および関係、およびその機能は、例示にすぎず、本明細書に記載するおよび／またはクレームされた発明の実施態様に限定されない。
【００５８】
コンピューティングデバイス４００は、インターフェース４０８を介して接続されたプロセッサ４０２と、メモリ４０４と、記憶装置４０６と、拡張ポート４１０とを備える。いくつかの実施態様では、コンピューティングデバイス４００は、インターフェース４０８を介して接続されたコンポーネントの中でも、送受信部４４６と、通信インターフェース４４４と、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）受信機モジュール４４８とを備えてもよい。デバイス４００は、通信インターフェース４４４を通してワイヤレス通信を行ってもよく、デジタル信号処理回路を適宜含んでもよい。コンポーネント４０２、４０４、４０６、４０８、４１０、４４０、４４４、４４６、および４４８の各々は、共通のマザーボード上に搭載されてもよく、その他の方法で適宜搭載されてもよい。
【００５９】
プロセッサ４０２は、ディスプレイ４１６など、外部の入出力装置上のＧＵＩについてのグラフィック情報を表示するためのメモリ４０４内または記憶装置４０６上に格納された命令を含む、コンピューティングデバイス４００内で実行するための命令を処理できる。ディスプレイ４１６は、モニタであってもよく、フラットタッチスクリーンディスプレイであってもよい。いくつかの実施態様では、複数のメモリおよび複数種類のメモリとともに、複数のプロセッサおよび／または複数のバスを適宜利用してもよい。また、複数のコンピューティングデバイス４００は、各デバイスが（たとえば、サーババンク、ブレードサーバの群、またはマルチプロセッサシステムとしての）必要な動作の一部を提供する状態で互いに接続されてもよい。
【００６０】
メモリ４０４は、コンピューティングデバイス４００内に情報を格納する。一実施態様において、メモリ４０４は、１つまたは複数の揮発性記憶装置である。別の実施態様では、メモリ４０４は、１つまたは複数の不揮発性記憶装置である。また、メモリ４０４は、磁気ディスクまたは光ディスクなど、別の形態のコンピュータ読み取り可能な媒体であってもよい。いくつかの実施態様では、メモリ４０４は、拡張インターフェースを通して提供される拡張メモリを含んでもよい。
【００６１】
記憶装置４０６は、コンピューティングデバイス４００用の大容量ストレージを提供できる。一実施態様において、記憶装置４０６は、フロッピー（登録商標）ディスク装置、ハードディスク装置、光ディスク装置、またはテープ装置、フラッシュメモリもしくは他の同様の固体メモリ装置、または、ストレージエリアネットワークもしくはその他の構成に含まれる装置を含む装置の配列など、コンピュータ読み取り可能な媒体であってもよく、または、当該コンピュータ読み取り可能な媒体を含んでもよい。このようなコンピュータ読み取り可能な媒体にコンピュータプログラムプロダクトが有形に含まれ得る。また、このコンピュータプログラムプロダクトは、命令を含んでもよく、当該命令は、実行されると、上述した方法など、１つ以上の方法を実行する。コンピュータまたは機械読み取り可能な媒体は、メモリ４０４、記憶装置４０６、またはプロセッサ４０２上のメモリなど、記憶装置である。
【００６２】
インターフェース４０８は、多くの処理能力を必要とするコンピューティングデバイス４００のための動作を管理する高速コントローラであってもよく、処理能力をそれほど必要としない動作を管理する低速コントローラであってもよく、または、このようなコントローラの組合せであってもよい。デバイス４００のその他のデバイスとの近距離通信が可能になるよう、外部インターフェース４４０が提供されてもよい。いくつかの実施態様では、コントローラ４０８は、記憶装置４０６および拡張ポート４１４に連結されてもよい。様々な通信ポート（たとえば、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｅｔｈｅｒｎｅｔ（登録商標）、無線Ｅｔｈｅｒｎｅｔ）を含み得る拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの１つ以上の入出力装置、または、スイッチもしくはルータなどのネットワーク装置に、たとえば、ネットワークアダプタを通じて連結されてもよい。
【００６３】
コンピューティングデバイス４００は、図に示すような複数の異なる形態で実現されてもよい。たとえば、標準サーバ４３０として実現されてもよく、このようなサーバの群で複数回実現されてもよい。また、ラックサーバシステムの一部として実現されてもよい。これに加えて、ラップトップコンピュータ４３２、パーソナルコンピュータ４３４、またはタブレット端末／スマートフォン４３６など、コンピューティングデバイスで実現されてもよい。システム全体は、互いに通信する複数のコンピューティングデバイス４００から構成されてもよい。その他の構成も可能である。
【００６４】
図５は、一般的なコンピュータデバイス５００の例を示す図である。コンピュータデバイス５００は、本明細書に記載の技術とともに用いられ得る図１Ａのサーバ１１０、サーバ１６０、またはサーバ１８０であってもよい。コンピューティングデバイス５００は、サーバ、ブレードサーバ、データセンター、メインフレームなど、大規模なデータ処理デバイス、およびその他の大規模なコンピューティングデバイスの様々な例示的な形態を表す。コンピューティングデバイス５００は、ネットワーク接続されたストレージノードを含み得る、複数のプロセッサを有する分散システムであってもよく、当該複数のプロセッサは、１つ以上の通信ネットワークによって互いに接続される。ここに示す構成要素、その接続および関係、およびその機能は、例示にすぎず、本明細書に記載するおよび／またはクレームされた発明の実施態様に限定されない。
【００６５】
分散コンピューティングシステム５００は、任意の数のコンピューティングデバイス５８０を備えてもよい。コンピューティングデバイス５８０は、ローカルまたはワイドエリアネットワーク、専用の光リンク、モデム、ブリッジ、ルータ、スイッチ、有線または無線ネットワーク上で通信しているサーバまたはラックサーバ、メインフレームなどを含んでもよい。
【００６６】
いくつかの実施態様では、各コンピューティングデバイスは、複数のラックを含んでもよい。たとえば、コンピューティングデバイス５８０ａは、複数のラック５５８ａ〜５５８ｎを含む。各ラックは、プロセッサ５５２ａ〜５５２ｎおよび５６２ａ〜５６２ｎなど、１つ以上のプロセッサ含んでもよい。プロセッサは、データプロセッサ、ネットワーク接続された記憶装置、およびその他のコンピュータ制御されたデバイスを含んでもよい。いくつかの実施態様では、１つのプロセッサがマスタプロセッサとして動作し、スケジューリングタスクおよびデータ分散タスクを制御してもよい。プロセッサが１つ以上のラックスイッチ５５８を通して互いに接続されてもよく、１つ以上のラックがスイッチ５７８を通して互いに接続されてもよい。スイッチ５７８は、複数の接続されたコンピューティングデバイス５００間の通信を処理してもよい。
【００６７】
各ラックは、メモリ５５４およびメモリ５６４などのメモリと、５５６および５６６などのストレージとを含む。ストレージ５５６および５６６は、大容量ストレージを提供してもよく、ネットワーク接続されたディスク、フロッピーディスク、ハードディスク、光ディスク、テープ、フラッシュメモリ、もしくはその他の同様の固体メモリ装置、またはストレージエリアネットワークもしくはその他の構成に含まれるデバイスを含むデバイスの配列など、揮発性または不揮発性ストレージを含んでもよい。ストレージ５５６または５６６は、複数のプロセッサ、複数のラック、または複数のコンピューティングデバイス間で共有されてもよく、プロセッサのうちの１つ以上によって実行可能な命令を格納したコンピュータ読み取り可能な媒体を含んでもよい。メモリ５５４および５６４は、たとえば、１つもしくは複数の揮発性記憶装置、１つもしくは複数の不揮発性記憶装置、ならびに／または、磁気ディスクもしくは光ディスク、フラッシュメモリ、キャッシュ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、およびそれらの組合せなど、その他の形態のコンピュータ読み取り可能な媒体を含んでもよい。また、メモリ５５４など、メモリがプロセッサ５５２ａ〜５５２ｎ間で共有されてもよい。インデックスなどのデータ構造が、たとえばストレージ５５６およびメモリ５５４に格納されてもよい。コンピューティングデバイス５００は、コントローラ、バス、入出力装置、通信モジュールなど、図示しないその他のコンポーネントを備えてもよい。
【００６８】
システム１００、１００’、または１００”など、システム全体は、互いに通信する複数のコンピューティングデバイス５００から構成されてもよい。たとえば、デバイス５８０ａは、デバイス５８０ｂ、５８０ｃ、および５８０ｄと通信してもよく、これらは、まとめてサーバ１１０、サーバ１６０、またはサーバ１８０として認められてもよい。別の例として、図１のシステム１００は、１つ以上のコンピューティングデバイス５００を備えてもよい。コンピューティングデバイスのいくつかは、地理的に互いに近くに位置していてもよく、その他は地理的に離れた場所に位置していてもよい。システム５００のレイアウトは、例示にすぎず、システムは、その他のレイアウトまたは構成をとってもよい。
【００６９】
本開示の特定の態様によると、方法は、アクセス管理されたリソースの要求をクライアントデバイスから受け付けるステップを含み、要求は、クライアントデバイス識別子を含み、方法は、さらに、要求が認識済みの所在地と対応付けられていないと判断するステップと、クライアントデバイス識別子の状態データを特定するステップと、サーバにあるアクセス管理されたリソースにアクセスするためのリンクを生成するステップと、タイムスタンプと、乱数と、状態データからのライセンスリソース情報とを含む暗号化されたトークンを生成するステップと、暗号化されたトークンをリンクに含めるステップと、リンクをクライアントデバイスに提供するステップとを含み、ユーザデバイスは、アクセス管理されたリソースを要求するためにリンクを使う。
【００７０】
これと他の態様は、下記の特徴のうちの１つ以上を単体または組合せで含み得る。たとえば、要求は、第１要求であってもよく、アクセス管理されたリソースは、第１のアクセス管理されたリソースであり、第１要求を受け付ける前に、方法は、第２のアクセス管理されたリソースの第２要求をクライアントデバイスから受け付けるステップをさらに含み、第２要求は、クライアントデバイス識別子を含み、方法は、さらに、第２要求が認識済みの所在地と対応付けられていると判断するステップと、クライアントデバイスの状態データを生成するステップと、状態データをメモリに格納するステップとを含む。別の例として、状態データは、タイムスタンプと、クライアントデバイス識別子と、ライセンスリソース情報とを含んでもよい。別の例として、ライセンスリソース情報は、認識済みの所在地を表してもよい。いくつかの実施態様では、ライセンスリソース情報は、認識済みの所在地と、認識済みの所在地が利用可能な管理リソースとを表す。別の例として、認識済みの所在地は、ドメイン名、地理位置情報、および／またはインターネットプロトコル（ＩＰ）アドレスであってもよい。別の例として、要求は、クエリであってもよく、アクセス管理されたリソースは、クエリに応じたリソースである。別の例として、クライアントデバイス識別子は、ユーザアカウントであってもよい。別の例として、記クライアントデバイスがアクセス管理されたリソースを要求するためにリンクを使用するステップは、管理リソース用サーバにおいて、アクセス管理されたリソースを求める要求に含まれるリンクを受け付けるステップと、リンクに含まれるトークンを特定するステップと、トークンの暗号化を解除するステップと、タイムスタンプに基づいてトークンの期限が満了していないと判断し、ライセンスリソース情報に基づいてアクセス管理されたリソースが利用可能であると判断することによって、トークンを検証するステップと、トークンが検証されたことに応答して、アクセス管理されたリソースをクライアントデバイスに提供するステップとを含んでもよい。
【００７１】
本開示の特定の態様によると、システムは、少なくとも１つのプロセッサと、クライアントデバイスの状態データレコードを格納するデータストアと、命令を格納するメモリとを備え、命令は、少なくとも１つのプロセッサによって実行されると、システムに動作を実行させる。動作は、デバイス識別子を有するクライアントデバイスからクエリを受け付けることと、クエリに応じた少なくとも１つのリソースが、アクセス管理されたリソースであると判断することとを含む。アクセス管理されたリソースの認識済みの所在地にクエリが対応付けられていると判断することに応答して、動作は、アクセス管理されたリソースへのリンクを生成することと、クライアントデバイスの状態データレコードをデータストアにおいて生成することとを含み、状態データは、クライアントデバイス識別子と、タイムスタンプと、認識済みの所在地との対応付けとを含む。認識済みの所在地にクエリが対応付けられていないと判断することに応答して、動作は、さらに、クライアントデバイス識別子についての期限が満了していない状態データレコードをデータストアにおいて特定することを含み、期限が満了していない状態データレコードを特定することに応答して、乱数と、タイムスタンプと、状態データレコードからのライセンスリソース情報とを含むトークンを生成し、アクセス管理されたリソースへのリンクにトークンを含めることを含む。クライアントデバイス識別子についての状態データレコードをデータストアにおいて特定できなかったことに応答して、トークンなしでリンクを生成することとを含み、動作は、さらに、クエリの検索結果をクライアントデバイスに返すことを含み、検索結果は、リソースへのリンクを含み、クライアントデバイスは、リソースへのリンクを使用してアクセス管理サーバからのリソースを要求し、アクセス管理サーバは、認識済みの所在地に対応付けられた要求からリソースへのアクセスを提供するように構成される。
【００７２】
これらのおよびその他の態様は、下記の特徴のうち１つ以上を単体または組合せで含み得る。たとえば、認識済みの所在地に対応付けられた要求からリソースへのアクセスを提供する際に、アクセス管理サーバは、アクセス管理されたリソースへのリンクであって、所在地が対応付けられたリンクを特定のクライアントデバイスから受け付け、所在地が認識済みの所在地であるかどうかを判断し、所在地が認識済みの所在地であると判断することに応答して、アクセス管理されたリソースを提供し、所在地が認識済みの所在地ではないと判断し、期限が満了していないトークンをリンクが含むと判断することに応答して、アクセス管理されたリソースを提供し、所在地が認識済みの所在地ではないと判断し、リンクがトークンを含んでいない判断するまたはリンクに含まれるトークンの期限が満了していると判断することに応答して、アクセス管理されたリソースへのアクセスを拒否するように構成される。いくつかの実施態様では、トークンは、要求のＩＰアドレスのＩＰサブネットをさらに含み、アクセス管理サーバは、所在地が認識済みの所在地ではなく、期限が満了していないトークンをリンクが含むと判断することに応答して、特定のクライアントデバイスのＩＰサブネットがトークンに含まれるＩＰサブネットと一致するかどうかを判断し、ＩＰサブネットが一致しないと判断することに応答して、アクセス管理されたリソースへのアクセスを拒否するように、さらに構成される。別の例として、認識済みの所在地は、地理位置情報および／またはＩＰアドレスを表してもよい。別の例として、トークンは、リンクに含まれる前に暗号化される。
【００７３】
本開示の特定の態様によると、方法は、アクセス管理されたリソースの要求をクライアントデバイスから受け付けるステップを含み、要求は、所在地を有し、方法は、さらに、所在地が認識済みの所在地ではないと判断するステップと、タイムスタンプと、乱数と、ライセンスリソース情報とを含むトークンを要求が含むと判断するステップと、タイムスタンプに基づいてトークンの期限が満了していないと判断するステップと、ライセンスリソース情報によって識別されるリソースが要求されたリソースと一致すると判断するステップと、アクセス管理されたリソースをクライアントデバイスに提供するステップとを含み、上記以外の場合、クライアントデバイスは、アクセス管理されたリソースへのアクセスを拒否する。
【００７４】
これらのおよびその他の態様は、下記の特徴のうち１つ以上を単体または組合せで含み得る。たとえば、トークンは、暗号化されていてもよく、方法は、トークンの暗号化を解除するステップをさらに含む。別の例として、トークンは、ＩＰサブネットをさらに含んでもよく、方法は、トークンに含まれるＩＰサブネットと一致するＩＰサブネットをクライアントデバイスのＩＰアドレスが含むと判断するステップをさらに含む。別の例として、方法は、乱数によって識別されるトークンのカウンタをインクリメントするステップと、トークンのカウンタがしきい値に達していないと判断するステップとをさらに含んでもよい。
【００７５】
様々な実施態様は、ストレージシステム、少なくとも１つの入力装置、および少なくとも１つの出力装置とデータおよび命令を送受信するために連結された特定用途プロセッサまたは汎用プロセッサであり得る少なくとも１つのプログラム可能なプロセッサを備えるプログラム可能なシステム上で実行可能および／または解釈可能な１つ以上のコンピュータプログラムでの実現を含み得る。
【００７６】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる）は、プログラム可能なプロセッサ用の機械命令を含み、高レベルの手続き形言語および／もしくはオブジェクト指向プログラミング言語で、ならびに／またはアセンブリ言語／機械言語で実現できる。用語「機械読み取り可能な媒体」および「コンピュータ読み取り可能な媒体」は、本明細書において使用するとき、プログラム可能なプロセッサに機械命令および／またはデータを提供するために使われる、任意の非一時的なコンピュータプログラムプロダクト、装置、および／またはデバイス（たとえば、磁気ディスク、光学ディスク、メモリ（Ｒｅａｄ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙを含む）、ＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅｓ））を指す。
【００７７】
本明細書に記載のシステムおよび技術は、（たとえば、データサーバとしての）バックエンドコンポーネントを備えるコンピュータシステム、ミドルウェアコンポーネント（たとえば、アプリケーションサーバ）を備えるコンピュータシステム、フロントエンドコンポーネント（たとえば、本明細書に記載のシステムおよび技術の実施態様とユーザがやり取りできるグラフィカルユーザーインターフェースまたはウェブブラウザを有するクライアントコンピュータ）を備えるコンピュータシステム、または、このようなバックエンドコンポーネント、ミドルウェアコンポーネント、フロントエンドコンポーネントの任意の組合せを備えるコンピュータシステムで実現され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信（たとえば、通信ネットワーク）によって互いに接続され得る。通信ネットワークとして、ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、インターネットなどが挙げられる。
【００７８】
コンピュータシステムは、クライアントとサーバとを含み得る。クライアントおよびサーバは、一般に、互いから離れており、通常、通信ネットワークを通じてやり取りを行う。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作し、クライアントとサーバとの関係を互いに有するコンピュータプログラムによって成り立つ。
【００７９】
いくつかの実施態様を説明した。しかし、本発明の趣旨および範囲から逸脱することなく、様々な変更がなされてもよい。これに加えて、図示した論理フローは、所望の結果を実現するために、図示した特定の順序またはシーケンス順である必要はない。これに加えて、記載のフローにその他のステップが提供されてもよく、ステップが排除されてもよく、記載のシステムにその他の構成要素が追加されても削除されてもよい。したがって、その他の実施態様も添付の特許請求の範囲に含まれる。
【図１Ａ】
2021527858.tif 000003
【図１Ｂ】
2021527858.tif 000004
【図２】
2021527858.tif 000005
【図３】
2021527858.tif 000006
【図４】
2021527858.tif 000007
【図５】
2021527858.tif 000008
【手続補正書】
【提出日】令和2年12月11日(2020.12.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
アクセス管理されたリソースの要求をクライアントデバイスから受け付けるステップを含み、前記要求は、クライアントデバイス識別子を含み、前記方法は、さらに、
前記要求が認識済みの所在地と対応付けられていないと判断するステップと、
前記クライアントデバイス識別子の状態データを特定するステップと、
サーバにある前記アクセス管理されたリソースにアクセスするためのリンクを生成するステップと、
タイムスタンプと、乱数と、前記状態データからのライセンスリソース情報とを含む暗号化されたトークンを生成するステップと、
前記暗号化されたトークンを前記リンクに含めるステップと、
前記リンクを前記クライアントデバイスに提供するステップとを含み、前記リンクは、前記アクセス管理されたリソースを要求するために前記クライアントデバイスによって使われるように構成される、方法。
【請求項２】
前記要求は、第１要求であり、前記アクセス管理されたリソースは、第１のアクセス管理されたリソースであり、前記第１要求を受け付ける前に、前記方法は、
第２のアクセス管理されたリソースの第２要求を前記クライアントデバイスから受け付けるステップをさらに含み、前記第２要求は、前記クライアントデバイス識別子を含み、前記方法は、さらに、
前記第２要求が認識済みの所在地と対応付けられていると判断するステップと、
前記クライアントデバイスの前記状態データを生成するステップと、
前記状態データをメモリに格納するステップとを含む、請求項１に記載の方法。
【請求項３】
前記状態データは、タイムスタンプと、前記クライアントデバイス識別子と、ライセンスリソース情報とを含む、請求項１または２に記載の方法。
【請求項４】
前記ライセンスリソース情報は、前記認識済みの所在地を表す、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記ライセンスリソース情報は、前記認識済みの所在地と、前記認識済みの所在地が利用可能な管理リソースとを表す、請求項１〜３のいずれか１項に記載の方法。
【請求項６】
前記認識済みの所在地は、ドメイン名である、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記認識済みの所在地は、インターネットプロトコル（ＩＰ）アドレスである、請求項１〜５のいずれか１項に記載の方法。
【請求項８】
前記要求は、クエリであり、前記アクセス管理されたリソースは、前記クエリに応じたリソースである、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記クライアントデバイス識別子は、ユーザアカウントである、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
前記クライアントデバイスが前記アクセス管理されたリソースを要求するために前記リンクを使用するステップをさらに含み、前記リンクを使用するステップは、前記リンクを要求に含めて管理リソース用サーバに送るステップを含む、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
前記管理リソース用サーバにおいて、
前記アクセス管理されたリソースを求める前記要求に含まれる前記リンクを受け付けるステップと、
前記リンクに含まれる前記トークンを特定するステップと、
前記トークンの暗号化を解除するステップと、
前記タイムスタンプに基づいて前記トークンの期限が満了していないと判断し、前記ライセンスリソース情報に基づいて前記アクセス管理されたリソースが利用可能であると判断することによって、前記トークンを検証するステップと、
前記トークンが検証されたことに応答して、前記アクセス管理されたリソースを前記クライアントデバイスに提供するステップとを含む、請求項１０に記載の方法。
【請求項１２】
前記トークンを検証するステップは、前記トークンに含まれるＩＰサブネットが前記要求の送信元のＩＰアドレスのＩＰサブネットに一致すると判断するステップをさらに含む、請求項１１に記載の方法。
【請求項１３】
システムであって、
少なくとも１つのプロセッサと、
クライアントデバイスの状態データレコードを格納するデータストアと、
命令を格納するメモリとを備え、前記命令は、前記少なくとも１つのプロセッサによって実行されると、前記システムに動作を実行させ、前記動作は、
クライアントデバイス識別子を有するクライアントデバイスからクエリを受け付けることと、
前記クエリに応じた少なくとも１つのリソースが、アクセス管理されたリソースであると判断することとを含み、前記動作は、さらに、
前記アクセス管理されたリソースの認識済みの所在地に前記クエリが対応付けられていると判断することに応答して、
前記アクセス管理されたリソースへのリンクを生成することと、
前記クライアントデバイス識別子と、タイムスタンプと、前記認識済みの所在地との対応付けとを含む前記クライアントデバイスの状態データレコードを前記データストアにおいて生成することとを含み、前記動作は、さらに、
認識済みの所在地に前記クエリが対応付けられていないと判断することに応答して、
前記クライアントデバイス識別子についての期限が満了していない状態データレコードを前記データストアにおいて特定することを含み、前記動作は、さらに、
前記期限が満了していない状態データレコードを特定することに応答して、乱数と、タイムスタンプと、前記状態データレコードからのライセンスリソース情報とを含むトークンを生成し、前記アクセス管理されたリソースへのリンクに前記トークンを含めることを含み、前記動作は、さらに、
前記クライアントデバイス識別子についての前記状態データレコードを前記データストアにおいて特定できなかったことに応答して、前記トークンなしでリンクを生成することとを含み、前記動作は、さらに、
前記クエリの検索結果を前記クライアントデバイスに返すことを含み、前記検索結果は、前記リソースへのリンクを含み、
前記クライアントデバイスは、前記リソースへのリンクを使用してアクセス管理サーバからの前記リソースを要求し、前記アクセス管理サーバは、認識済みの所在地に対応付けられた要求からリソースへのアクセスを提供するように構成される、システム。
【請求項１４】
認識済みの所在地に対応付けられた要求からリソースへのアクセスを提供する際に、前記アクセス管理サーバは、
アクセス管理されたリソースへのリンクであって、所在地が対応付けられたリンクを特定のクライアントデバイスから受け付け、
前記所在地が認識済みの所在地であるかどうかを判断し、
前記所在地が認識済みの所在地であると判断することに応答して、前記アクセス管理されたリソースを提供し、
前記所在地が認識済みの所在地ではないと判断することに応答して、
期限が満了していないトークンを前記リンクが含むと判断することに応答して、前記アクセス管理されたリソースを提供し、
前記リンクがトークンを含んでいない判断する、または前記リンクに含まれるトークンの期限が満了していると判断することに応答して、前記アクセス管理されたリソースへのアクセスを拒否するように構成される、請求項１３に記載のシステム。
【請求項１５】
前記トークンは、前記要求のＩＰアドレスのＩＰサブネットをさらに含み、前記アクセス管理サーバは、前記所在地が認識済みの所在地ではなく、期限が満了していないトークンを前記リンクが含むと判断することに応答して、
前記特定のクライアントデバイスのＩＰサブネットが前記トークンに含まれるＩＰサブネットと一致するかどうかを判断し、
前記ＩＰサブネットが一致しないと判断することに応答して、前記アクセス管理されたリソースへのアクセスを拒否するように、さらに構成される、請求項１４に記載のシステム。
【請求項１６】
前記認識済みの所在地は、地理位置情報を表す、請求項１３〜１５のいずれか１項に記載のシステム。
【請求項１７】
前記認識済みの所在地は、ＩＰアドレスである、請求項１３〜１６のいずれか１項に記載のシステム。
【請求項１８】
前記トークンは、前記リンクに含まれる前に暗号化される、請求項１３〜１７のいずれか１項に記載のシステム。
【請求項１９】
方法であって、
アクセス管理されたリソースの要求をクライアントデバイスから受け付けるステップを含み、前記要求は、所在地を有し、前記方法は、さらに、
前記所在地が認識済みの所在地ではないと判断するステップと、
タイムスタンプと、乱数と、ライセンスリソース情報とを含むトークンを前記要求が含むと判断するステップと、
前記タイムスタンプに基づいて前記トークンの期限が満了していないと判断するステップと、
前記ライセンスリソース情報によって識別されるリソースが前記要求されたリソースと一致すると判断するステップと、
前記アクセス管理されたリソースを前記クライアントデバイスに提供するステップとを含み、
上記以外の場合、前記クライアントデバイスは、前記アクセス管理されたリソースへのアクセスを拒否する、方法。
【請求項２０】
前記トークンは、暗号化されており、前記方法は、前記トークンの暗号化を解除するステップをさらに含む、請求項１９に記載の方法。
【請求項２１】
前記トークンは、ＩＰサブネットをさらに含み、前記方法は、前記トークンに含まれるＩＰサブネットと一致するＩＰサブネットを前記クライアントデバイスのＩＰアドレスが含むと判断するステップをさらに含む、請求項１９または２０に記載の方法。
【請求項２２】
前記乱数によって識別される前記トークンのカウンタをインクリメントするステップと、
前記トークンのカウンタがしきい値に達していないと判断するステップとをさらに含む、請求項１９〜２１のいずれか１項に記載の方法。
【国際調査報告】
2021527858.tif 000009
2021527858.tif 000010