(58)【調査した分野】(Int.Cl.,DB名)
前記ユーザ・スコアを、前記ユーザ採点ポリシを前記複数の分類の各々に適用することで前記ユーザ・スコアを更新することによって計算し、前記ユーザ採点ポリシが、前記複数の分類の各々がそれにより前記ユーザ・スコアを変更できる因子を含むことを特徴とする請求項1に記載の方法。
当該システムは、ローカル・エリア・ネットワーク内のサーバ装置に配置され、前記URL要求が前記ローカル・エリア・ネットワーク内のクライアント装置により生成されることを特徴とする請求項12に記載のシステム。
【発明を実施するための形態】
【0008】
URL監視システムは、ユーザの履歴に基づいてウェブサイトまたは他のURLへのアクセスを許可または拒否することができる。ユーザの履歴を、ユーザが時間とともに訪問したURLの分類に基づいてスコアの形で収集してもよい。それぞれの訪問したURLには1つまたは複数の分類があってもよく、ユーザの履歴を、URLの各分類に基づいて値を加えるかまたは減ずることによって纏めてもよい。
【0009】
スコアを短期間ベースで計算してユーザの現在の意図を特定してもよい。例えば、ユーザの数分間の閲覧履歴を使用して、ユーザの意図を推論してもよく、ユーザの現在の意図と同一の分類を有するウェブサイトへのアクセスを許可してもよい。
【0010】
スコアを長期間ベースで計算してインターネット閲覧ポリシに対するユーザの順守を反映してもよく、当該スコアにより、当該ポリシを定義した企業の観点からユーザの一般的な信頼度を反映してもよい。疑わしい分類を有するウェブサイトを閲覧することを、信頼度が高いユーザに許可してもよく、信頼度スコアが低いユーザには許可しなくともよい。
【0011】
URL監視システムは、どのようにユーザのスコアを計算できるか、ならびにURLへのアクセスを許可または拒否するための基準を定義できる、1組のポリシを有してもよい。URL監視システムは、クライアント装置で、エッジ・デバイスで、または少なくとも部分的にクラウド・ベースのシステム内で、動作してもよい。幾つかの実施形態では、URL監視システムのコンポーネントの一部を様々な装置においてもよい。多くの場合、URL監視システムはユーザが訪問しうる特定のサイトを追跡せず、分類スコアまたは分類スコアのサマリ統計(summary statistics)のみを追跡してプライバシの問題を排除してもよい。
【0012】
本明細書および特許請求の範囲にわたって、「URL」という用語はユニフォーム・リソース・ロケータ(Uniform Resource Locator)のことをいう。類似の用語には、URI(Uniform Resource Identifier)、URN(Uniform Resource Name)、「ウェブサイト」、「サイト」、「ネットワーク・アドレス」、および他の用語がある。「URL」という用語を用いて要求アドレスを表す。当該要求アドレスに対し、レピュテーション・サービスが分類を提供することができる。一般に、URLは、リモート装置から要求しうるウェブサイト、ウェブ・サービス、アプリケーション、または他の情報であってもよい。
【0013】
本明細書では、同一の参照番号は添付図面の説明にわたって同一の要素を表す。
【0014】
要素を「接続する」または「結合する」というとき、当該要素を互いと直接に接続もしくは結合することができ、または、1つもしくは複数の介在要素が存在してもよい。対照的に、要素を「直接に接続する」または「直接に結合する」というとき、介在要素は存在しない。
【0015】
本発明を装置、システム、方法、および/またはコンピュータ・プログラム製品として具体化してもよい。したがって、本発明の一部または全部を、ハードウェアでおよび/またはソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコード、状態機械、ゲート・アレイ等を含む)で具体化してもよい。さらに、本発明が、命令実行システムでもしくはそれと関連して使用するために媒体で具現化したコンピュータ利用可能またはコンピュータ読取可能なプログラム・コードを有する、コンピュータ利用可能またはコンピュータ読取可能な記憶媒体上のコンピュータ・プログラム製品の形をとってもよい。本明細書の文脈では、コンピュータ利用可能またはコンピュータ読取可能な媒体は、命令実行システム、機器、もしくは装置でまたはそれらと関連して使用するためのプログラムを含み、格納し、通信し、伝播し、または転送できる任意の媒体であってもよい。
【0016】
コンピュータ利用可能またはコンピュータ読取可能な媒体は、例えば、電子、磁気、光、電磁気、赤外線、もしくは半導体のシステム、機器、装置、または伝播媒体であってもよいが、これらに限らない。限定ではなく例として、コンピュータ読取可能媒体はコンピュータ記憶媒体および通信媒体を備えてもよい。
【0017】
コンピュータ記憶媒体には、コンピュータ読取可能命令、データ構造、プログラム・モジュール、または他のデータのような情報を記憶するための任意の方法または技術で実装した、揮発性および不揮発性の媒体、取外し可能および取外し不能な媒体が含まれる。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュ・メモリもしくは他のメモリ技術、CD−ROM、DVD(digital versatile disk)もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報の記憶に使用でき命令実行システムによりアクセス可能な他の任意の媒体が含まれるがこれらに限らない。コンピュータ利用可能またはコンピュータ読取可能な媒体が、プログラムが印刷された紙または他の適切な媒体でありうることに留意されたい。なぜならば、プログラムを、例えば当該紙または他の適切な媒体を光学的にスキャンして電気的に取得し、次いで必要ならばコンパイルし、解釈し、あるいは適切に処理して、コンピュータ・メモリに格納することができるからである。
【0018】
通信媒体は一般に、コンピュータ読取可能命令、データ構造、プログラム・モジュール、または他のデータを、搬送波または他の伝送機構のような変調データ信号で具現化し、任意の情報伝達媒体を含む。「変調データ信号」という用語は、1つまたは複数のその特性集合を有するかまたはその信号内の情報をエンコードするように変化した信号を意味する。限定ではなく例として、通信媒体には、有線ネットワークまたは直接配線接続のような有線媒体、ならびに、音響、RF、赤外線、および他の無線媒体のような無線媒体が含まれる。上記の任意の組合せもまた、コンピュータ読取可能媒体の範囲に含まれるべきである。
【0019】
本発明をコンピュータ実行可能命令の一般的なコンテキストで具体化する場合、実施形態は、1つまたは複数のシステム、コンピュータ、または他の装置により実行されるプログラム・モジュールを備えてもよい。一般に、プログラム・モジュールは、特定のタスクを実施するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。一般に、プログラム・モジュールの機能を、様々な実施形態において必要に応じて組み合わせるか、または、分散させてもよい。
【0020】
図1は、1実施形態100の図であり、URLへのアクセスを許可または拒否するためのシステムを示す。実施形態100は、ユーザのスコアを更新して様々なURLを閲覧するときの信頼性および意図を推論できるシステムの簡単な例である。
【0021】
図1は、システムの機能的なコンポーネントを示す。幾つかのケースでは、コンポーネントが、ハードウェア・コンポーネント、ソフトウェア・コンポーネント、またはハードウェアとソフトウェアとの組合せであってもよい。コンポーネントの一部がアプリケーション・レベルのソフトウェアであってもよく、その他のコンポーネントがオペレーティング・システム・レベルのコンポーネントであってもよい。幾つかのケースでは、或るコンポーネントの別のコンポーネントに対する接続が近接接続であってもよく、この場合、複数のコンポーネントが単一のハードウェア・プラットフォームで動作している。他のケースでは、当該接続を、長距離に跨るネットワーク接続を介して構成してもよい。各実施形態では、説明した機能を実現するための様々なハードウェア、ソフトウェア、および相互接続アーキテクチャを使用してもよい。
【0022】
実施形態100はネットワーク環境の1例を表す。当該ネットワーク環境においては、ユーザの閲覧履歴を用いて当該ユーザがURLにアクセスできるか否かを判定することができる。当該ユーザの履歴により、ユーザを信頼できユーザが一般的な閲覧ポリシを順守しているかを示してもよく、1つのセッションにおけるユーザの意図を示してもよい。
【0023】
多くの場合、URLには幾つかのクラスを含む分類が存在することがある。当該クラスうちの一部をアクセス・ポリシによって許可してもよく、当該クラスの一部を当該アクセス・ポリシにより拒否してもよい。ユーザがかかるURLに遭遇すると、好ましい閲覧履歴を有するユーザには、好ましいクラスおよび好ましくないクラスの両方を含みうるURLへのアクセスを許可することができる。好ましい閲覧履歴を有さない別のユーザには、当該URLへのアクセスを許可することはできない。
【0024】
ユーザの閲覧履歴をユーザ・スコアとして表してもよい。訪問した各URLで当該スコアを更新してもよく、短期間におけるユーザの意図を反映するために、または、長期間におけるユーザの信頼性全体として、当該スコアを用いてもよい。
【0025】
短期間の指標として、幾つかの「良い」URLを訪問したユーザは「良い」クラスのURLを検索または閲覧していると仮定してもよく、「良い」クラスおよび「悪い」クラスの両方を含む次のURLを訪問したとき、当該ユーザに疑わしきは罰せずの利益を与え、当該URLへのアクセスを許可してもよい。
【0026】
例えば、企業のアクセス・ポリシにより、ユーザが「旅行」と分類されたサイトを閲覧できるが「ショッピング」と分類されたサイトは閲覧できないと仮定する。この企業のポリシは、勤務時間中に従業員がショッピングをしてオンラインで購入することを制限しようとするものかもしれない。ユーザが、「旅行」および「ショッピング」の両方で分類されたサイトを訪問しようとすると、アクセス・ポリシにより「旅行」は許可するが「ショッピング」は拒否してもよく、したがって、ユーザの直近の閲覧履歴が当該サイトへのアクセスを許可または拒否する上での要因となりうる。
【0027】
当該例を続けると、「旅行」および「ショッピング」の両方で分類されたサイトを閲覧しようとする数分前に「旅行」サイトを訪問したユーザは当該サイトを訪問できるとしてもよい。なぜならば、当該ユーザが「ショッピング」よりも「旅行」に関心があると当該ユーザの意図を推論できるからである。「旅行」および「ショッピング」の両方で分類されたサイトを訪問する前に「ショッピング」サイトを閲覧しようとして失敗した別のユーザには当該サイトを訪問できないようにしてもよい。なぜならば、当該ユーザの動作において「ショッピング」サイトを訪問する意図が推論されるからである。
【0028】
幾つかの実施形態では、ユーザの短期間の閲覧履歴を使用して、責任を持って従順にインターネットのリソースを使用するユーザの意図を推論してもよい。かかる実施形態では、1つのセッションまたは短期間のユーザの閲覧履歴を1つのユーザ・スコアに纏めてもよい。ユーザ・スコアを使用して、アクセス・ポリシに従って、疑わしいまたは相反する分類を有するURLへのアクセスを許可または拒否してもよい。
【0029】
長期間の指標として、従業員の閲覧履歴を、多数の閲覧セッションにわたって持続し何日間または何ヶ月、何年にもわたって持続しうる1つのユーザ・スコアに纏めてもよい。この長期間の指標により、企業のアクセス・ポリシに対するユーザの順守を推論し、当該指標を、従業員が責任を持ってインターネットのリソースを使用するにつれて形成してもよい。自己のユーザ・スコアを十分に高いレベルまで増大させた従業員は、疑わしいまたは相反する分類を有するURLを閲覧できるとしてもよく、新入社員または責任あると示されなかった者にはアクセス権限を付与しなくてもよい。
【0030】
1つの使用シナリオでは、ユーザ・スコアを、新入社員の教育支援または試用的な監視として使用してもよい。新入社員には十分に低いデフォルトのユーザ・スコアを与えてもよく、それにより新入社員は、そのサイトがさらに「良い」分類を有しているとしても、望ましくない分類がないサイトに対してのみアクセスすることができる。時間とともに、新入社員は「良い」サイトのみ閲覧することができ、自己のスコアを増大させて、自己の責任ある振舞いを反映することができる。スコアが増大すると、時には「悪い」と分類されうるサイトを含めて、ユーザはインターネットにより広くアクセスできるようになる。
【0031】
一部の従業員は、ウェブサイトまたは電子メール内の広告をクリックする、またはフィッシング・メールに応答する習慣があるかもしれない。かかる習慣により、従業員のユーザ・スコアが時間とともに非常に低くなってしまうかもしれない。ユーザ・スコア・システムにより、かかる悪い習慣を回避し、企業のアクセス・ポリシと整合するサイトを閲覧するように、かかる従業員を教育することができる。従業員が問題あるウェブサイトの閲覧を回避すると、当該従業員のユーザ・スコアは増大し、インターネットにもっとアクセスできるようになる。
【0032】
ユーザ・スコアには、幾つかの異なる実施形態が存在しうる。1実施形態では、ユーザ・スコアが、訪問した各URLで修正できる単一の値であってもよい。かかる実施形態では、スコアを残りのURLに対して計算し、当該スコアを過去のユーザ・スコアに加えて最新のユーザ・スコアを生成してもよい。
【0033】
各URLのレピュテーションが複数の分類を含みうるので、ユーザ・スコアのポリシにより、当該URLの分類ごとに式または重みスケールを定義してもよい。当該式または重みスケールを使用してURLのサマリ・スコアを計算してもよい。
【0034】
例えば、ユ−ザ・スコアのポリシにより、「良い」分類に正の値を与え、「悪い」分類に負の値を与えてもよい。特定のURLの値を総和してクラスの数で除すことにより、当該URLの「平均」スコアを計算してもよい。当該スコアは正または負の値でありうる。かかる実施形態により、幾つかの「良い」クラスを他のクラスより高く評価し、幾つかの「悪い」クラスを他のクラスよりも厳しく評価してもよい。
【0035】
かかる1つの実施形態では、単一のスコアをURL分類から計算してもよく、単純移動平均、累積移動平均、加重移動平均、指数加重移動平均、または他のスコア更新技法を使用してもよい。比較的短期間について求めた移動平均は短期間の指標に対して有用な予測因子であり、長期間について求めた移動平均は長期間の指標に対して有用な予測因子でありうる。
【0036】
別の実施形態では、ユーザ・スコアを、URLレピュテーション・サービスが提供できる多数のクラスごとに別々に保持してもよい。例えば、URLレピュテーション・サービスが返すクラスごとに数値を更新してもよい。ユーザは、「旅行」、「ショッピング」、「ポルノ」、「フィッシング」、「趣味」、「ソーシャル・ネットワーキング」、「宗教」、「政治」、または多数の分類のうち何れかのようなクラスごとに最新の値を有してもよい。複数の分類を含むURLが要求される度に、個々のクラスに対して各値を更新し、次いで、様々な分類に対して記憶した値全てからサマリ統計またはユーザ・スコアを計算してもよい。
【0037】
ユーザ・スコアを更新するための別の方法の例を、本明細書で後に提示する実施形態300および400に見出すことができる。
【0038】
ユーザ・スコアと無関係にアクセスが許可されない幾つかのクラスが存在しうる。例えば、既知のフィッシング・サイト、既知のマルウェアを伴うサイト、ポルノ、または他の分類を、ユーザ・スコアと無関係に禁止してもよい。あまり望ましくないが禁止されるクラスではない他のサイト、例えば上の例では「ショッピング」のサイトを、ユーザ・スコアが高いユーザに許可してもよい。
【0039】
実施形態100はURLレピュテーション・サービスが動作できる環境を示す。装置102は、ハードウェア・コンポーネント104およびソフトウェア・コンポーネント106を有するとして示されている。図示した装置102は、ユーザが様々なURLにアクセスすることでインターネット上のリソースにアクセスできる汎用装置であってもよい。
【0040】
装置102は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、サーバ・コンピュータ、または他の装置のような汎用コンピュータであってもよい。幾つかのケースでは、装置102が、携帯電話、ハンドヘルド・スキャナ、ノートブック・コンピュータ、または他の装置のようなポータブル装置であってもよい。装置102が、ネットワーク機器、ゲーム・コンソール、または他の装置であってもよい。
【0041】
ハードウェア・コンポーネント104が、プロセッサ108、ランダム・アクセス・メモリ110、および不揮発性記憶装置112を備えてもよい。ハードウェア・コンポーネント104が、ネットワーク・インタフェース114およびユーザ・インタフェース116を備えてもよい。
【0042】
ソフトウェア・コンポーネント106が、1つまたは複数のアプリケーション130を実行できるオペレーティング・システム118を備えてもよい。ユーザはアプリケーション130を動作させて様々なURLにアクセスすることができる。かかるアプリケーションのうち典型的な種類のものは、例えば、ウェブ・ブラウザであろう。
【0043】
装置102は、ユーザのスコアおよびURLのレピュテーション分類に基づいて様々なURLへのアクセスを許可または拒否することができる。装置102は、URL要求の検出およびURL分類の処理を装置102によって実施できる例を示す。幾つかの実施形態では、URL要求の検出およびURL分類の処理の一部を他の装置によって実施してもよい。
【0044】
オペレーティング・システム118がネットワーク・スタック120を備えてもよい。ネットワーク・スタック120は、ネットワーク接続を介して通信するために使用されるコンポーネントを表現することができる。URL検出器122をネットワーク・スタック120に追加してもよい。URL検出器122が、URL要求がユーザによって生成されたことを検出し、当該URLをURLレピュテーション・エンジン124に移してもよい。URLレピュテーション・エンジン124は、当該URLをURLレピュテーション・サービス144に送信し、当該URLに関する1組の分類を受け取ることができる。
【0045】
URL検出器122はネットワーク・トラフィックを監視して、ネットワーク・ストリームを介して行われたURL要求を特定することができる。多くの場合、URL検出器122は、装置102のどのユーザが要求を開始したかを判定することができ、その結果、特定のユーザ・スコアを更新することができる。URL検出器122はまた、様々なアプリケーション130のうちどれがURL要求を生成したかを判定することができる。
【0046】
URL検出器122を用いる諸実施形態では、1人のユーザに対して、URL要求を複数のアプリケーション130から取得し、1つのアプリケーションでの行動に限らず、ユーザの行動全てに基づいてユーザ・スコアを更新できてもよい。URL検出器122を用いる諸実施形態では、URL検出器122をオペレーティング・システム環境内にインストールするインストール機構を備えてもよい。
【0047】
他の実施形態では、様々な機構を用いてURL要求を検出してもよい。例えば、アプリケーション130が、アプリケーション130に追加できURL要求を特定できるプラグイン131を備えてもよい。プラグイン131はURLレピュテーション・エンジン124およびアクセス制御エンジン126と対話して、URLレピュテーション情報を収集し、要求されたURLへのアクセスを許可するか否かを判定してもよい。
【0048】
URL検出器122を用いる諸実施形態では、ユーザがそれにより様々なURL監視コンポーネントを回避できる機構を何ら許可することなく、1つの装置からの全てのURLアクセスを管理できてもよい。幾つかの装置では、多くの様々なアプリケーション130がURL要求を送信し、リモート・ウェブサイトからの情報を表示することができる。かかる多くのアクセスではウェブ・ブラウザを使用しているかもしれないが、ワード・プロセッシング・プログラム、スブレッドシート、電子メール・クライアント、および他のアプリケーションのような他のアプリケーションが、URLを検索しURLの内容を表示するための機能を備えているかもしれない。場合によっては、これらのアプリケーションがウェブ閲覧機能も有していることがある。
【0049】
プラグイン131を使用してURL要求を検出する諸実施形態は、ユーザの動作を短期間追跡してユーザの意図を推論できる諸実施形態において有用でありうる。なぜならば、プラグイン131が1つのアプリケーションに対して1つの閲覧セッションから情報を収集できるからである。例えば、プラグイン131が、タブ・ブラウザ内の1つのタブの動作からユーザの意図を推論できてもよい。例えば、URL検出器122が、複数の閲覧セッションおよびURL要求を複数のアプリケーションから集約してもよく、アプリケーションを区別または1つのブラウザのタブ・セッションを区別できてもできなくてもよい。
【0050】
URLレピュテーション・エンジン124がURLを受け取り、URLレピュテーション・サービス144と通信してURLの分類を決定してもよい。各URLレピュテーション・サービスがURL分類を様々なやり方で決定してもよい。一般に、URLレピュテーション・サービス144は、URLを受け取って1組の分類を返すことができる。当該1組の分類に基づいて、アクセス制御エンジン126がアクセス・ポリシ132を用いて分類を評価してもよい。URLレピュテーション・サービス144がアクセスを許可または拒否するのではなく、単にURLに関する情報を提供して、当該URLをどのように処理するかを局所的に決定できるようにしてもよい。
【0051】
アクセス・ポリシ132が、実装形態ごとおよびユーザごとに異なってもよい。夫々のケースでは、アクセス・ポリシ132により、分類に何らかの値を割り当てて、当該分類に対する「良さ」または「悪さ」の値を決定してもよい。例えば、幾つかの実施形態では、「宗教」の分類を「悪い」と考え、他の実施形態では、「宗教」の分類を「良い」と考えてもよい。さらに他の実施形態では、「宗教」の分類を「中間」と考えてもよい。
【0052】
アクセス・ポリシ132により、管理者が適合するとみなすように、様々な環境で様々な種類のURLを扱うことができるようにしてもよい。子供が装置102を使用するかもしれない自宅の環境では、親は、他の環境では許可または推奨されうる幾つかのクラスのURLを禁止したいかもしれない。
【0053】
URLレピュテーション・サービス144が提供する分類は、想到しうる任意の種類の分類であってもよい。多くのURLレピュテーション・サービスが、フィッシング・サイト、マルウェアを含みうるサイト等のような、潜在的なセキュリティ問題を示すクラスを提供してもよい。幾つかのURLレピュテーション・サービスが、ソーシャル・ネットワーキング、デート、ショッピングのような、かかるサイトにアクセスしたときに従業員の生産性が減少しうる、潜在的な労働者の生産性問題を示すクラスを含んでもよい。さらに他のURLレピュテーション・サービスが、エンジニアリング、コンピュータ・サイエンス、医薬、ビジネス管理、または他のクラスのような、URLの話題内容に関するクラスを含んでもよい。幾つかのURLレピュテーション・サービスが少数のクラスのみを提供してもよいし、他のURLレピュテーション・サービスがURLを、場合によってはクラス階層で構成される、無数のクラスからなる範疇に分類してもよい。
【0054】
アクセス制御エンジン126が、アクセス・ポリシ132を適用した後にURL分類に基づいてURLへのアクセスを許可または拒否してもよい。別の諸実施形態では、様々な機構を用いてアクセスを許可または拒否してもよい。1実施形態では、アクセス制御エンジン126が、通信をURL自体に送信する前にURL要求が拒否されると判定してもよい。かかる実施形態では、アクセス制御エンジン126が、アクセスが拒否されたことを示すURL要求に対する応答メッセージを生成し、当該応答を、当該URL要求が送信された通信チャネル上で送信してもよい。当該アクセス制御エンジンがURLへのアクセスを許可する場合、外向きのURL要求がURL174に送信され、応答を要求側のアプリケーションによって受け取ってもよい。
【0055】
別の実施形態では、URL要求がURL174に送信されている間に、URLレピュテーション・エンジン124がURLを受け取ってもよい。当該URLがユーザにアクセスされうる前に、URLレピュテーション・エンジン124が分類データを収集し、レピュテーション情報をアクセス制御エンジン126に渡してもよく、URL174から受け取った情報を、アクセス制御エンジン126がアクセスを許可するまでキャッシュしてもよい。上記2つの実施形態の違いは、URLへのアクセス許可がURL要求をURL174に送信する前に判定されるか否かである。これらの実施形態の間では、1番目の実施形態では帯域幅を保存できるが応答時間が犠牲となり、2番目の実施形態では応答時間を向上できるが帯域幅が犠牲となる、ということがトレードオフとなろう。
【0056】
URLレピュテーション・エンジン124はURL分類情報をユーザ・スコア・エンジン134に提供してもよい。ユーザ・スコア・エンジン134はユーザ・スコア・ポリシ136を用いてユーザ・スコア128を更新してもよい。ユーザ・スコア128を使用して、URLへのアクセスを許可するか否かを判定してもよい。
【0057】
ユーザ・スコア128は、URLへのアクセスを許可または拒否するためにアクセス制御エンジン126が使用する要素であってもよい。スコアが高いユーザにはアクセスを許可してもよく、スコアが低いユーザには同じURLへのアクセスを拒否してもよい。スコアが高いユーザがアクセス・ポリシ132を順守していると推論し、したがって他のユーザよりも信頼できるとしてもよい。
【0058】
ユーザ・スコア・ポリシ136は、ユーザ・スコア128を計算し更新するために使用できる式、アルゴリズム、または様々なパラメータを含んでもよい。当該式には、分類の一般的な「良さ」または「悪さ」を示す加算器、重み因子、重要度因子、または他の機構を含めてもよく、当該式により、ユーザが「良い」サイトを訪問したときにユーザ・スコア128を上げ、ユーザが「悪い」サイトを訪問したときにユーザ・スコア128を下げてもよい。
【0059】
多くの実施形態では、ユーザ・スコア・ポリシ136は、アクセスが許可されるクラスもユーザ・スコアを上げうるという点でアクセス制御ポリシ132と同様であるかもしれない。しかし、幾つかの実施形態では、別の因子をアクセス制御ポリシに関してユーザ・スコアの計算に適用してもよい。例えば、拒否されたクラスに対する相対的な重要度または順位でアクセス制御ポリシを定義してもよく、未定義の他のクラスへのアクセスを許可してもよい。対応するユーザ・スコア・ポリシが、「悪い」と考えられるクラスと「良い」と考えられるクラスの両方に関する因子を有してもよい。
【0060】
ユーザ・スコア128がユーザの閲覧履歴を反映してもよいが、ユーザが訪問したサイトそのものを含まなくてもよい。ユーザのプライバシに配慮するように、各サイトをサイトそのものではなくスコアのみとして表現してもよい。管理者のような別の者は、ユーザの閲覧履歴をユーザ・スコア128から判定することはできず、ユーザがユーザ・スコア・ポリシ136で定義した閲覧規則をどの程度良く順守しているかを判断できるのみであってもよい。
【0061】
装置102をローカル・エリア・ネットワーク138に接続してもよい。ローカル・エリア・ネットワーク138をゲートウェイ140に接続して、広域ネットワーク142へ接続してもよい。
【0062】
装置102が、1つの装置がURLの検出、URLレピュテーション・サービスからのURL分類の決定、ユーザ・スコアの更新、ならびに、分類およびユーザ・スコアに基づくURLへのアクセスの許可または拒否といった機能を実施できる1実施形態を表してもよい。
【0063】
幾つかの実施形態では、URL監視システムの特定のコンポーネントをゲートウェイ140またはプロキシ160に含めてもよい。これらの他の構成が一部の機能をローカル・エリア・ネットワーク138内部で集中的に実施してもよく、装置102のようなクライアント装置に様々なコンポーネントをインストールする必要なしに動作可能であってもよい。かかる実施形態では、多数のクライアント168に対してURL監視サービスを集中的に実施してもよく、速度を向上させ帯域幅を狭めうるキャッシングまたは他の機能を有してもよく、マルウェア・スキャニングのような様々なセキュリティ監視機能を提供してもよい。
【0064】
ゲートウェイ140は、ローカル・エリア・ネットワーク138を広域ネットワーク142と接続する装置であってもよい。広域ネットワーク142はインターネットまたは他の広域ネットワークであってもよい。ゲートウェイ装置140が「エッジ」デバイスであってもよい。
【0065】
プロキシ160が、広域ネットワーク142への全てのネットワーク・トラフィックがそれを通って流れうる装置であってもよい。プロキシを使用して、セキュリティ上の理由から内部ネットワーク・アドレスを不明瞭化したり、キャッシングを用いてネットワーク・アクセスの速度を上げたり、内向きおよび外向きの通信をスキャンしてマルウェアを探索してもよく、または、他の目的でプロキシを使用してもよい。幾つかの実施形態では、ゲートウェイ140が、プロキシに関して説明したのと同じ機能のうち多くまたは全てを実施してもよい。
【0066】
URL検出器154をゲートウェイ140にインストールしてもよい。URL検出器154は装置102のURL検出器122と同様に動作してもよく、この場合、URL検出器154がネットワーク・スタックの一部であり、ネットワーク通信ストリーム上のURL要求を特定してもよい。URL検出器154がURL要求を特定すると、URLレピュテーション・エンジン156がURLをURLレピュテーション・サービス144に送信し、URL分類を受け取ることができる。アクセス制御エンジン158はユーザ・スコアに基づいてURLへのアクセスを許可または拒否することができる。
【0067】
ゲートウェイ140と同様に、プロキシ160がURL検出器162、URLレピュテーション・エンジン164、およびアクセス制御エンジン166を備えて同様な機能を実施してもよい。多くの実施形態では、様々なURL監視機能をプロキシ160またはゲートウェイ140の何れかに展開させてもよいが、一般に両方には展開させない。本明細書および特許請求の範囲の目的で、ゲートウェイ140に属するURL監視動作をプロキシ160に適用してもよい。
【0068】
アクセス制御エンジン158または166を装置102から離れて配置する実施形態では、当該アクセス制御エンジンがユーザ・スコアを使用してURLへのアクセスを許可または拒否するか否かを判定してもよい。幾つかの実施形態では、装置102がユーザ・スコア128を含んでもよく、アクセス制御エンジン158または166がユーザ・スコア128を装置102に要求してもよい。他の実施形態では、ドメイン・サーバ176がユーザ・アカウント178を含み、ユーザ・アカウント178がユーザ・スコアを含んでもよい。
【0069】
ユーザ・スコアをユーザの装置102から離れて配置する実施形態では、ユーザ・スコアを、ドメイン・サーバ176上のユーザ・アカウント・データベースのような安全なデータベースに配置してもよい。多くの実施形態では、ユーザが訪問した特定のサイトに対する参照をユーザ・スコアが何ら含まずサマリ統計のみを含む場合であっても、ユーザ・スコアを個人情報と捉えてもよい。
【0070】
ポリシ・サーバ146をローカル・エリア・ネットワーク138に接続してもよく、ローカル・エリア・ネットワークにわたってアクセス・ポリシおよびユーザ・スコア・ポリシを生成し、修正し、配信してもよい。ポリシ・サーバ146はポリシ・エンジン148を備えてもよい。当該ポリシ・エンジン148が、アクセス・ポリシ150およびユーザ・スコア・ポリシ152を生成し、当該ポリシを、装置102を含めて様々なクライアント168に配布してもよい。
【0071】
アクセス・ポリシ150およびユーザ・スコア・ポリシ152を、ローカル・エリア・ネットワーク138の全ユーザに適用される一般的なポリシとして構成してもよい。幾つかの実施形態では、複数の異なる組のポリシを用いてもよい。例えば、第1の組のポリシを、ドメイン・サーバ176に対して認証するユーザに適用し、第2の組のポリシをゲストまたは未認証のユーザに適用してもよい。別の例では、幾つかの組のポリシをユーザ・グループに適用し、或る組のポリシが製造現場でアクセスできる装置に適用され、別の組のポリシがコール・センタ内の装置に適用され、第3の組のポリシが技術開発部門および管理部門内の装置に適用されるようにしてもよい。
【0072】
幾つかの実施形態では、URL監視サービスの一部をローカル・エリア・ネットワーク138の外で提供してもよい。例えば、ポリシ・サーバ170またはプロキシ172に広域ネットワーク142を通してアクセスしてもよい。
【0073】
図2は、URLアクセスを監視し制御する方法を示す実施形態200の流れ図である。実施形態200は、実施形態100で説明したような様々なURL監視コンポーネントにより実施できるステップの簡単な例である。
【0074】
他の実施形態では、別の並び、より多くまたはより少ないステップ、および別の術語または用語を用いて同様な機能を実現してもよい。幾つかの実施形態では、様々な動作または様々な組の動作を他の動作と並列に、同期的または非同期的に実施してもよい。ここで選択したステップは、幾つかの動作原理を簡潔に示すために選んだものである。
【0075】
実施形態200は、URLの分類およびユーザ・スコアに基づいてURLへのアクセスを許可または拒否するために使用できるプロセスの1例である。ユーザ・スコアを更新し、ユーザ・スコアを使用して、所定のアクセス・ポリシに対する長期的な順守を示すこと、ならびに特定の閲覧セッション中の短期的なユーザの意図を示すことができる。
【0076】
ブロック202で、URLアクセス・ポリシを受け取ることができる。ブロック204で、ユーザ採点ポリシを受け取ることができる。アクセス・ポリシを、例えば、ポリシ・サーバのような別の装置から受け取ってもよい。
【0077】
アクセス・ポリシにより、URL分類に基づいてURLへのアクセスを許可または拒否するのに使用できるパラメータを定義してもよい。アクセス・ポリシを、URLへのアクセスの判定に用いられるアルゴリズム、式、または他の機構により使用してもよい。多くの場合、アクセス・ポリシにより、URLを採点する方法、およびURLスコアをユーザ・スコアと比較してURLへのアクセスを判定する方法を定義してもよい。
【0078】
URLを採点するための1実施形態では、URLの分類ごとに様々な重み因子を適用してもよい。当該重み因子を平均してURLのスコアを決定してもよい。当該URLのスコアをユーザ・スコアと比較するために、乗算器を使用してもよい。かかる実施形態は、機構の1例にすぎない。
【0079】
ブロック206でURL要求を検出することができる。
【0080】
ブロック208で、URLがユーザによって生成されたか否かを判定するための分析を実施することができる。URLがユーザによって生成されなかった場合は、ブロック210で当該URLを無視してもよい。
【0081】
多くのウェブサイトでは、或るURLへの呼出しの結果、より多くのURLが呼び出されることがある。例えば、1つのURLで1つのウェブサイトのページを呼び出すと、そのウェブ・ページを多種多様なサーバからのコンテンツで埋めるために様々な広告サーバまたは他のウェブサイトに問い合わせることになりうる。
【0082】
ブロック208での分析により、URL呼出しが、例えば第1のウェブサイトにより呼び出されたかまたはリンクされたウェブサイトではなく、ユーザが訪問する特定のウェブサイトを選択した結果であるかどうかを判定してもよい。かかる分析では、URL監視をユーザが呼び出した元のURLのみに適用してもよく、元のURLがリンクするか呼び出しうるURLの全てを分析しなくともよい。これは、例えば、URLが、第1のURLがロードされるたびに変化しうる広告の呼出しを行い、ユーザ・スコアに悪影響を及ぼしうる場合に有用である可能性があり、当該URLが閲覧されるか否かは無関係である。
【0083】
ブロック212でURLをURLレピュテーション・サービスに送信することができ、ブロック214でURL分類を受け取ることができる。
【0084】
ブロック216で、URL分類をURLアクセス・ポリシごとに分析することができる。多くの場合、URLアクセス・ポリシにより、アクセス・ポリシで定義したパラメータに基づいてURLのスコアまたは評価を生成してもよい。
【0085】
ブロック218で、URL分類を用いて、ユーザ採点ポリシごとにユーザ・スコアを更新することもできる。ユーザ・スコアを更新する2つの例を、後に本明細書で提示する実施形態300および400で説明する。
【0086】
ブロック220で、ユーザ・スコアおよびURLスコアに基づいて、URLへのアクセスを許可または拒否する判定を行うことができる。ブロック220でURLを許可する場合、ブロック222でユーザにアクセスを許可することができる。ブロック220でURLを許可しない場合は、ブロック224でURLの受信を停止し、ブロック226で置換メッセージをユーザのアプリケーションに送信することができる。
【0087】
図3は、ユーザ・スコアを更新する方法を示す実施形態300の流れ図である。実施形態300は、ユーザ・スコアを計算または更新するために実施できるステップの簡単な例であり、URL分類ごとに別々のスコアが保持される。
【0088】
他の実施形態では、別の並び、より多くまたはより少ないステップ、および別の術語または用語を用いて同様な機能を実現してもよい。幾つかの実施形態では、様々な動作または様々な組の動作を他の動作と並列に、同期的または非同期的に実施してもよい。ここで選択したステップは、幾つかの動作原理を簡潔に示すために選んだものである。
【0089】
実施形態300は、URLレピュテーション・サービスから受け取った1組のURL分類に基づいてユーザ・スコアを更新する方法を示す。本実施形態は、スコアが別々のURLのクラスに対して保持されるユーザ・スコアを示す。かかる実施形態では、各ユーザ・スコアが、ユーザの閲覧履歴に基づく様々なURLのクラスの各々に関連する独立な値を含んでもよい。1つのユーザ・スコアをユーザ分類のスコアから計算してもよい。
【0090】
ブロック302で、URLレピュテーションの各クラスを分析することができる。ブロック302のクラスごとに、ブロック304で当該クラスの加算器を決定し、ブロック306で当該加算器を最新のクラスの値に加えることができる。ブロック308で、更新したユーザ・クラスの値に基づいて、式を使用してユーザ・スコア全体を計算することができる。
【0091】
ブロック304の加算器をユーザ採点ポリシで定義してもよい。幾つかの実施形態では、「良い」分類を有する幾つかのクラスが加算器として正の値を有してもよく、「悪い」分類を有する幾つかのクラスが負の加算器を有してもよい。その正味の効果は、「良い」サイトを訪問した結果ユーザ・スコアが増大し、「悪い」サイトを訪問した結果ユーザ・スコアが減少することとなる。
【0092】
1つのURLに対して複数の分類に遭遇する幾つかの実施形態では、加算器を分類の総数で除してもよい。
【0093】
加算器により、幾つかの分類がユーザ・スコアに対して他の分類よりも高い重みを有することができる。例えば、「ショッピング」サイトに−1の重みを与え、ポルノ・サイトに−100の重みを与えてもよい。かかる例では、ショッピング・サイトは好ましいサイトではないが、ポルノ・サイトは桁違いに悪いと考えることができる。かかる実施形態では、ユーザ・スコアが最新のクラス値の全ての単純和であってもよい。
【0094】
幾つかの実施形態では、単にブロック304で用いた加算器が最新のクラス値を増加させ、正または負の値を有さなくともよい。かかる実施形態では、ブロック308の式が、正または負の重み値を適用して、更新するユーザ・スコアを計算してもよい。
【0095】
図4は、ユーザ・スコアを計算する第2の方法を示す実施形態400の流れ図である。実施形態400はユーザ・スコアを計算または更新するために実施できるステップの簡単な例であり、ユーザ・スコアに対して1つの値が保持される。
【0096】
他の実施形態では、別の並び、より多くまたはより少ないステップ、および別の術語または用語を用いて同様な機能を実現してもよい。幾つかの実施形態では、様々な動作または様々な組の動作を他の動作と並列に、同期的または非同期的に実施してもよい。ここで選択したステップは、幾つかの動作原理を簡潔に示すために選んだものである。
【0097】
実施形態400は、URLレピュテーション・サービスから受け取った1組のURL分類に基づいてユーザ・スコアを更新する第2の方法を示す。本実施形態は、各分類に対して値が保持される実施形態300と対照的に、ユーザ・スコアに対して1つの値が保持されるユーザ・スコアを示す。実施形態400は、例えば、URL分類の範疇が非常に広い場合に有用でありうる。
【0098】
ブロック402でURLレピュテーションの各クラスを分析することができる。ブロック404で、クラスごとに当該クラスの加算器を決定することができる。ブロック406で、当該加算器をURLレピュテーション内のクラス数で除し、ブロック408で、当該結果をユーザ・スコアに加えることができる。
【0099】
実施形態400は、クラスごとに加算器を決定し、クラスの総数で除して、平均的な加算器に基づいてユーザ・スコアが調整されるようにする。
【0100】
ブロック404の加算器が、正および負の値の両方を有してもよい。正の値はユーザ・スコアを上げ、負の値はユーザ・スコアを下げてもよい。多くの実施形態では、加算器が様々な分類で相違し、ユーザ・スコア全体に対する分類の相対的な重要性を反映してもよい。
【0101】
幾つかの実施形態では、単純移動平均、指数加重移動平均、または他の移動平均計算のような移動平均計算を使用して、更新するユーザ・スコアを計算してもよい。
【0102】
本発明に関する以上の説明は、例示および説明の目的で提示したものであり、包括的であると意図したものではなく、本発明を開示した厳密な形態に限定しようするものでもなく、上記の教示事項に照らして他の修正および変形が可能である。実施形態は、本発明の原理およびその実践的な応用例を最も良く説明し、それにより、考えられる特定の使用に応じて当業者が本発明を様々な実施形態および様々な修正物で利用できるようにするために選択し説明したものである。先行技術により限定されない限り、添付の特許請求の範囲が他の代替的な諸実施形態を含むと解釈すべきである。