(57)【要約】  記載されるシステムおよび方法は、とりわけ、ウェアラブル、移動通信デバイスおよびスマート家電製品など、特に「モノのインターネット」クライアントデバイスの自動デバイス検出／発見を可能にする。デバイス検出は、「Ａｎｄｒｏｉｄ（登録商標）を走らせている、不明な製造業者からのタブレットコンピュータ」など、目標デバイスをデバイスカテゴリに割り当てることを含む。いくつかの実施形態は、ＨＴＴＰユーザエージェントデータ、ＤＨＣＰデータ、ｍＤＮＳデータおよびＭＡＣデータなどの異なった入力に従って複数の予備カテゴリ割当てを求める。各予備カテゴリ割当ては関連スコアを伴ってもよい。最終カテゴリ割当ては集約スコアに従ってなされてもよい。応用は、とりわけ、コンピュータセキュリティ、ソフトウェアプロビジョニングおよび遠隔デバイス管理を含む。
2019512817.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアプロセッサおよびメモリを備えるデバイス検出装置であって、前記ハードウェアプロセッサは、
ローカルネットワークによって前記デバイス検出装置に接続されるクライアントデバイスから受信されるデータを分析して、前記クライアントデバイスの特徴の集合を求め、
応答して、特徴の前記集合に従ってデバイスのカテゴリを選択し、
特徴の前記集合の第１の部分集合に従って第１のスコアを求め、前記第１のスコアは、前記クライアントデバイスがデバイスの前記カテゴリを表す第１の程度を示し、
特徴の前記集合の第２の部分集合に従って第２のスコアを求め、前記第２のスコアは、前記クライアントデバイスがデバイスの前記カテゴリを表す第２の程度を示し、
前記第１および第２のスコアを組み合わせて集約スコアを生成し、
前記集約スコアを生成したことに応答して、前記集約スコアに従って前記クライアントデバイスをデバイスの前記カテゴリに割り当てるべきかどうかを判定する
ように構成される、デバイス検出装置。
【請求項２】
請求項１に記載のクライアントシステムであって、前記クライアントデバイスをデバイスの前記カテゴリに割り当てるべきかどうかを判定することは、
前記集約スコアを、第３のスコアであって前記クライアントデバイスがデバイスの別のカテゴリを表す第３の程度を示す第３のスコアと比較することと、
応答して、前記比較の結果に従って前記クライアントデバイスをデバイスの前記カテゴリに割り当てるべきかどうかを判定することと
を含む、クライアントシステム。
【請求項３】
請求項１に記載のクライアントシステムであって、前記集約スコアは、
σ・ｗ，
に従って求められ、σは前記第１のスコアを意味し、ｗは特徴の前記第１の集合に従って求められる数値重みを意味する、クライアントシステム。
【請求項４】
請求項３に記載のクライアントシステムであって、前記重みｗは前記のデバイスのカテゴリに更に従って求められる、クライアントシステム。
【請求項５】
請求項３に記載のクライアントシステムであって、前記重みｗは前記第１のスコアに更に従って求められる、クライアントシステム。
【請求項６】
請求項１に記載のクライアントシステムであって、前記集約スコアは、
ｗ・ｆ（σ），
に従って求められ、σは前記第１のスコアを意味し、ｗは特徴の前記第１の集合に従って求められる数値重みを意味し、ｆは単射関数を意味する、クライアントシステム。
【請求項７】
請求項１に記載のクライアントシステムであって、前記ハードウェアプロセッサは、
前記クライアントデバイスをデバイスの前記カテゴリに割り当てるべきかどうかを判定したことに応答して、特徴の前記集合の第３の部分集合に従って第３のスコアを求め、前記第３のスコアは、前記クライアントデバイスがデバイスの前記カテゴリを表す第３の程度を示し、
応答して、前記集約スコアおよび前記第３のスコアを組み合わせて調節集約スコアを生成し、
前記調節集約スコアを生成したことに応答して、前記調節集約スコアに従って前記クライアントデバイスをデバイスの前記カテゴリに割り当てるべきかどうかを判定する
ように更に構成される、クライアントシステム。
【請求項８】
請求項１に記載のクライアントシステムであって、前記クライアントデバイスを前記のデバイスのカテゴリに割り当てることは、前記クライアントデバイスの製品カテゴリおよび前記クライアントデバイスのオペレーティングシステムを示すことを含む、クライアントシステム。
【請求項９】
請求項１に記載のクライアントシステムであって、前記ハードウェアプロセッサは、
前記クライアントデバイスをデバイスの前記カテゴリに割り当て、
応答して、前記クライアントデバイスにエージェントインストーラの場所の指示子を送信し、前記エージェントインストーラは、デバイスの前記カテゴリに従って複数のエージェントインストーラから選択され、前記エージェントインストーラは、前記クライアントデバイスにソフトウェアエージェントをインストールするように構成される
ように更に構成される、クライアントシステム。
【請求項１０】
請求項１に記載のクライアントシステムであって、前記ハードウェアプロセッサは、
前記クライアントデバイスをデバイスの前記カテゴリに割り当て、
応答して、デバイスの前記カテゴリに従って前記クライアントデバイスのコンピュータセキュリティ脆弱性を識別する
ように更に構成される、クライアントシステム。
【請求項１１】
請求項１に記載のクライアントシステムであって、前記ハードウェアプロセッサは、
前記クライアントデバイスをデバイスの前記カテゴリに割り当て、
デバイスの前記カテゴリに従って命令の集合を作成し、前記命令を実行することは、前記クライアントデバイスで実行する動的ホスト構成プロトコル（ＤＨＣＰ）サーバの途絶を引き起こすものであり、
命令の前記集合を作成したことに応答して、前記クライアントデバイスに命令の前記集合を送信する
ように更に構成される、クライアントシステム。
【請求項１２】
デバイス検出装置の少なくとも１つのハードウェアプロセッサを利用して、
ローカルネットワークによって前記デバイス検出装置に接続されるクライアントデバイスから受信されるデータを分析して、前記クライアントデバイスの特徴の集合を求めるステップと、
応答して、前記少なくとも１つのハードウェアプロセッサを利用して、特徴の前記集合に従ってデバイスのカテゴリを選択するステップと、
前記少なくとも１つのハードウェアプロセッサを利用して、特徴の前記集合の第１の部分集合に従って第１のスコアを求めるステップであって、前記第１のスコアは、前記クライアントデバイスがデバイスの前記カテゴリを表す第１の程度を示す、ステップと、
前記少なくとも１つのハードウェアプロセッサを利用して、特徴の前記集合の第２の部分集合に従って第２のスコアを求めるステップであって、前記第２のスコアは、前記クライアントデバイスがデバイスの前記カテゴリを表す第２の程度を示す、ステップと、
前記少なくとも１つのハードウェアプロセッサを利用して、前記第１および第２のスコアを組み合わせて集約スコアを生成するステップと、
前記集約スコアを生成したことに応答して、前記少なくとも１つのハードウェアプロセッサを利用して、前記集約スコアに従って前記クライアントデバイスをデバイスの前記カテゴリに割り当てるべきかどうかを判定するステップと
を含む方法。
【請求項１３】
請求項１２に記載の方法であって、前記クライアントデバイスをデバイスの前記カテゴリに割り当てるべきかどうかを判定するステップは、
前記少なくとも１つのハードウェアプロセッサを利用して、前記集約スコアを第３のスコアと比較するステップであって、前記第３のスコアは、前記クライアントデバイスがデバイスの別のカテゴリを表す第３の程度を示す、ステップと、
応答して、前記少なくとも１つのハードウェアプロセッサを利用して、前記比較の結果に従って前記クライアントデバイスをデバイスの前記カテゴリに割り当てるべきかどうかを判定するステップと
を含む、方法。
【請求項１４】
請求項１２に記載の方法であって、前記集約スコアは：
σ・ｗ，
に従って求められ、σは前記第１のスコアを意味し、ｗは特徴の前記第１の集合に従って求められる数値重みを意味する、方法。
【請求項１５】
請求項１４に記載の方法であって、前記重みｗは前記のデバイスのカテゴリに更に従って求められる、方法。
【請求項１６】
請求項１４に記載の方法であって、前記重みｗは前記第１のスコアに更に従って求められる、方法。
【請求項１７】
請求項１２に記載の方法であって、前記集約スコアは、
ｗ・ｆ（σ），
に従って求められ、σは前記第１のスコアを意味し、ｗは特徴の前記第１の集合に従って求められる数値重みを意味し、ｆは単射関数を意味する、方法。
【請求項１８】
請求項１２に記載の方法であって、
前記クライアントデバイスをデバイスの前記カテゴリに割り当てるべきかどうかを判定したことに応答して、前記少なくとも１つのハードウェアプロセッサを利用して、特徴の前記集合の第３の部分集合に従って第３のスコアを求めるステップであって、前記第３のスコアは、前記クライアントデバイスがデバイスの前記カテゴリを表す第３の程度を示す、ステップと、
応答して、前記少なくとも１つのハードウェアプロセッサを利用して、前記集約スコアおよび前記第３のスコアを組み合わせて調節集約スコアを生成するステップと、
前記調節集約スコアを生成したことに応答して、前記少なくとも１つのハードウェアプロセッサを利用して、前記調節集約スコアに従って前記クライアントデバイスをデバイスの前記カテゴリに割り当てるべきかどうかを判定するステップと
を更に含む方法。
【請求項１９】
請求項１２に記載の方法であって、前記クライアントデバイスを前記のデバイスのカテゴリに割り当てることは、前記クライアントデバイスの製品カテゴリおよび前記クライアントデバイスのオペレーティングシステムを示すことを含む、方法。
【請求項２０】
請求項１２に記載の方法であって、
前記少なくとも１つのハードウェアプロセッサを利用して、前記クライアントデバイスをデバイスの前記カテゴリに割り当てるステップと、
応答して、前記少なくとも１つのハードウェアプロセッサを利用して、前記クライアントデバイスにエージェントインストーラの場所の指示子を送信するステップであって、前記エージェントインストーラは、デバイスの前記カテゴリに従って複数のエージェントインストーラから選択され、前記エージェントインストーラは、前記クライアントデバイスにソフトウェアエージェントをインストールするように構成されている、ステップと
を更に含む方法。
【請求項２１】
請求項１２に記載の方法であって、
前記少なくとも１つのハードウェアプロセッサを利用して、前記クライアントデバイスをデバイスの前記カテゴリに割り当てるステップと、
応答して、前記少なくとも１つのハードウェアプロセッサを利用して、デバイスの前記カテゴリに従って前記クライアントデバイスのコンピュータセキュリティ脆弱性を識別するステップと
を更に含む方法。
【請求項２２】
請求項１２に記載の方法であって、
前記少なくとも１つのハードウェアプロセッサを利用して、前記クライアントデバイスをデバイスの前記カテゴリに割り当てるステップと、
前記少なくとも１つのハードウェアプロセッサを利用して、デバイスの前記カテゴリに従って命令の集合を作成するステップであって、前記命令を実行することは、前記クライアントデバイスの動的ホスト構成プロトコル（ＤＨＣＰ）サーバの途絶を引き起こすものである、ステップと、
命令の前記集合を作成したことに応答して、前記少なくとも１つのハードウェアプロセッサを利用して、前記クライアントデバイスに命令の前記集合を送信するステップと
を更に含む方法。
【請求項２３】
非一時的コンピュータ可読媒体であって、デバイス検出装置の少なくともハードウェアプロセッサによって実行されると、前記デバイス検出装置に、
ローカルネットワークによって前記デバイス検出装置に接続されるクライアントデバイスから受信されるデータを分析して、前記クライアントデバイスの特徴の集合を求めることと、
応答して、特徴の前記集合に従ってデバイスのカテゴリを選択することと、
特徴の前記集合の第１の部分集合に従って第１のスコアを求めることであって、前記第１のスコアは、前記クライアントデバイスがデバイスの前記カテゴリを表す第１の程度を示す、求めることと、
特徴の前記集合の第２の部分集合に従って第２のスコアを求めることであって、前記第２のスコアは、前記クライアントデバイスがデバイスの前記カテゴリを表す第２の程度を示す、求めることと、
前記第１および第２のスコアを組み合わせて集約スコアを生成することと、
前記集約スコアを生成したことに応答して、前記集約スコアに従って前記クライアントデバイスをデバイスの前記カテゴリに割り当てるべきかどうかを判定することと
をさせる命令を記憶した非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
[0001]本出願は、２０１６年３月３１日に出願の「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ａｕｔｏｍａｔｉｃ  Ｄｅｖｉｃｅ  Ｄｅｔｅｃｔｉｏｎ（自動デバイス検出のためのシステムおよび方法）」という名称の米国仮特許出願第６２／３１５，８３４号の出願日の利益を主張するものであり、その内容全体が引用により本明細書に援用される。
【０００２】
[0002]本発明は、コンピュータセキュリティに関し、特に自動デバイス発見および遠隔デバイス管理のためのシステムおよび方法に関する。
【背景技術】
【０００３】
[0003]悪意のあるソフトウェアは、マルウェアとしても知られており、世界中の幾多のコンピュータシステムに影響を与える。コンピュータウイルス、悪用およびスパイウェアなどのその多くの形態で、マルウェアは、何百万ものコンピュータユーザに深刻なリスクをもたらし、彼らを、とりわけ、データおよび機密情報の損失、なりすまし、ならびに生産性の損失に遭いやすくさせる。
【０００４】
[0004]多種多様なデバイスが、略式にモノのインターネット（ＩｏＴ）と称されて、通信ネットワークおよびインターネットにますます接続されつつある。そのようなデバイスは、とりわけ、スマートフォン、スマートウォッチ、ＴＶおよび他のマルチメディアデバイス、ゲームコンソール、家電製品、ならびにサーモスタットおよびインテリジェント照明システムなどの様々なセンサ／アクチュエータを含む。より多くのそのようなデバイスがオンライン化するにつれて、それらは悪意のあるソフトウェアおよびハッキングの標的になる。したがって、そのようなデバイスをマルウェアから守る他に、そのようなデバイスへの、および、からの通信を保護する必要性が高まりつつある。
【０００５】
[0005]加えて、家庭および職場などの環境でのインテリジェントデバイスの激増が、デバイスおよびネットワーク管理の問題をますます生じさせる。各デバイスが異なった構成インタフェースを使用し、そして別々の接続設定を必要とする場合、特にネットワーク管理の経験がない典型的な家庭ユーザにとって、多数のそのようなデバイスを管理することは負担になることがある。したがって、セキュリティを特に重視して、自動デバイス発見および構成ためのシステムおよび方法を開発することにますますの関心がある。
【発明の概要】
【０００６】
[0006]１つの態様によれば、デバイス検出装置がハードウェアプロセッサおよびメモリを備える。ハードウェアプロセッサは、ローカルネットワークによってデバイス検出装置に接続されるクライアントデバイスから受信されるデータを分析して、クライアントデバイスの特徴の集合を求め、そして応答して、特徴の集合に従ってデバイスのカテゴリを選択するように構成される。ハードウェアプロセッサは、特徴の集合の第１の部分集合に従って第１のスコアであって、クライアントデバイスがデバイスのカテゴリを表す第１の程度を示す第１のスコアを求めるように更に構成される。ハードウェアプロセッサは、特徴の集合の第２の部分集合に従って第２のスコアであって、クライアントデバイスがデバイスのカテゴリを表す第２の程度を示す第２のスコアを求めるように更に構成される。ハードウェアプロセッサは、第１および第２のスコアを組み合わせて集約スコアを生成し、そして集約スコアを生成したことに応答して、集約スコアに従ってクライアントデバイスをデバイスのカテゴリに割り当てるべきかどうかを判定するように更に構成される。
【０００７】
[0007]別の態様によれば、方法が、デバイス検出装置の少なくとも１つのハードウェアプロセッサを利用して、ローカルネットワークによってデバイス検出装置に接続されるクライアントデバイスから受信されるデータを分析して、クライアントデバイスの特徴の集合を求めるステップと、応答して、少なくとも１つのハードウェアプロセッサを利用して、特徴の集合に従ってデバイスのカテゴリを選択するステップとを含む。方法は、少なくとも１つのハードウェアプロセッサを利用して、特徴の集合の第１の部分集合に従って第１のスコアであって、クライアントデバイスがデバイスのカテゴリを表す第１の程度を示す第１のスコアを求めるステップを更に含む。方法は、少なくとも１つのハードウェアプロセッサを利用して、特徴の集合の第２の部分集合に従って第２のスコアであって、クライアントデバイスがデバイスのカテゴリを表す第２の程度を示す第２のスコアを求めるステップを更に含む。方法は、少なくとも１つのハードウェアプロセッサを利用して、第１および第２のスコアを組み合わせて集約スコアを生成するステップと、集約スコアを生成したことに応答して、少なくとも１つのハードウェアプロセッサを利用して、集約スコアに従ってクライアントデバイスをデバイスのカテゴリに割り当てるべきかどうかを判定するステップとを更に含む。
【０００８】
[0008]別の態様によれば、非一時的コンピュータ可読媒体が、デバイス検出装置の少なくともハードウェアプロセッサによって実行されると、デバイス検出装置に、ローカルネットワークによってデバイス検出装置に接続されるクライアントデバイスから受信されるデータを分析して、クライアントデバイスの特徴の集合を求め、そして応答して、特徴の集合に従ってデバイスのカテゴリを選択させる命令を記憶する。命令は更に、ハードウェアプロセッサに、特徴の集合の第１の部分集合に従って第１のスコアであって、クライアントデバイスがデバイスのカテゴリを表す第１の程度を示す第１のスコアを求めさせる。命令は更に、ハードウェアプロセッサに、特徴の集合の第２の部分集合に従って第２のスコアであって、クライアントデバイスがデバイスのカテゴリを表す第２の程度を示す第２のスコアを求めさせる。命令は更に、ハードウェアプロセッサに、第１および第２のスコアを組み合わせて集約スコアを生成し、そして集約スコアを生成したことに応答して、集約スコアに従ってクライアントデバイスをデバイスのカテゴリに割り当てるべきかどうかを判定させる。
【０００９】
[0009]本発明の上記の態様および利点は、以下の詳細な説明を読んだ上で、かつ図面を参照した上で、よりよく理解されるようになるであろう。
【図面の簡単な説明】
【００１０】
【図１−Ａ】[0010]本発明のいくつかの実施形態に係る、ローカルネットワークによって相互接続されるクライアントシステム、およびデバイス検出装置の例証的な構成を図示する。
【図１−Ｂ】[0011]本発明のいくつかの実施形態に係るクライアントシステムおよびデバイス検出装置の代替構成を図示する。
【図２】[0012]本発明のいくつかの実施形態に係る、デバイス検出装置と共同する遠隔サーバの集合を図示する。
【図３】[0013]本発明のいくつかの実施形態に係るクライアントシステムの例証的なハードウェア構成を図示する。
【図４】[0014]本発明のいくつかの実施形態に係るデバイス検出装置の例証的なハードウェア構成を図示する。
【図５】[0015]本発明のいくつかの実施形態に係る構成サーバの例証的なハードウェア構成を図示する。
【図６】[0016]本発明のいくつかの実施形態に係るクライアントシステムで実行する例証的なソフトウェア部品の集合を図示する。
【図７】[0017]本発明のいくつかの実施形態に係るデバイス検出装置で実行するソフトウェア部品の例証的な集合を図示する。
【図８】[0018]本発明のいくつかの実施形態に係る構成サーバで実行する例証的なソフトウェアを図示する。
【図９】[0019]本発明のいくつかの実施形態に係るカテゴリ化エンジンの例証的な部品を例示する。
【図１０】[0020]本発明のいくつかの実施形態に係るカテゴリ化エンジンによって行われる一連の例証的なステップを例示する。
【図１１】[0021]本発明のいくつかの実施形態に係るデバイス発見／検出手順中に行われるデバイス検出装置と構成サーバとの間の例証的なデータ交換を図示する。
【図１２】[0022]本発明のいくつかの実施形態に係る、エージェントプロビジョニング手順中にデバイス検出装置によって行われる一連の例証的なステップを例示する。
【発明を実施するための形態】
【００１１】
[0023]以下の説明では、全ての列挙される構造間の接続が直接作用接続または中間構造を通した間接作用接続であることができることが理解される。要素の集合は１つまたは複数の要素を含む。いかなる要素の列挙も少なくとも１つの要素を指すと理解される。複数の要素は少なくとも２つの要素を含む。別途明記されない限り、いかなる「ＯＲ」の使用も非排他的論理和を指す。別途要求されない限り、いかなる記載される方法ステップも、必ずしも特定の例示される順に行われる必要があるわけではない。第２の要素から導出される第１の要素（例えばデータ）は、第２の要素に等しい第１の要素の他に、第２の要素および任意選択で他のデータを処理することによって発生される第１の要素を包含する。パラメータに従って判定または決定をすることは、パラメータに従っておよび任意選択で他のデータに従って判定または決定をすることを包含する。別途明記されない限り、ある量／データの指示子はその量／データそのもの、またはその量／データそのものと異なる指示子でもよい。コンピュータセキュリティは、ユーザおよび機器をデータおよび／またはハードウェアへの意図しないまたは無許可のアクセスから、データおよび／またはハードウェアの意図しないまたは無許可の変更から、ならびにデータおよび／またはハードウェアの破壊から保護することを包含する。コンピュータプログラムは、タスクを実施する一連のプロセッサ命令である。本発明のいくつかの実施形態に記載されるコンピュータプログラムは、スタンドアロンソフトウェアエンティティまたは他のコンピュータプログラムのサブエンティティ（例えば、サブルーチン、ライブラリ）でもよい。２つのデバイスは、それらのネットワークアドレスが同じサブネットに帰属するときに、および／または両方とも同じブロードキャストアドレスを有するときに、同じローカルネットワークに接続されるまたは帰属すると言われる。ローカルネットワークは、ローカルに管理されるその通信ハードウェアを有するネットワークである。トンネルは、通信ネットワークに接続される２つのエンティティ間の仮想二地点間接続である。コンピュータ可読媒体は、磁気、光および半導体記憶媒体（例えばハードドライブ、光ディスク、フラッシュメモリ、ＤＲＡＭ）などの非一時的媒体の他に、導電ケーブルおよびファイバ光リンクなどの通信リンクを包含する。いくつかの実施形態によれば、本発明は、なかでも、本明細書に記載される方法を行うようにプログラムされるハードウェア（例えば１つまたは複数のマイクロプロセッサ）を備えるコンピュータシステムの他に、本明細書に記載される方法を行う命令を符合化したコンピュータ可読媒体を提供する。
【００１２】
[0024]以下の説明は、例としてであって必ずしも限定としてではなく、本発明の実施形態を例示する。
[0025]図１−Ａ〜Ｂは、本発明のいくつかの実施形態に係る例証的なネットワーク構成１０ａ〜ｂを図示し、ここでは複数のクライアントシステム１２ａ〜ｆがローカルネットワーク１４によって相互接続され、かつインターネットなどの拡張ネットワーク１６に更に接続される。クライアントシステム１２ａ〜ｆは、プロセッサ、メモリおよび通信インタフェースを有するいかなる電子デバイスを表してもよい。例証的なクライアントシステム１２ａ〜ｆは、とりわけ、パーソナルコンピュータ、ラップトップ、タブレットコンピュータ、移動電気通信デバイス（例えば、スマートフォン）、メディアプレーヤ、ＴＶ、ゲームコンソール、家電製品（例えば、冷蔵庫、サーモスタット、インテリジェント暖房および／または照明システム）、ならびにウェアラブルデバイス（例えば、スマートウォッチ、スポーツおよびフィットネス機器）を含む。ローカルネットワーク１４はローカルエリアネットワーク（ＬＡＮ）から成ってもよい。例証的なローカルネットワーク１４は、とりわけ、ホームネットワークおよび企業ネットワークを含んでもよい。
【００１３】
[0026]ルータ１９は、クライアントシステム１２ａ〜ｆ間の通信および／または拡張ネットワーク１６へのクライアントシステム１２ａ〜ｆのアクセスを可能にする電子デバイスから成る。いくつかの実施形態において、ルータ１９は、ローカルネットワーク１４と拡張ネットワーク１６との間のゲートウェイとして作用し、そしてクライアントシステム１２ａ〜ｆにネットワークサービスの集合を提供する。用語ゲートウェイは、クライアントシステム１２ａ〜ｆと拡張ネットワーク１６との間の通信トラヒックの少なくとも一部がゲートウェイデバイスを横断するように構成されるデバイスを意味するために本明細書で使用される。別途明記されない限り、用語ネットワークサービスは、クライアントシステム１２ａ〜ｆの相互通信の他に、クライアントシステム１２ａ〜ｆと他のエンティティとの間の通信を可能にするサービスを意味するために本明細書で使用される。そのようなサービスは、例えば、クライアントシステム１２ａ〜ｆにネットワーク構成パラメータ（例えば、ネットワークアドレス）を配布すること、および参加エンドポイント間で通信をルーティングすることを含んでもよい。例証的なネットワークサービスは動的ホスト構成プロトコル（ＤＨＣＰ）を含んでもよい。ＤＨＣＰサービスは、ローカルネットワーク１４および／または拡張ネットワーク１６へのアクセスを要求するクライアントにインターネットプロトコル（ＩＰ）構成情報を配信するために典型的に使用される。
【００１４】
[0027]図１−Ａ〜Ｂは、ローカルネットワーク１４に接続されるデバイス検出装置１８を更に図示する。いくつかの実施形態において、デバイス検出装置１８は、クライアントシステム１２ａ〜ｆに対して様々なサービスを行うように構成される電子デバイス（例えば、コンピュータシステム）から成る。そのようなサービスは、とりわけ、コンピュータセキュリティサービス（例えば、アンチマルウェア、侵入検出、アンチスパイウェアなど）、デバイス管理（例えば、クライアントシステム１２ａ〜ｆの遠隔構成）、ペアレンタルコントロールサービス、セキュア通信サービス（例えば、仮想プライベートネットワーキング−ＶＰＮ）、ならびに遠隔技術援助（例えば、デバイスおよび／またはネットワークトラブルシューティング）を含む。
【００１５】
[0028]いくつかの実施形態において、デバイス検出装置１８は、自動デバイス発見／検出動作を実施するように更に構成される。用語「デバイス発見」および「デバイス検出」は本明細書で交換可能である。デバイス検出は、ローカルネットワーク１４に接続されるデバイスの、例えば、クライアントシステム１２ａ〜ｆ、ルータ１９のいずれかのデバイスタイプを求めることを含む。換言すれば、デバイス検出は、それぞれのデバイスについての利用可能な情報に従ってそれぞれのデバイスをデバイスカテゴリに自動的に割り当てることを含む。いくつかの実施形態において、デバイスカテゴリは、例えば、製品カテゴリ（例えば、パーソナルコンピュータ、タブレットコンピュータ、プリンタ、スマートウォッチ、ホームエンターテイメントシステム、サーモスタットなど）、製造業者（例えば、Ｓａｍｓｕｎｇ（登録商標）、Ｎｅｓｔ（登録商標）、Ｓｏｎｏｓ（登録商標）など）、ハードウェアモデル（例えば、ｉＰａｄ（登録商標）２、ＭａｃＢｏｏｋ（登録商標）Ａｉｒ（登録商標）、Ｇａｌａｘｙ（登録商標）Ｓ６など）、およびソフトウェアのバージョン（例えば、Ｗｉｎｄｏｗｓ（登録商標）、ｉＯＳ（登録商標）８、Ａｎｄｒｏｉｄ（登録商標）Ｍａｒｓｈｍａｌｌｏｗなど）を含んでもよいデバイス特性の組｛Ｃ１、Ｃ２、．．．、Ｃｎ｝から成る。いくつかの実施形態は、｛「タブレットコンピュータ」、「不明」、「Ａｎｄｒｏｉｄ」｝でのように、タイプ「不明」および／または「該当せず」の特性値を許容する。デバイス検出作業は装置１８、構成サーバ５２で実施されてもよく、または装置１８と構成サーバ５２との間で分けられてもよい。本明細書に記載される方法はまた、クライアントシステム１２ａ〜ｆの１つによって実行されてもよい。
【００１６】
[0029]本発明のいくつかの実施形態に係る典型的なシナリオでは、デバイス検出装置１８は、ルータ１９によって既に構成および管理されたローカルネットワークに導入される。装置１８は次いで、ローカルネットワークに接続されるデバイス、例えばクライアントシステム１２ａ〜ｆおよび／またはルータ１９を漸次発見してもよい。いくつかの実施形態において、装置１８は更に、ルータ１９からＤＨＣＰなどのネットワークサービスを引き継ぎ、そしてネットワーク１４を再構成してローカルネットワーク１４と拡張ネットワーク１６との間のゲートウェイ位置に装置１８を配置し、その結果クライアントシステム１２ａ〜ｆと拡張ネットワーク１６との間のトラヒックの少なくとも一部がデバイス検出装置１８を横断する（例えば、図１−Ａを参照のこと）。ゲートウェイ位置に装置１８を配置することは、そのような位置がクライアントシステムと遠隔パーティとの間のトラヒックの傍受および分析を容易にするので、セキュリティ上の理由で好ましいであろう。
【００１７】
[0030]図１−Ｂにおける例などのいくつかの実施形態において、ルータ１９は、装置１８の設置後にローカルネットワーク１４へのゲートウェイとして動作し続けてもよいが、しかしそのような場合、デバイス検出装置１８は、好ましくはクライアントシステム１２ａ〜ｆと現存のゲートウェイ（すなわち、ルータ１９）との間に配置され、その結果、装置１８はクライアントシステム１２ａ〜ｆと同じローカルネットワークに帰属する。そのような位置は、それがクライアントシステム１２ａ〜ｆのいくつかへのデバイス特定ユーティリティエージェントの配信を容易にするので、好まれる。
【００１８】
[0031]いくつかの実施形態において、クライアントシステム１２ａ〜ｆは、拡張ネットワーク１６（例えば、インターネット）に接続されるアドミニストレーションデバイス２０で実行するソフトウェアを使用して、ユーザ／アドミニストレータによって遠隔で監視、管理および／または構成される。例証的なアドミニストレーションデバイス２０は、とりわけ、スマートフォンおよびパーソナルコンピュータシステムを含む。デバイス２０は、ユーザがクライアントシステム１２ａ〜ｆの動作を遠隔で構成および／または管理して、例えば構成オプションを設定する、および／またはそれぞれのクライアントシステムで発生するイベントについての通知を受信するようにするグラフィカルユーザインタフェース（ＧＵＩ）を提示してもよい。
【００１９】
[0032]いくつかの実施形態において、デバイス検出装置１８は、クライアントシステム１２ａ〜ｆに対して様々なサービスを行うために遠隔コンピュータシステムの集合と共同する。例証的な遠隔コンピュータシステムは、図２に例示される、セキュリティサーバ５０および構成サーバ５２を含む。サーバ５０および５２は、個々の機械、または複数の相互接続されるコンピュータシステムのクラスタから成ってもよい。いくつかの実施形態において、デバイス検出装置１８は、クライアントシステム１２ａ〜ｆに、および／または、から来るトラヒックの一部または全てをセキュリティサーバ５０にリダイレクトするように構成される。そのような構成では、セキュリティサーバ５０は、脅威検出動作（例えば、マルウェア検出、悪意のある、または不正なウェブサイトへのアクセスを遮断する、侵入防止など）を行って、クライアントシステム１２ａ〜ｆをコンピュータセキュリティ脅威から保護してもよい。セキュリティサーバ５０は、複数のセキュリティレコードから成るイベントデータベース５５に更に接続されてもよい。１つの例では、各そのようなセキュリティレコードは、保護されるクライアントシステムで発生するセキュリティイベントを示すデータの他に、それぞれのイベントとそれぞれのクライアントシステムとの間の関連付けの指示子を含む。
【００２０】
[0033]いくつかの実施形態において、構成サーバ５２は、装置１８および／またはアドミニストレーションデバイス２０と共同して、装置１８、ルータ１９および／またはクライアントシステム１２ａ〜ｆのデバイス管理および／またはセキュリティ設定を構成する。サーバ５２は、加入者データベース５４およびデバイス特徴データベース５６に通信可能に接続されてもよい。加入者データベース５４は、複数の加入レコードであって、各々が本発明のいくつかの実施形態に係るデバイス管理下のクライアントシステムの集合を示す加入レコードを記憶してもよい。１つの実施形態において、各加入レコードは異なったデバイス検出装置１８と一意に関連付けられる。そのような実施形態において、それぞれのデバイス検出装置によって構成および／またはその他サービスされる全てのクライアントシステム（例えば、図１−Ａにおいてローカルネットワーク１４に接続されるクライアントシステム１２ａ〜ｆ）は同じ加入レコードと関連付けられる。各加入レコードは、加入期間の指示子および／または、例えば、所望のセキュリティのレベルもしくは加入されるサービスの選択を説明する加入パラメータの集合を含んでもよい。加入はサービスレベル合意（ＳＬＡ）に従って管理されてもよい。
【００２１】
[0034]いくつかの実施形態において、デバイス特徴データベース５６は、各クライアントシステムの構成可能な特徴および／または各クライアントシステムに対する現在の構成設定を示すレコードの集合から成る。データベース５６は、複数のレコードから成る広範なデバイス特徴知識ベースを更に含んでもよい。１つの例証的な実施形態において、各レコードはデバイスを表し、かつ、とりわけ、デバイスの製品カテゴリ（例えば、ルータ、スマートフォンなど）、ハードウェアモデル、製造業者、オペレーティングシステム（例えば、Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標））を示す複数のフィールドから成ってもよい。他のフィールドは、それぞれのデバイスが特定のネットワークプロトコルを使用して通信するかどうか（例えば、ＨＴＴＰ、Ｂｏｎｊｏｕｒ（登録商標））、それぞれのデバイスタイプによって提示されるログインインタフェースのレイアウトの指示子、それぞれのデバイスによって使用されるユーザエージェントなど、といった様々なデバイス特徴に対応してもよい。
【００２２】
[0035]図３〜４〜５は、それぞれ、クライアントシステム１２、デバイス検出装置１８および構成サーバ５２の例証的なハードウェア構成を図示する。クライアントシステム１２は、例えば、図１のクライアントシステム１２ａ〜ｆのいずれかを表してもよい。一般性の損失なしに、例示される構成はコンピュータシステムに対応する。他のクライアントシステム（例えば、タブレットコンピュータ、スマートウォッチ）のハードウェア構成は、図３に例示されるものと異なってもよい。プロセッサ２２、１２２および２２２の各々は、信号および／またはデータの集合に関する計算および／または論理演算を実行するように構成される物理デバイス（例えば、マイクロプロセッサ、半導体基板に形成されるマルチコア集積回路）から成る。メモリユニット２４、１２４および２２４は、演算を実施する過程で、それぞれ、プロセッサ２２、１２２および２２２によってアクセスまたは発生されるデータ／信号を記憶する揮発性コンピュータ可読媒体（例えばＲＡＭ）から成る。
【００２３】
[0036]入力装置２６は、それぞれのハードウェアインタフェースおよび／またはアダプタを含め、とりわけ、コンピュータキーボード、マウスおよびマイクロホンを含んで、ユーザがそれぞれのシステムにデータおよび／または命令を導入するようにしてもよい。出力装置２８は、とりわけモニタなどのディスプレイ装置およびスピーカの他に、グラフィックカードなどのハードウェアインタフェース／アダプタを含んで、それぞれのシステムがユーザにデータを伝達するようにしてもよい。いくつかの実施形態において、入力および出力装置は共通のハードウェア（例えば、タッチスクリーン）を共有する。記憶装置３２、１３２および２３２は、ソフトウェア命令および／またはデータの不揮発性記憶、読取りおよび書込みを可能にするコンピュータ可読媒体を含む。例証的な記憶装置は、磁気および光ディスクならびにフラッシュメモリ装置の他に、ＣＤおよび／またはＤＶＤディスクおよびドライブなどの取り外し可能媒体を含む。
【００２４】
[0037]ネットワークアダプタ３４、１３４および２３４は、それぞれ、クライアントシステム１２、デバイス検出装置１８および構成サーバ５２がネットワーク１４、１６などの電子通信ネットワークおよび／または他のデバイス／コンピュータシステムに接続することを可能にする。
【００２５】
[0038]コントローラハブ３０、１３０および２３０は、複数のシステム、周辺および／もしくはチップセットバス、ならびに／または各それぞれのシステムのプロセッサとハードウェア部品の残りとの間の通信を可能にする全ての他の回路網を一般的に表す。例証的なクライアントシステム１２（図３）では、ハブ３０は、メモリーコントローラ、入出力（Ｉ／Ｏ）コントローラおよび割込みコントローラから成ってもよい。ハードウェア製造業者に応じて、いくつかのそのようなコントローラが単一の集積回路に統合されてもよく、かつ／またはプロセッサと集積化されてもよい。
【００２６】
[0039]図６は、本発明のいくつかの実施形態に係るクライアントシステム１２で実行する例証的なソフトウェア部品を図示する。そのようなソフトウェアは、クライアントシステム１２のハードウェアとそれぞれのクライアントシステムで実行するソフトウェアアプリケーションの集合との間のインタフェースを提供するオペレーティングシステム（ＯＳ）４０を含んでもよい。オペレーティングシステムの例は、とりわけ、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）、ＭａｃＯＳ（登録商標）、ｉＯＳ（登録商標）およびＡｎｄｒｏｉｄを含む。ソフトウェアアプリケーションは、とりわけ、ワープロ、グラフィクス、ゲーム、ブラウザおよび通信アプリケーションを含んでもよい。いくつかの実施形態において、クライアントシステム１２で実行するソフトウェアアプリケーションは、デバイス管理および／またはセキュリティサービス（例えば、アンチマルウェア）など、それぞれのクライアントシステムに様々なサービスを提供するように構成されるユーティリティエージェント４１を含む。１つの例では、ユーティリティエージェント４１は、クライアントシステム１２の構成オプションの集合（例えば、ネットワーク構成パラメータ、電力管理パラメータ、セキュリティパラメータ、遠隔制御サーモスタットの場合の所望の温度などのデバイス特定パラメータ、または遠隔制御ホーム照明マネージャの場合のライトの選択など）にアクセスおよび／または変更するように構成される。いくつかの実施形態において、クライアントシステム１２でのエージェント４１のインストールはデバイス検出装置１８によって開始および／または促進される。
【００２７】
[0040]図７は、本発明のいくつかの実施形態に係るデバイス検出装置１８で実行するソフトウェア部品の集合を図示する。そのような部品は、とりわけ、デバイス検出モジュール４２およびローカルネットワーク１４にＤＨＣＰサービスを提供するＤＨＣＰモジュール４３を含んでもよい。そのようなサービスは、ローカルネットワーク１４および／または拡張ネットワーク１６へのアクセスを要求するクライアントにＩＰ構成情報を配信することを含んでもよい。デバイス検出モジュール４２はカテゴリ化エンジン４５を含んでもよく、そして以下に詳細に図示されるように、構成サーバ５２と共同して、クライアントシステム１２のデバイスタイプを自動的に求めるように構成されてもよい。いくつかの実施形態において、装置１８は、ルータ１９からのネットワークサービス引継ぎを行うように構成されるネットワーク途絶モジュール４４を更に実行する。特定例では、ルータ１９のデバイスカテゴリを求めたことに応答して、装置１８は、ルータ１９からネットワークサービスを引き継ぐために、途絶モジュール４４を使用して、ルータ１９のＤＨＣＰサーバを停止またはその他無効にしてもよい。１つのそのような例では、デバイス検出装置１８は、ルータ１９に一連の命令であって、ルータのＤＨＣＰサーバのクラッシュまたは停止を引き起こすように作成される一連の命令を送信してもよい。別の例では、装置１８は、ルータ１９に構成インタフェースを提示させてもよく、そしてそれぞれのインタフェースに構成パラメータ値の集合を送信し、したがってルータのＤＨＣＰサーバを停止させてもよい。命令および／または構成パラメータ値の集合は、ルータ１９の検出カテゴリに従って選択的に選ばれてもよい。
【００２８】
[0041]図８は、本発明のいくつかの実施形態に係る構成サーバ５２で実行する例証的なソフトウェアを図示する。そのようなソフトウェアは、サーバ側カテゴリ化エンジン１４５およびデータベースインタロゲータ（ｉｎｔｅｒｒｏｇａｔｏｒ；質問器）４７を含んでもよい。エンジン１４５は、デバイス検出装置１８で実行するエンジン４５のデバイス発見／検出作業を補足してもよい。データベースインタロゲータ４７は、カテゴリ化エンジン４５および／または１４５の要求によりデバイス特徴データベース５６からデータを選択的に検索するように構成されてもよい。
【００２９】
[0042]図９は、本発明のいくつかの実施形態に係るカテゴリ化エンジン４５の例証的な構成を図示する。サーバ５２で実行するエンジン１４５が同様の構成を有してもよい。エンジン４５は、クライアントシステムのカテゴリ指示データ６０の集合を入力として受信し、そしてそれぞれのクライアントシステム（例えば、ｉＯＳ（登録商標）バージョン９．２を走らせている移動電話）のデバイスタイプを示すカテゴリ指示子７２を出力する。カテゴリ指示データ６０は、クライアントシステムのデバイスタイプを求める、すなわち、デバイスをデバイスのカテゴリに割り当てるために使用可能な様々な種類のデータから成る。そのようなデータは、ブール型（例えば、それぞれのデバイスが特定の特徴を有するか否かを示す）、数値型（例えば、ネットワークアドレスでのように）、文字列型（例えば、ホスト名およびユーザエージェントフィールドでのように）などでもよい。いくつかの例証的なデータ６０は以下を含む。
【００３０】
ａ）それぞれのクライアントシステムのメディアアクセス制御（ＭＡＣ）アドレスおよび／または国際移動機器識別（ＩＭＥＩ）番号など、ハードウェアＩＤ指示子。ＭＡＣアドレスは長さが４８ビットであり、そしてそれぞれのデバイスの製造業者を典型的に示す。例えば、全てのＮｅｓｔ（登録商標）デバイスのＭＡＣアドレスの最初の２４ビットは１８：Ｂ４：３０である。それぞれの製造業者がどんなタイプのデバイスを生産するかの知識（Ｎｅｓｔ（登録商標）の場合、ＩＰカメラ、サーモスタットおよび煙感知器）とＭＡＣアドレスを組み合わせることが、それぞれのクライアントシステムのデバイスタイプの効率的な識別を許容することができる。
【００３１】
ｂ）サポートされる通信プロトコル。いくつかのデバイスは、Ｂｏｎｊｏｕｒ（登録商標）などといった特定のネットワークサービスをアドバタイズする。いくつかのそのようなサービスは、デバイスタイプ、製造業者などと、より頻繁に関連付けられる。例えば、Ｂｏｎｊｏｕｒ（登録商標）は主にＡｐｐｌｅ（登録商標）デバイスでみられる。
【００３２】
ｃ）それぞれのクライアントシステムのベンダー名、フィンガープリントおよびホスト名など、ＤＨＣＰパラメータ。ＤＨＣＰフィンガープリントは、いくつかのＤＨＣＰクライアントに特有であるオプション値の配列である。例えば、「１，３，６」はモノのインターネット（ＩｏＴ）カテゴリからのデバイスに共通である。ＤＨＣＰベンダー名は、クライアントシステムの特定のＤＨＣＰ実装の識別子から成る。例えば、「ＭＳＦＴ」はＷｉｎｄｏｗｓ  ＤＨＣＰクライアントに共通のベンダー名である。ホスト名はユーザによって手動で設定されることができるが、しかしそれはしばしば製造業者によって設定されるデフォルト名から成る。これらのデフォルトホスト名の一定のパターンが、それぞれのクライアントシステムをデバイスの特定のカテゴリに帰属するとして識別してもよい。例えば、「ＮＰ−」プレフィックスで始まるデフォルトホスト名はＲｏｋｕ（登録商標）メディアプレーヤに共通である。
【００３３】
ｄ）ＨＴＴＰ要求のヘッダから抽出されるユーザエージェント指示子。ユーザエージェント指示子は、それぞれの要求を発行したモデル、オペレーティングシステムまたはブラウザ／アプリケーションに対する識別子の集合を含む。例えば、ブラウザに共通のパターンは「Ｍｏｚｉｌｌａ／［バージョン］（［システムおよびブラウザ情報］）［プラットフォーム］（［プラットフォーム詳細］）」である。
【００３４】
ｅ）マルチキャストドメインネームシステム（ｍＤＮＳ）サービス指示子。ｍＤＮＳは、従来のドメーンネームサーバの不在下でホスト名をＩＰアドレスに解決するゼロ構成サービスである。いくつかのデバイスはｍＤＮＳを使用してサービスおよびポートの集合をアドバタイズする。テキストフィールドから追加のカテゴリ指示情報が得られてもよい。ｍＤＮＳサービスはＡｐｐｌｅデバイス、プリンタまたはネットワーク接続ストレージ間で普及している。例えば、大抵のプリンタはｍＤＮＳを通じてサービス「プリンタ」をアドバタイズする。
【００３５】
ｆ）簡易ネットワーク管理プロトコル（ＳＮＭＰ）パラメータ。ＳＮＭＰは、接続デバイスの間で管理情報を交換するためのネットワークプロトコルである。ＳＮＭＰサーバをもつデバイスはＯＩＤ（オブジェクト識別子）をブロードキャストしており、その例が以下に再現される：
Ｉｓｏ（１）．ｏｒｇ（３）．ｄｏｄ（６）．ｉｎｔｅｒｎｅｔ（１）．ｐｒｉｖａｔｅ（４）．ｔｒａｎｓｉｔｉｏｎ（８６８）．ｐｒｏｄｕｃｔｓ（２）．ｃｈａｓｓｉｓ（４）．ｃａｒｄ（１）．ｓｌｏｔＣｐｓ（２）．−ｃｐｓＳｌｏｔＳｕｍｍａｒｙ（１）．ｃｐｓＭｏｄｕｌｅＴａｂｌｅ（１）．ｃｐｓＭｏｄｕｌｅＥｎｔｒｙ（１）．ｃｐｓＭｏｄｕｌｅＭｏｄｅｌ（３）．３５６２．３
様々なフィールドの内容は一定のデバイスタイプおよびモデルに近似的にマッピングされることができる。
【００３６】
[0043]いくつかの実施形態はデータ６０を処理してデバイスのデバイス特徴の集合を抽出し、ここでは各特徴はそれぞれのデバイスの属性値ペアの集合から成る。例証的な特徴は、とりわけ、ＤＨＣＰ特徴、ＭＡＣ特徴およびユーザエージェント特徴を含む。デバイス特徴は複数のデータ項目に従って求められてもよい（例えば、「属性：値１ＯＲ値２ＡＮＤ  ＮＯＴ値３」などでのように、複数の属性値を組み合わせることによって）。
【００３７】
[0044]いくつかの実施形態において、カテゴリ化エンジン４５（図９）は、データディスパッチャ６２、複数のデータパーサ６４ａ〜ｃ、およびデータパーサ６４ａ〜ｃに結合されるスコアアグリゲータ７０を備える。各パーサ６４ａ〜ｃは、カテゴリ指示データ６０の集合に従って、またはクライアントデバイスの特徴の集合に従って評決の集合を求めてもよい。各評決はクライアントシステム１２の可能なデバイスカテゴリを示す。例証的な評決は、「クライアントシステム１２はＡｐｐｌｅ（登録商標）からのルータである」、「クライアントシステム１２はＡｎｄｒｏｉｄデバイスである」、および「クライアントシステム１２は、Ｗｉｎｄｏｗｓ  Ｍｏｂｉｌｅ（登録商標）６．５を走らせている、不明な製造業者からのタブレットコンピュータである」を含む。
【００３８】
[0045]各パーサ６４ａ〜ｃは、各評決に伴うスコアを更に求めてもよい。いくつかの実施形態において、スコアは、クライアントシステム１２がそれぞれのカテゴリを表す程度を示す。例えば、スコアは、クライアントシステム１２がどれほどスマートウォッチを、またはＡｐｐｌｅ（登録商標）デバイスを、またはＡｎｄｒｏｉｄ（登録商標）を走らせているデバイスを表すかを定量化してもよい。より高いスコアが、それぞれのカテゴリのより高い代表性（例えば、デバイスがカテゴリの典型的なメンバであること）を示してもよい。カテゴリの代表性の程度は、とりわけ、それぞれのカテゴリでのクライアントシステム１２のメンバシップの程度、クライアントシステム１２がそれぞれのカテゴリに帰属する尤度または信頼水準、およびクライアントシステム１２とそれぞれのカテゴリとの間の類似性の測度を含んでもよい。スコアはブール型でも（１／０、ＹＥＳ／ＮＯ）または一組の範囲内で連続的に変動してもよい。１つの例では、各スコアは０と１００との間の数にスケーリングされる。
【００３９】
[0046]いくつかの実施形態において、各パーサ６４ａ〜ｃは、カテゴリ指示データの異なった部分集合またはデバイス特徴の異なった部分集合を入力として受けるように構成される。例えば、パーサ６４ａがＤＨＣＰデータ／特徴を処理してもよく、パーサ６４ｂがＨＴＴＰ要求から抽出されるユーザエージェントテキスト文字列を解析してもよい、など。別の例では、パーサ６４ａがユーザエージェントデータタイプの第１のフィールドを処理し、パーサ６４ｂがユーザエージェントの第２のフィールドを処理する、など。特徴の異なった部分集合が必ずしも相互に排他的であるわけではなく、特徴のいくつかの異なった部分集合が部分的な重複を有してもよい。データディスパッチャ６２は、それぞれのデータタイプ／特徴を入力として使用するパーサ６４ａ〜ｃに各タイプのカテゴリ指示データを選択的に送るように構成されてもよい。代替の実施形態において、異なったパーサ６４ａ〜ｃが特徴の同じ部分集合を処理してもよいが、しかし異なったアルゴリズムを利用してパーサ特定評決および／またはスコア値を生成してもよい。１つのそのような例では、１つのパーサがヒューリスティックの集合に従ってｍＤＮＳデータを処理し、そして別のパーサがニューラルネットワークを使用してｍＤＮＳデータを処理する。
【００４０】
[0047]デバイスカテゴリが、ｎ＞１とする複数の特性｛Ｃ１、Ｃ２、．．．、Ｃｎ｝から成る場合、いくつかのパーサが評決／スコア対の配列を出力するが、配列の各メンバが特性の異なった組合せを表している。カテゴリ特性が｛カテゴリ、ＯＳ｝から成り、ここで「カテゴリ」フィールドが値｛電話、ＰＣ｝をとることができ、かつ「ＯＳ」フィールドが値｛Ｗｉｎｄｏｗｓ、Ａｎｄｒｏｉｄ、ｉＯＳ｝をとることができる１つのそのような例では、スコアは２次元行列として視覚化されてもよい：
【００４１】
【数１】
2019512817.tif 000003
【００４２】
式中、σ（ｉ）ｐｈｏｎｅ，Ｗｉｎｄｏｗｓは、クライアントシステム１２がどれほどＷｉｎｄｏｗｓ（登録商標）を走らせているスマートフォンを表すかを示すスコアを意味する一方で、ｉはパーサを示す。一般に、デバイス特性の全ての可能な組合せが実際に発生するわけではないので、そのような配列は疎である。例えば、Ａｎｄｒｏｉｄプリンタは現在市場に出ていないため、｛プリンタ、Ａｎｄｒｏｉｄ｝の評決は存在しなくてもよく、またはその使用が正当化されないほどまれでもよい。
【００４３】
[0048]いくつかの実施形態は、様々な種類のデバイス（スマートフォン、サーモスタット、ラップトップ、ルータ、プリンタなど）を表すレコードの膨大なコーパスから知識を導出する。デバイス特徴データは技術文書および／または試験から取得されてもよく、かつ自動的にまたは人間オペレータによって得られてもよい。デバイス特徴データはデバイス特徴データベース５６に記憶されてもよい。コーパスレコードは様々な判定基準に従ってカテゴリにグループ化されてもよい。そのようなグループ化は人間オペレータによってなされてもよく、または教師ありもしくは教師なし学習などの技術を使用して自動的に達成されてもよい。
【００４４】
[0049]各パーサ６４ａ〜ｃは、評決およびスコアを求めるための異なったアルゴリズムを実装してもよい。いくつかの実施形態は、各コーパスデバイスを多次元特徴空間における点として表す。そのような表現は逆引き、すなわち特徴値の集合によるデバイスカテゴリの識別を許容することができる。デバイス特徴値の特定の集合が複数のカテゴリに一致してもよい。パーサ６４ａ〜ｃのいくつかの実施形態は、デバイス特徴の集合が与えられると評決および／またはスコアの集合を返すことが可能なニューラルネットワークなどの自動分類器を利用する。他のパーサは、メンバシップ関数などのファジー論理技術を使用してクライアントシステム１２の評決およびスコアを求めてもよい。更に他のパーサは統計的方法に依存してもよい。いくつかの実施形態において、スコアは、例えばヒューリスティックの集合に従って経験的に求められてもよい。テキスト文字列（例えば、ユーザエージェント指示子）を処理するように構成されるパーサは、カテゴリ識別シグネチャの集合に対してパターンマッチングを使用してもよい。
【００４５】
[0050]ＤＨＣＰデータを処理するように構成される例証的なパーサが以下の通りに動作してもよい。検出の第１の段階では、パーサは、デバイスのコーパスにクライアントシステム１２のｄｈｃｐフィンガープリントもｄｈｃｐベンダーも照合することを試みる。照合が成功すれば、それぞれの評決が、最大スコア（例えば、１００）でスコアアグリゲータ７０に渡される。両フィールドに対して完全一致がない場合、ｄｈｃｐフィンガープリントのみを照合する試みがなされる。不適当な評決を助長することを防止するために、ＤＨＣＰフィンガープリントを照合することによって導出される各評決のスコアは、それぞれの評決のＤＨＣＰベンダーとクライアントシステム１２のＤＨＣＰベンダーとの間の類似性の測度（例えば、レーベンシュタインなどの文字列間距離）に従って選ばれる。
【００４６】
[0051]いくつかの実施形態において、スコアアグリゲータ７０は、個々のパーサ６４ａ〜ｃによって生成される評決６８ａ〜ｃを集中、比較および／または組み合わせて、それぞれのクライアントシステムに対する確定評決を出力する。確定評決はクライアントデバイス１２をデバイスカテゴリに最終的に割り当てる。個々の評決を組み合わせるために、スコアアグリゲータ７０は、当該技術で既知のいかなる方法を使用してもよい。１つの例証的な実施形態において、確定評決は、複数のデータタイプおよび／またはパーサにわたって最高スコアを有する評決として選ばれる：
【００４７】
【数２】
2019512817.tif 000004
【００４８】
式中、σ（ｉ）ｖは、データタイプまたは特徴ｉに従って求められる、評決ｖと関連付けられるスコアを意味し、式中Ｓは全てのデータタイプ／特徴の集合を意味し、かつ式中Ωは全ての評決（カテゴリ指示子）の集合を意味する。代替の実施形態において、σ（ｉ）ｖは評決ｖに対してパーサｉによって求められるスコアを意味する。
【００４９】
[0052]式［２］を使用するときに実際にみられる１つの問題は、非常にしばしば複数の個々の評決ｖが同一のスコアσ（ｉ）ｖで来るため、明確な確定評決がない場合があるということである。そのような状況の例が以下に更に与えられる。
【００５０】
[0053]代替の実施形態は、異なったアルゴリズムに従って、異なったデータタイプ／特徴に従って得られ、かつ／または異なったパーサ６４ａ〜ｃによって算出された個々のスコアσ（ｉ）ｖの組合せとして各評決ｖに対して算出される集約スコアに従って確定評決を求める。１つのそのような例では、集約スコアは個々のスコアの加重和に従って算出される：
【００５１】
【数３】
2019512817.tif 000005
【００５２】
式中、σ（Ａ）ｖは評決ｖに対して算出される集約スコアを意味し、かつ式中ｗ（ｉ）は、データタイプ／特徴ｉと、および／またはスコアσ（ｉ）ｖを生成したパーサと関連付けられる数値重みを意味する。全ての重みｗ（ｉ）が等しいとき、式［３］は個々のスコアの集合の平均として集約スコアを算出するようになる。
【００５３】
[0054]いくつかの実施形態において、重みｗ（ｉ）は、適当なカテゴリ割当てをもたらす際のそれぞれのパーサおよび／またはデータタイプの信頼性の指示子を表す。いくつかのデータタイプ（例えば、ユーザエージェントデータ、ホスト名）はむしろ非特異的である場合があり、または相対的に高いスコアをもつ誤った評決となる場合がある。そのような状況を回避するために、それぞれのデータタイプおよび／またはそれぞれのデータタイプを活用するパーサは、他の、より信頼できるデータ／タイプまたはパーサより低い重みｗ（ｉ）を受けてもよい。いくつかの実施形態において、重みｗ（ｉ）は評決に従って更に変動してもよい：ｗ（ｉ）＝ｗ（ｉ，ｖ）、ここではｗ（ｉ，ｖ）はそれぞれの評決ｖへのデータソースおよび／またはパーサｉの関連性を意味する。いくつかのデータタイプは、他のものよりいくつかの評決に関連してもよい。例えば、ｍＤＮＳデータは、ホスト名データよりプリンタの検出に対して関連してもよい。そのような信頼性／関連性情報が既にスコアにある程度組み込まれているが、いくつかの実施形態は、スコア均衡を破り、したがって明確なカテゴリ割当てをもたらす技術として、評決および／またはパーサ特定重みを使用する。
【００５４】
[0055]評決および／またはパーサ特定重みの１つの例では、Ｅｃｏｂｅｅ，Ｉｎｃ（ＭＡＣプレフィックス４４：６１：３２）およびＳｏｎｏｓ，Ｉｎｃ（ＭＡＣプレフィックスｂ８：ｅ９：３７）は非常に少数のデバイスを生産しており、それらはしたがってＭＡＣアドレスを使用して明確に識別されることができる。ＭＡＣパーサ／データタイプは、したがって、Ｅｃｏｂｅｅおよび／またはＳｏｎｏｓ評決に対するスコア集約で相対的に高い重みを受けてもよい。別の例では、Ｎｅｓｔ（登録商標）デバイスに関して、空のホスト名はＩＰカメラを典型的に示す。いくつかの実施形態は、したがって、Ｎｅｓｔ評決およびホスト名パーサと相対的に高い重みを関連付けてもよい。更に別の例では、ｍＤＮＳデータがタイプ「ａｉｒｐｏｒｔ．ｔｃｐ」のネットワークサービスを示すＡｐｐｌｅ（登録商標）デバイスは多分にルータである。したがって、ｍＤＮＳパーサおよびＡｐｐｌｅ（登録商標）評決とより高い重みが関連付けられてもよい。同様に、ＤＨＣＰフィンガープリント「１，３，６，１２，１５，２８，４２」を有するＡｍａｚｏｎ（登録商標）デバイスは多分にＫｉｎｄｌｅ（登録商標）電子ブックリーダである。いくつかの実施形態は、したがって、Ａｍａｚｏｎ評決およびＤＨＣＰパーサに対してスコアを集約するときに相対重みを利用してもよい。
【００５５】
[0056]重みｗ（ｉ）、ｗ（ｉ，ｖ）は、試行錯誤に従って、または機械学習アルゴリズムを使用して求められてもよい。それらは、連続的に進化するモノのインターネットにおけるデバイス検出を最適化するために、繰り返し微調整されてもよい。重みは更にスケーリングされて集約スコアを正規化しても、すなわち、スコアσ（Ａ）ｖを所望の範囲内に保ってもよい。
【００５６】
[0057]いくつかの実施形態において、集約スコアを求めることは、それぞれのスコアの絶対的または相対的大きさに従って個々のスコアσ（ｉ）ｖを変調することを含む。例えば、
【００５７】
【数４】
2019512817.tif 000006
【００５８】
式中、Ｍ（．）は変調関数を意味する。式［４］の変形を使用する１つの例証的な実施形態は、個々のスコアの最大および最小に従って集約スコアを算出する：
【００５９】
【数５】
2019512817.tif 000007
【００６０】
別の例証的な計算では、最大および最小の個々のスコアが破棄され、そして残りのスコアの平均として集約スコアが算出される。別の例証的な実施形態は、個々のスコアの集合の中央値として集約スコアを求めてもよい。更に別の例では、Ｍは単射関数（例えば、増加し続ける）である。式［４］および［５］に例示されるような変形が、曖昧なカテゴリ割当ての問題に対処する：式［１］または［２］を適用した後、実質的に同様の集約スコアをもつ複数の候補評決がある場合がある。実際には、これは、カテゴリ化エンジン４５、１４５がそれぞれのデバイスに対して一意のカテゴリを決定することができないことを意味する。いくつかの実施形態は、したがって、スコア変調に頼って均衡を破る。いくつかのＭ関数は、例えば、集約スコア均衡を破ろうとして信頼できるパーサを追加的に促進する。
【００６１】
[0058]集約スコアの他の例証的な計算では、いくつかの個々のスコアσ（ｉ）ｖが、それぞれのスコアと関連付けられる評決ｖに従って求められる重みｗ（ｉ）によって変調されてもよい。１つの実施形態において、「不明なデバイス」などの非特異的評決は、集約および意思決定中に相対的に小さい重みを割り当てられることによって、このように抑制されることができる。
【００６２】
[0059]図９に例示されるようないくつかの実施形態において、パーサ６４ａ〜ｃおよび／またはスコアアグリゲータ７０は、それぞれ、個々のスコアσ（ｉ）ｖおよび／または集約スコアσ（Ａ）ｖを計算するための入力として、解析パラメータ値６６の集合および／または集約パラメータ値６７の集合を受けてもよい。パーサがニューラルネットワークを備える実施形態において、解析パラメータ値６６は、例えば、それぞれのパーサのニューラルネットワーク重みの集合を含んでもよい。集約パラメータ値は、とりわけ、重みｗ（ｉ）を含んでもよい。例証的な実施形態において、パラメータ値６６および／または６７はデバイス特徴データベース５６に記憶されて、そこから選択的に検索される。パーサおよびスコア集約ソフトウェアと独立してそのようなパラメータ値を維持することによって、いくつかの実施形態は、エンジン４５、１４５の最適化および／またはアップグレードを容易にする。
【００６３】
[0060]図１０は、本発明のいくつかの実施形態に係るカテゴリ化エンジン４５によって行われる一連の例証的なステップを図示する。全てのカテゴリ指示データ６０が一度に利用可能であるわけではないので、デバイス検出は反復的に進行してもよい。いくつかのデータタイプは取得するのが相対的に簡単であろう一方で、他のものは、ハンドシェイクメッセージ交換、ネットワーク構成パラメータのネゴシエーション、認証などといった相対的に冗長な手順を必要とするであろう。したがって、いくつかの実施形態において、パーサ６４ａ〜ｃは互いと独立して動作し、各パーサが適切な種類のカテゴリ指示データ／特徴の受領に応答する。
【００６４】
[0061]一旦ローカルネットワーク１４に導入されると、一連のステップ４００〜４０１で、デバイス検出装置１８のいくつかの実施形態は、クライアントシステム１２ａ〜ｆおよび／またはルータ１９からカテゴリ指示データ６０を収集し始めてもよい。データ６０を収集することは、それぞれのデータのタイプに依存してもよい。例えば、デバイス検出装置１８は、クライアントシステムから受信されるＨＴＴＰ要求からユーザエージェント指示子を抽出してもよい。いくつかのデバイスがネットワークサービスの提供をブロードキャストし、そのようなメッセージを傍受することによって、装置１８は、それぞれのデバイスがどんな種類のサービスおよび／またはプロトコルをサポートするかを判定してもよい。装置１８は、ネットワークマッパー（ＮＭａｐ）などのサービス発見ツールを更に使用してもよい。Ｂｏｎｊｏｕｒ（登録商標）およびＳＮＭＰなどのネットワークプロトコルおよびサービスについてのデータを収集するために、装置１８のいくつかの実施形態は、クライアントシステムの特定のポートにプローブを送り出し、そして応答をリスンする。データ６０が利用可能であるとき、データディスパッチャ４２はそれぞれのデータのデータタイプを識別し、そしてそれぞれのデータタイプを入力として使用するパーサにデータ６０を選択的に転送してもよい（ステップ４０２〜４０４）。ステップ４０６で、それぞれのパーサは候補評決および関連スコアの集合を求める。一連のステップ４０８〜４１０で、スコアアグリゲータ７０は集約スコアの集合を求め、そして確定評決を選択する。確定評決は次いでエンジン４５の出力を構成してもよい。いくつかの実施形態において、確定評決によって示されるクライアントシステム１２のカテゴリ割当ては時間で変化してもよい。より多くのカテゴリ指示データ６０が利用可能になるにつれて、他のパーサが候補評決およびスコアを提供し始め、次いでアグリゲータ７０がそれらを以前に算出された個々のスコアまたは集約スコアと組み合わせてもよい。
【００６５】
[0062]図１１に例示される別の実施例において、デバイス検出手順の少なくとも一部が構成サーバ５２で実施される。デバイス検出装置１８によって収集されるカテゴリ指示データ６０が構成サーバ５２に送信されてもよく、それは、受信したデータに従っておよび更にデバイス特徴データベース５６に記憶される情報に従ってデバイスタイプを識別する。そのようなデバイス検出は反復性でもよく、サーバ５２が、それぞれのクライアントシステムについての現在利用可能なデータに従ってデバイスタイプの予備判定を行ってもよい。予備判定に応答して、サーバ５２は、デバイス検出装置１８にそれぞれのクライアントについてのさらなるデバイスタイプ指示データを要求してもよい。より多くのカテゴリ指示データが構成サーバ５２に送られ、やがてクライアントシステム１２のカテゴリ割当て成功が達成される。いくつかの実施形態は、エンジン４５と１４５との間でデバイス検出タスクを分ける。１つのそのような例では、各エンジンが候補評決および／またはスコアの集合を算出してもよい。スコアは次いで、装置１８かサーバ５２かでアグリゲートされて確定評決を生成してもよい。
【００６６】
[0063]デバイス検出／発見を介して得られた情報が各種の方途に使用されてもよい。いくつかの例は、各クライアントデバイスにネットワークサービスの集合を調整すること、各デバイスにデバイス特定ソフトウェアエージェントをインストールすること、各デバイスのコンピュータセキュリティ脆弱性を評価すること、および各クライアントデバイスのユーザに構成オプションのデバイス特定集合を提示すること（リモート管理）を含む。
【００６７】
[0064]本発明のいくつかの実施形態の例証的な応用はデバイス特定ソフトウェアプロビジョニングである。図１２は、クライアントシステム１２にユーティリティエージェントを配信するためにデバイス検出装置１８によって行われる一連の例証的なステップを例示する（例えば、図６におけるユーティリティエージェント４１を参照のこと）。いくつかの実施形態において、装置１８はローカルクライアントシステムからの接続要求を待つ。例証的な接続要求はＨＴＴＰ要求から成る。クライアントシステム１２がローカルネットワーク１４または拡張ネットワーク１６上のアドレスにアクセスすることを試みると、装置１８は要求を傍受してもよく、そして応答して、構成サーバ５２にクライアントシステム１２のカテゴリの指示子を送ってもよい。サーバ５２は、クライアントシステム１２の割当てカテゴリに従って選択されるエージェントインストーラの場所指示子（例えば、パス、ＩＰアドレス）を含んでもよい通知で応答してもよい。通知を受信したことに応答して、デバイス検出装置１８は、ＨＴＴＰ要求をエージェントインストーラの場所にリダイレクトしてもよい。代替の実施形態において、装置１８は、サーバ５２からエージェントインストーラを得、次いでそれぞれのクライアントシステムへインストーラをプッシュしてもよい。
【００６８】
[0065]いくつかの実施形態において、エージェントインストーラは、システム１２（またはアドミニストレーションデバイス２０）に、確認インタフェースをユーザに提示させて、エージェント４１をインストールすることに同意するようユーザに要求するように構成される。インストーラは、ユーザがそれぞれの加入の条件（例えばＳＬＡに列記される）に同意することを確認するようユーザに更に要求してもよい。ユーザが合意を示すと、インストーラはエージェント４１をインストールおよび実行してもよい。いくつかの実施形態において、エージェントインストーラおよび／またはデバイス検出装置１８はクライアント構成サーバ５２にそれぞれのクライアントシステムを登録してもよく、登録により、デバイス検出装置１８に付加される加入レコードとそれぞれのクライアントシステムを関連付ける。
【００６９】
[0066]本明細書に記載されているシステムおよび方法を使用して、多種多様なユーティリティエージェントがプロビジョニングされることができる。セキュリティサービスを提供するように構成される例証的なユーティリティエージェント４１は、クライアントシステム１２のセキュリティ評価（例えば、ローカルマルウェアスキャン）を行ってもよく、そして構成サーバ５２またはセキュリティサーバ５０にセキュリティ評価データを送ってもよい。サーバは次いで、ユーザ／アドミニストレータへの表示のためにアドミニストレーションデバイス２０にセキュリティ指示子を転送してもよい。ユーザ／アドミニストレータに表示される例証的なセキュリティ指示子は、とりわけ、クライアントシステム１２で実行する特定のソフトウェアオブジェクト（例えば、オペレーティングシステム）が最新であるかどうかの指示子、およびクライアントシステム１２を保護するために使用されるパスワードの強さの指示子を含んでもよい。セキュリティエージェントによって行われる他の例証的な作用は、それぞれのクライアントシステムのためのソフトウェアおよび／またはセキュリティポリシーを更新することを含む。いくつかの実施形態において、エージェント４１は、例えば、クライアントシステム１２が悪意のある攻撃にさらされているかどうかを判定するネットワークパケット検査アルゴリズムを使用してクライアントシステム１２への／からのネットワークトラヒックをフィルタリングするように構成される。
【００７０】
[0067]セキュア通信サービスを提供するように構成される例証的なユーティリティエージェント４１は、仮想プライベートネットワーク（ＶＰＮ）エージェントを含む。そのようなエージェントは、クライアントシステム１２がローカルネットワーク１４を去るときに（例えば、ユーザが自分の移動電話をもって家を出るときに）クライアントシステム１２を保護することができる。そのようなエージェントは、デバイス検出装置１８および／または構成サーバ５２と共同して、セキュア通信トンネルを開設し、かつ／またはそれぞれのクライアントシステムとセキュリティサーバ５０との間にＶＰＮを設立してもよい（さらなる詳細は以下に）。
【００７１】
[0068]ペアレンタルコントロールサービスを提供するように構成される例証的なユーティリティエージェント４１は、クライアントシステム１２の使用を監視し、そしてアドミニストレーションデバイス２０を介して監督ユーザ（例えば、親）に使用パターンを報告してもよい。エージェント４１は、クライアントシステム１２が一定の遠隔資源（例えば、ＩＰアドレス、ウェブサイトなど）にアクセスするのを、または一定のローカルにインストールされたアプリケーション（例えば、ゲーム）を使用するのを更に防止してもよい。そのような遮断は永久にまたはユーザ特定スケジュールに従って実施されてもよい。
【００７２】
[0069]遠隔技術援助を提供するように構成される例証的なユーティリティエージェント４１は、クライアントシステム１２と構成サーバ５２との間にセキュア通信チャネル（例えば、ＳＳＨトンネル）を自動的に構成および／または開設してもよい。構成および／またはトラブルシューティング指令が次いで、可能な限りクライアントシステム１２のユーザからの明示的な介入または援助なしで、サーバ５２からクライアントシステム１２に送信されてもよい。
【００７３】
[0070]家電製品、ウェアラブルデバイスなどといった、いくつかのクライアントシステムは、上記に示されるようにユーティリティエージェントをインストールすることが可能でない場合がある。しかしながら、そのようなデバイスは、それぞれのデバイスの遠隔指令を可能にする組込み構成および／またはデバイス管理エージェントを含んでもよい。本発明のいくつかの実施形態は、現存の管理エージェントならびにデバイス特定プロトコルおよび／または通信方法を使用して、そのようなデバイスにパラメータ値更新を通信してもよい。そのようなデバイスに対してさえ、デバイスカテゴリを適当に識別することは、構成サーバ５２がそれぞれのクライアントシステムに構成指令を適切にフォーマットおよび通信することを可能にする。そのようなクライアントシステムのカテゴリ割当てを容易にするために、デバイス検出装置１８は、それぞれのクライアントシステムから受信される通信を能動的に解析しても、または構成サーバ５２にそれぞれの通信を再ルーティングしてもよい。
【００７４】
[0071]本発明のいくつかの実施形態は、とりわけ、ウェアラブル、移動通信デバイスおよびスマート家電製品などの「モノのインターネット」クライアントデバイスに特に適用される、自動デバイス検出／発見を可能にする。そのようなクライアントデバイスは、ネットワークに、例えばワイヤレスＬＡＮまたはＢｌｕｅｔｏｏｔｈ（登録商標）リンクに接続するように典型的に構成される。本発明のいくつかの実施形態は、特に使いやすさのために作成され、したがってコンピュータ工学またはネットワーク管理の専門知識を必要としない。
【００７５】
[0072]いくつかの実施形態において、デバイス検出装置は、検出されるデバイスと同じローカルネットワークに接続される。例証的な検出／発見作業は、とりわけ、各クライアントデバイスの製品カテゴリ（例えば、電話、携帯時計、スマートＴＶ、プリンタ、ルータ、サーモスタットなど）を求めること、ならびにクライアントデバイスの製造およびモデル、クライアントデバイスによって使用されるオペレーティングシステム（ＯＳ）のタイプ／バージョン、クライアントデバイスにインストールされるハードウェア部品のタイプ、などといった他のデバイス特徴を求めることを含む。本明細書に記載される方法はデバイス検出装置に限定されない。デバイス検出は、クライアントシステム１２ａ〜ｆ、ルータ１９および／または遠隔サーバによって実施されてもよい。
【００７６】
[0073]いくつかの実施形態は、複数の異なった判定基準に従って、例えば異なったカテゴリ指示データソースに従っておよび／またはそれぞれのデバイスの異なった特徴に従って、カテゴリ割当てを求める。そのような実施形態は、単一の判定基準／アルゴリズム／特徴を使用することがしばしば曖昧または更には不適当なカテゴリ割当てとなるという観察に依存する。そのような状況の例が以下に与えられる。
【００７７】
[0074]カテゴリ割当ての１つの例では、装置１８は、クライアントデバイスについての以下のカテゴリ指示データを取得する（表１）：
【００７８】
【表１】
2019512817.tif 000008
【００７９】
[0075]ＭＡＣアドレスを使用するパーサが表２に例示される評決／スコア対を返す。ここにみられるように、ＭＡＣベースの検出は、明白な勝者のない曖昧な結果をもたらす。
【００８０】
【表２】
2019512817.tif 000009
【００８１】
[0076]ＤＨＣＰデータを使用する別のパーサによって評決／スコア対の第２の集合が計算され、そして表２の評決／スコア対と集約される。集約の結果が表３に示される。ＭＡＣ評決にＤＨＣＰフィンガープリント評決を加えることが曖昧性を実質的に減少させた。
【００８２】
【表３】
2019512817.tif 000010
【００８３】
[0077]ｍＤＮＳデータに基づく別のパーサによって評決／スコア対の第３の集合が算出された。表３における評決／スコア対とのｍＤＮＳ評決スコアの集約が表４に示される結果をもたらし、これは、ルータカテゴリへのクライアントシステム１２の明確かつ適当な割当てを示している。
【００８４】
【表４】
2019512817.tif 000011
【００８５】
[0078]単一のデータソース／特徴を使用することが不適当なカテゴリ割当てを生成する状況の例が以下に示される。デバイスが表５に示されるカテゴリ指示データを提供する。従来のデバイス発見システムは、「ユーザエージェント」データかホスト名データかに従って、それぞれのクライアントがＡｎｄｒｏｉｄデバイスであると結論するであろう。しかしながら、このクライアントにＡｎｄｒｏｉｄベースのソフトウェアを展開することの試みは失敗するであろうが、これはデバイスが実際にはＡｍａｚｏｎ  Ｋｉｎｄｌｅ  Ｆｉｒｅ  ＴＶであり、Ａｎｄｒｏｉｄに緩く基づくカスタムＯＳを使用しているからである。適当なカテゴリ割当ては、ユーザエージェント、ＤＨＣＰ、ｍＤＮＳおよびＭＡＣデータソースを組み合わせることによって達成されることができる。
【００８６】
【表５】
2019512817.tif 000012
【００８７】
[0079]別の例では、クライアントシステムが表６に示されるカテゴリ指示データを提供する。ＩＰＰおよびＩＰＰＳサービスが大抵プリンタによって使用されるので、ｍＤＮＳデータのみを使用して、従来のデバイス発見システムは、このデバイスがプリンタであると結論するであろう。しかし、ＭＡＣがＡｐｐｌｅ（登録商標）デバイスを示し、そしてＡｐｐｌｅ（登録商標）は現在プリンタを生産していない。ホスト名はユーザによって任意に選ばれてもよいので、ホスト名データだけを使用することも検出成功を保証することができない。しかしながら、ＭＡＣ、ホスト名およびユーザエージェントデータを組み合わせることで、ｍＤＮＳデータによって提供される誤解をまねく情報を相殺して、適当なカテゴリ割当て：ＯＳ  Ｘ（登録商標）を走らせているパーソナルコンピュータ、を生成するようにする。
【００８８】
【表６】
2019512817.tif 000013
【００８９】
[0080]上記の実施形態が本発明の範囲から逸脱することなく多くの方法で変更されてもよいことが当業者に明らかであろう。したがって、本発明の範囲は、以下の請求項およびそれらの法的な均等物によって決定されるべきである。
【図１−Ａ】
2019512817.tif 000014
【図１−Ｂ】
2019512817.tif 000015
【図２】
2019512817.tif 000016
【図３】
2019512817.tif 000017
【図４】
2019512817.tif 000018
【図５】
2019512817.tif 000019
【図６】
2019512817.tif 000020
【図７】
2019512817.tif 000021
【図８】
2019512817.tif 000022
【図９】
2019512817.tif 000023
【図１０】
2019512817.tif 000024
【図１１】
2019512817.tif 000025
【図１２】
2019512817.tif 000026
【国際調査報告】
2019512817.tif 000027
2019512817.tif 000028