(58)【調査した分野】(Int.Cl.,DB名)
ネットワークデバイスを更新するためのコンピュータ実装方法であって、前記方法の少なくとも一部が、少なくとも1つのプロセッサを含むコンピューティングデバイスによって実施されており、前記方法は、
エンドポイントデバイス用のネットワーク接続を提供するネットワークデバイスに接続されている少なくとも1つのエンドポイントデバイスのネットワーク活動をモニタリングすることにより、前記エンドポイントデバイスのユーザが前記ネットワークデバイスを介して前記ネットワーク接続にアクセスしていないと予想される周期的時間間隔を決定することであって、
前記決定は、
サービスであって前記サービスの使用は前記ユーザが眠りにつくこと又は目を覚ますことを示すサービスを前記エンドポイントデバイスが提供していると判定することと、
前記エンドポイントデバイスの前記ネットワーク活動に少なくとも部分的に基づいて、前記エンドポイントデバイスが過去に前記ユーザに前記サービスを提供した時刻を識別することと、
前記エンドポイントデバイスが過去に前記ユーザに前記サービスを提供した前記時刻に少なくとも部分的に基づいて、前記ユーザが就寝中であると予想される周期的時間間隔を決定することと、
によって行われる、ことと、
前記ネットワークデバイスに適用されている間、前記エンドポイントデバイス用の前記ネットワーク接続を提供する前記ネットワークデバイスの能力を損なうことになるシステム更新が、前記ネットワークデバイスに対して使用可能であることを検出することと、
前記ユーザが前記ネットワーク接続にアクセスしていないと予想される前記周期的時間間隔に基づいて、前記使用可能なシステム更新を前記ネットワークデバイスに適用するための最適な時間を識別することと、
前記使用可能なシステム更新を前記最適な時間に前記ネットワークデバイスに適用することと、を含む、方法。
前記ユーザが前記ネットワーク接続の範囲外にいると予想される周期的時間間隔を決定することによって、前記ユーザが前記ネットワーク接続にアクセスしていないと予想される少なくとも1つの追加的な周期的時間間隔を決定することを更に含む、請求項1に記載の方法。
前記ユーザが前記ネットワーク接続の範囲内にいると予想されるが前記ネットワーク接続にアクセスしようとしていないと予想される周期的時間間隔を決定することによって、前記ユーザが前記ネットワーク接続にアクセスしていないと予想される少なくとも1つの追加的な周期的時間間隔を決定することを更に含む、請求項1に記載の方法。
前記使用可能なシステム更新を適用するための前記最適な時間を識別することが、前記ユーザが前記ネットワーク接続にアクセスしていないと予想される次の最も近い時間間隔が始まる時間を識別することを含む、請求項1に記載の方法。
前記使用可能なシステム更新を前記最適な時間に前記ネットワークデバイスに適用する前に、前記ユーザが前記ネットワーク接続に現在アクセスしていないことを確認することを更に含む、請求項1に記載の方法。
前記決定モジュールが、前記ユーザが前記ネットワーク接続の範囲外にいると予想される周期的時間間隔を決定することによって、前記ユーザが前記ネットワーク接続にアクセスしていないと予想される少なくとも1つの追加的な周期的時間間隔を決定する、請求項9に記載のシステム。
前記決定モジュールが、前記ユーザが前記ネットワーク接続の範囲内にいると予想されるが前記ネットワーク接続にアクセスしようとしないと予想される周期的時間間隔を決定することによって、前記ユーザが前記ネットワーク接続にアクセスしていないと予想される少なくとも1つの追加的な周期的時間間隔を決定する、請求項9に記載のシステム。
1つ以上のコンピュータ可読命令を含む非一時的コンピュータ可読記憶媒体であって、前記命令が、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
エンドポイントデバイス用のネットワーク接続を提供するネットワークデバイスに接続されている少なくとも1つのエンドポイントデバイスのネットワーク活動をモニタリングすることにより、前記エンドポイントデバイスのユーザが前記ネットワークデバイスを介して前記ネットワーク接続にアクセスしていないと予想される周期的時間間隔を決定させ、
前記決定は、
サービスであって前記サービスの使用は前記ユーザが眠りにつくこと又は目を覚ますことを示すサービスを前記エンドポイントデバイスが提供していると判定することと、
前記エンドポイントデバイスの前記ネットワーク活動に少なくとも部分的に基づいて、前記エンドポイントデバイスが過去に前記ユーザに前記サービスを提供した時刻を識別することと、
前記エンドポイントデバイスが過去に前記ユーザに前記サービスを提供した前記時刻に少なくとも部分的に基づいて、前記ユーザが就寝中であると予想される周期的時間間隔を決定することと、
によって行われ、
前記ネットワークデバイスに適用されている間、前記エンドポイントデバイス用の前記ネットワーク接続を提供する前記ネットワークデバイスの能力を損なうことになるシステム更新が、前記ネットワークデバイスに対して使用可能であることを検出させ、
前記ユーザが前記ネットワーク接続にアクセスしていないと予想される前記周期的時間間隔に基づいて、前記使用可能なシステム更新を前記ネットワークデバイスに適用するための最適な時間を識別させ、
前記使用可能なシステム更新を前記最適な時間に前記ネットワークデバイスに適用させる、コンピュータ可読記憶媒体。
【発明を実施するための形態】
【0013】
本開示は、概して、ネットワークデバイスを更新するためのシステム及び方法を対象とする。より詳細に後述するように、ユーザとネットワークに接続されている1つ又は2つ以上のエンドポイントデバイスとの間の相互作用をモニタリングすることにより、本明細書に記載のシステム及び方法は、ユーザがネットワークにアクセスしようとする可能性の低い未来の期間を予測し得る。このようなものとして、ネットワークを提供するネットワークデバイスに対してシステム更新が使用可能であるとき、開示されるシステム及び方法は、ネットワークにアクセスしようとするユーザの試みを妨害することのない時間にシステム更新をネットワークデバイスに適用し得る。
【0014】
以下に、
図1及び
図2を参照して、ネットワークデバイスを更新するための例示的なシステムの詳細な説明を提供する。対応するコンピュータ実装方法の詳細な説明も
図3に関連して提供される。それに加えて、ユーザがネットワーク接続にアクセスする可能性の低い周期的時間間隔の詳細が、
図4に関連して提供される。最後に、本明細書に記載の実施形態のうちの1つ又は2つ以上を実装することができる例示的なコンピューティングシステム及びネットワークアーキテクチャの詳細な説明が、それぞれ、
図5及び
図6に関連して提供される。
【0015】
図1は、ネットワークデバイスを更新するための例示的なシステム100のブロック図である。この図に図示されるように、例示的なシステム100は、1つ以上のタスクを実施するための1つ以上のモジュール102を含んでもよい。例えば、より詳細に後述するように、例示的なシステム100は、エンドポイントデバイス用のネットワーク接続を提供するネットワークデバイスに接続されている少なくとも1つのエンドポイントデバイスをモニタリングすることにより、エンドポイントデバイスのユーザがネットワークデバイスを介してネットワーク接続にアクセスする可能性の低い周期的時間間隔を決定する決定モジュール104を含んでもよい。例示的なシステム100はまた、ネットワークデバイスに適用されている間、エンドポイントデバイス用のネットワーク接続を提供するネットワークデバイスの能力を損なうことになるシステム更新が、ネットワークデバイスに対して使用可能であることを検出する検出モジュール106を含んでもよい。
【0016】
それに加えて、より詳細に後述するように、例示的なシステム100は、ユーザがネットワーク接続にアクセスする可能性の低い周期的時間間隔に基づいて、使用可能なシステム更新をネットワークデバイスに適用するための最適な時間を識別する識別モジュール108を含んでもよい。最後に、例示的なシステム100は、使用可能なシステム更新を最適な時間にネットワークデバイスに適用する更新モジュール110を含んでもよい。別々の要素として図示されるが、
図1のモジュール102のうちの1つ以上は、単一のモジュール又はアプリケーションの部分を表してもよい。
【0017】
特定の実施形態では、
図1のモジュール102のうち1つ以上は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに1つ以上のタスクを実施させ得る、1つ以上のソフトウェアアプリケーション又はプログラムを表し得る。例えば、より詳細に後述するように、モジュール102のうちの1つ以上は、
図2に示されるデバイス(例えば、ネットワークデバイス202)、
図5のコンピューティングシステム510、及び/又は
図6の例示的なネットワークアーキテクチャ600の部分など、1つ以上のコンピューティングデバイスに格納され、その上で動くように構成されている、ソフトウェアモジュールを表してもよい。
図1のモジュール102のうち1つ以上はまた、1つ以上のタスクを実施するように構成されている1つ以上の専用コンピュータの全て又は一部を表し得る。
【0018】
図1の例示的なシステム100は、様々な方法で実装され得る。例えば、例示的なシステム100の全て又は一部は、
図2における例示的なシステム200の部分を表してもよい。
図2に示されるように、システム200は、ネットワーク204を介してエンドポイントデバイス206(1)〜(N)のうち1つ以上と通信するネットワークデバイス202を含んでもよい。一実施例では、ネットワークデバイス202は、モジュール102のうち1つ以上でプログラムされてもよい。この実施例では、モジュール102は、ネットワークデバイス202上の更新サービスの一部として動作してもよい。追加的に又は代替的に、エンドポイントデバイス206(1)〜(N)の全て又は一部は、モジュール102のうち1つ以上でプログラムされてもよい。これらの実施例では、エンドポイントデバイス206(1)〜(N)にホストされているモジュールは、エンドポイントデバイス206(1)〜(N)上でのモニタリング及びレコーディングアクティビティにおいてネットワークデバイス202上の更新サービスを補助してもよい。
【0019】
一実施形態では、
図1のモジュール102のうち1つ以上は、ネットワークデバイス202の少なくとも1つのプロセッサによって実行されるとき、ネットワークデバイス202がシステム更新をネットワークデバイス202に適用することを可能にし得る。例えば、より詳細に後述するように、決定モジュール104は、ネットワークデバイス202に、エンドポイントデバイス206(1)〜(N)のうち少なくとも1つをモニタリングすることにより、エンドポイントデバイス206(1)〜(N)のユーザがネットワークデバイス202を介してネットワーク204にアクセスする可能性の低いときを示す時間間隔208を決定させてもよい。それに加えて、検出モジュール106は、ネットワークデバイス202に、システム更新210がネットワークデバイス202に対して使用可能であることを検出させてもよい。これに応じて、識別モジュール108は、ネットワークデバイス202に、時間間隔208に基づいて、システム更新210をネットワークデバイス202に適用するのに最適な時間212を識別させてもよい。最後に、更新モジュール110は、ネットワークデバイス202に、システム更新210を最適な時間212にネットワークデバイス202に適用させてもよい。
【0020】
ネットワークデバイス202は、一般に、ローカルネットワーク及び/又は外部ネットワーク内のコンピューティングデバイス間でトラフィック(例えば、パケット)を転送することができる任意のタイプ又は形態のネットワークアプライアンス又はデバイスを表す。一部の実施例では、ネットワークデバイス202は、モデム及び/又はルータを表してもよい。「モデム」という用語は、本明細書で使用するとき、一般に、インターネットへ(例えば、インターネットサービスプロバイダへ)の接続を確立し、インターネット接続を1つ以上の追加のデバイスにまで拡張する任意のタイプ又は形態のデバイスを指す。一部の実施例では、モデムは、ルータを介して(例えば、ローカル又は内部ネットワークを作成して)複数のコンピューティングデバイスをインターネットに接続してもよい。「ルータ」という用語は、本明細書で使用するとき、一般に、ローカルネットワーク内のデバイス間で及び/又はモデムを介して外部ネットワークにトラフィックを転送する任意のタイプ又は形態のデバイスを指す。
【0021】
エンドポイントデバイス206(1)〜(N)は、一般に、コンピュータ実行可能命令を読み取ることができ、及び/又はネットワークデバイスを介してネットワークに接続することができる、任意のタイプ又は形態のコンピューティングデバイスを表す。一部の実施例では、エンドポイントデバイス206(1)〜(N)の全て又は一部は、特定のユーザ又はユーザのグループによって所有及び/又はアクセスされてもよい。例えば、エンドポイントデバイス206(1)〜(N)は、住宅又はオフィス内のインターネットに接続可能なデバイスの全て又は一部を含んでもよい。エンドポイントデバイス206(1)〜(N)の例としては、ラップトップ、タブレット、デスクトップ、サーバ、携帯電話、携帯情報端末(PDA)、モノのインターネット(IoT)デバイス(例えば、インターネットに接続可能なサーモスタット、台所用器具、セキュリティシステム、ベビーモニタなど)、マルチメディアプレーヤー、埋め込みシステム、ウェアラブルデバイス(例えば、スマートウォッチ、スマートグラスなど)、ゲーム機、それらの1つ以上の組み合わせ、
図5の例示的なコンピューティングシステム510、又は任意の他の好適なコンピューティングデバイスが挙げられるが、これらに限定されない。
【0022】
ネットワーク204は、一般に、通信若しくはデータ転送を容易にすることが可能な、任意の媒体又はアーキテクチャを表す。記載のように、ネットワーク204は、エンドポイントデバイス206(1)〜(N)とネットワークデバイス202との間で通信を容易にしてもよい。それに加えて、ネットワーク204は、エンドポイントデバイス206(1)〜(N)のうち2つ以上の間で通信を容易にしてもよい。一部の実施例では、ネットワーク204は、ホームネットワークなどのローカルエリアネットワーク(LAN)を表してもよい。ネットワーク204の追加の例としては、イントラネット、ワイドエリアネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、及び/又は任意の他の好適なタイプのネットワークが挙げられるが、これらに限定されない。ネットワーク204は、無線接続又は有線接続を使用して、通信又はデータ転送を容易にしてもよい。
【0023】
図3は、ネットワークデバイスを更新するための例示的なコンピュータ実装方法300のフローチャートである。
図3に示されるステップは、任意の好適なコンピュータ実行可能コード及び/又はコンピューティングシステムによって実施されてもよい。一部の実施形態では、
図3に示すステップは、
図1のシステム100、
図2のシステム200、
図5のコンピューティングシステム510、及び/又は
図6の例示的なネットワークアーキテクチャ600の部分の構成要素のうち1つ又は2つ以上によって実施されてもよい。
【0024】
図3に示されるように、ステップ302では、本明細書に記載のシステムのうち1つ以上は、エンドポイントデバイス用のネットワーク接続を提供するネットワークデバイスに接続されている少なくとも1つのエンドポイントデバイスをモニタリングすることにより、エンドポイントデバイスのユーザがネットワークデバイスを介してネットワーク接続にアクセスする可能性の低い周期的時間間隔を決定してもよい。例えば、決定モジュール104は、
図2のネットワークデバイス202の一部として、エンドポイントデバイス206(1)〜(N)のうち少なくとも1つをモニタリングすることにより、エンドポイントデバイス206(1)〜(N)のユーザがネットワークデバイス202を介してネットワーク204にアクセスする可能性の低いときを示す時間間隔208を決定してもよい。
【0025】
「時間間隔」という用語は、本明細書で使用するとき、一般に、任意の指定された期間を指す。一部の実施例では、時間間隔は、開始点(例えば、午後2:00)及び終了点(例えば、午後5:00)によって表現されてよい。「周期的時間間隔」という用語は、本明細書で使用するとき、一般に、規則的に繰り返されている任意の時間間隔を指す。例えば、開始点及び終了点に加えて、周期的時間間隔は、それが繰り返される頻度(例えば、毎週木曜日)によって表現されてよい。
【0026】
本明細書に記載のシステムは、ユーザがネットワーク接続にアクセスする可能性の低い周期的時間間隔を様々な方法で決定してもよい。一部の実施例では、決定モジュール104は、特定の場所にいる全てのユーザがその場所でネットワーク接続にアクセスすることができない可能性の高い及び/又はそれを行おうとしない周期的時間間隔を決定してもよい。例えば、決定モジュール104は、全てのユーザがネットワーク接続の範囲外にいる可能性の高いときを決定してもよい。例として、決定モジュール104は、オフィスの全ての従業員がオフィスにいない周期的時間間隔を決定してもよい。追加的に又は代替的に、決定モジュール104は、ネットワーク接続の全てのユーザがネットワーク接続の範囲内にいるがネットワーク接続にアクセスしようとしていない周期的時間間隔を決定してもよい。例えば、決定モジュール104は、住宅内で生活している全ての個人が就寝中である周期的時間間隔を決定してもよい。
【0027】
一部の実施形態では、決定モジュール104は、ユーザとユーザのエンドポイントデバイスのうち1つ以上との間の相互作用に基づいて、ユーザがネットワーク接続にアクセスする可能性の低い周期的時間間隔を識別してもよい。例えば、決定モジュール104は、ユーザが各自のエンドポイントデバイスを介してネットワーク接続にアクセスすることのそれぞれの事例を検出してもよい。具体的には、決定モジュール104は、エンドポイントデバイスとネットワーク接続を提供するネットワークデバイスとの間で配信されている全てのネットワークトラフィックを識別及び/又は傍受してもよい。決定モジュール104は、ネットワークトラフィックが配信されている時間(例えば、時刻、曜日、及び/又は日)を記録し、次いで記録された時間に基づいてネットワーク無活動の期間を識別してもよい。
【0028】
追加的に又は代替的に、決定モジュール104は、1つ以上のエンドポイントデバイスによって提供されているサービスに基づいて、ユーザがネットワーク接続にアクセスする可能性の低いときを決定してもよい。例えば、決定モジュール104は、エンドポイントデバイスがユーザに対してサービスを定期的に提供していることを判定してもよい。次いで、決定モジュール104は、エンドポイントデバイスによって提供されているサービスのタイミングに基づいて、エンドポイントデバイスによって利用されているネットワーク接続にユーザがアクセスする可能性の低いときを推定してもよい。一部の実施形態では、決定モジュール104は、ユーザによって入力された及び/又はエンドポイントデバイスによって収集された情報が入っているエンドポイントデバイス内のユーザアカウント又はプロファイルにアクセスすることにより、エンドポイントデバイスがユーザに対して周期的なサービスを提供しているときを示す情報を識別してもよい。
【0029】
エンドポイントデバイスによって提供されているサービスをモニタリングする実施例では、決定モジュール104は、ユーザが自宅内にスマートサーモスタット(例えば、NEST AUTO−AWAYサーモスタット)を設置していることを判定してもよい。このようなデバイスは、住宅内で生活している個人が在宅しているか又は外出しているかに基づいて、自動的に住宅内の温度を調整し得る。このようなものとして、デバイスは、住宅内での個人の活動期間をモニタリング、記録、及び/又は予測し得る。決定モジュール104は、デバイス内のこの情報にアクセスし、同情報を使用して、住宅内の個人が住宅から離れている可能性の高いときを決定してもよい。
【0030】
一部の実施例では、決定モジュール104は、ユーザがネットワーク接続にアクセスする可能性の低い周期的時間間隔を決定する前に、ユーザの活動の習慣又はパターンに関する履歴データ(即ち、訓練データ)を一定期間にわたって収集してもよい。例えば、決定モジュール104は、ユーザの1つ以上のエンドポイントデバイスを所定の時間量(例えば、1週間、1か月など)にわたってモニタリングして、ユーザのスケジュール(例えば、ユーザが在宅している、出勤している、使い走りをしているなどの可能性が高いとき)に関する情報を収集してもよい。次いで、決定モジュール104は、このデータを分析して、ユーザがネットワーク接続にアクセスしなかった及び/又はアクセスすることができなかった時間間隔を識別してもよい。次に、決定モジュール104は、識別された時間間隔を使用して、ユーザがネットワーク接続にアクセスする可能性の低い未来の時間間隔を予測してもよい。例えば、決定モジュール104は、識別された時間間隔を未来の事例に当てはめて推定してもよい。例として、決定モジュール104は、ユーザが過去4回のうち3回の金曜日において午前7:00から午前11:00までネットワーク接続にアクセスしなかった場合、同ユーザは以降の金曜日の同じ時間間隔中にネットワーク接続にアクセスする可能性が低いことを決定してもよい。更に、決定モジュール104は、ユーザのエンドポイントデバイスのうち1つ以上をモニタリングし続けることにより、ユーザがネットワーク接続にアクセスする可能性の低い周期的時間間隔を更新又は修正してもよい。
【0031】
図4は、ユーザが自宅内においてネットワーク接続にアクセスする可能性の低い周期的時間間隔の実施例を示している。この実施例では、ユーザスケジュール402の網掛け部分は、ユーザがネットワーク接続から離れている、ネットワーク接続にアクセスすることができない、及び/又はネットワーク接続にアクセスしようとしていない可能性の高いときの期間に対応する各週中の時間間隔を示し得る。
【0032】
具体的には、
図4に示されるように、ユーザスケジュール402は、土曜日及び日曜日の午後12:00〜午前8:00並びに日曜日の夜から金曜日の朝までのそれぞれの夜の午後11:00〜午前7:00において、ユーザがネットワーク接続にアクセスする可能性が低いことを示し得る。この実施例では、これらの時間間隔は、ユーザが就寝中である可能性の高いときと対応し得る。決定モジュール104は、ユーザによって開始されたネットワーク活動がそれぞれの夜に停止した時間、ユーザが自分の携帯電話内でアラームを設定する時間、ユーザがインターネットに接続可能なコーヒーメーカーをプログラムした時間、及び/又はユーザが眠りにつく若しくは目を覚ますときの任意の追加の徴候を判定することに基づいて、これらの時間間隔を識別していてもよい。それに加えて、ユーザスケジュール402は、月曜日〜金曜日の午前9:00〜午後5:30において、ユーザがネットワーク接続にアクセスする可能性が低いことも示し得る。この実施例では、これらの時間間隔は、ユーザが出勤ないしは別の理由で外出している可能性の高いときと対応し得る。一実施例では、決定モジュール104は、ユーザの住宅内にあるセキュリティシステム及び/又はスマートサーモスタットなどのサービスをモニタリングすることに基づいて、これらの時間間隔を識別していてもよい。
【0033】
更に、ユーザスケジュール402は、月曜日〜金曜日の午後6:00〜午後6:30において、ユーザがネットワーク接続にアクセスする可能性が低いことも示し得る。この実施例では、これらの時間間隔は、ユーザが飼い犬を散歩させること又は夕食を作ることなどのタスク又は雑用を実施している可能性の高いときと対応し得る。最後に、ユーザスケジュール402は、土曜日の午前12:00〜午後2:00において、ユーザがネットワーク接続にアクセスする可能性が低いことも示し得、これは、毎週の約束又は外出と対応し得る。一実施例では、決定モジュール104は、これらの時間中にユーザがエンドポイントデバイスを介してネットワーク活動を全く又は最小限にしか開始しないことを判定することに基づいて、これらの時間間隔を識別していてもよい。
【0034】
図3に戻ると、ステップ304では、本明細書に記載のシステムのうち1つ以上は、ネットワークデバイスに適用されている間、エンドポイントデバイス用のネットワーク接続を提供するネットワークデバイスの能力を損なうことになるシステム更新が、ネットワークデバイスに対して使用可能であることを検出してもよい。例えば、検出モジュール106は、
図2のネットワークデバイス202の一部として、システム更新210がネットワークデバイス202に対して使用可能であることを検出してもよい。
【0035】
「システム更新」という用語は、本明細書で使用するとき、一般に、コンピューティングデバイスに対する任意のタイプ又は形態のソフトウェアベースのアップグレード又は改良を指す。一部の実施例では、デバイスの開発者及び製造業者は、デバイスのセキュリティ及び/又はパフォーマンスを向上させるように設計されたシステム更新を定期的に配信してよい。システム更新は、コンピューティングデバイス上で動作している実行可能コード(例えば、オペレーティングシステム、アプリケーション、ファームウェアなど)の全て又は一部を置換することにより、このような利益を生じさせてよい。
【0036】
本明細書に記載のシステムは、ネットワークデバイスに対して使用可能なシステム更新を様々な方法で検出してもよい。一部の実施例では、検出モジュール106は、使用可能な更新を定期的に(例えば、毎日、毎週など)探してもよい。例えば、検出モジュール106は、定期的に、システム更新が使用可能になっていることの表示について、ネットワークデバイスの開発者又は製造業者によって提供されているウェブサイトに問い合わせても又はこれをクローリングしてもよい。追加的に又は代替的に、検出モジュール106は、ネットワークデバイスに対してシステム更新が使用可能になっていることの表示を直接受信してもよい。例えば、ネットワークデバイスの開発者又は製造業者は、システム更新が使用可能であることを顧客に知らせるために、顧客によって購入された全て又は一部のネットワークデバイスに通知を配信してもよい。
【0037】
一部の実施例では、検出モジュール106は、使用可能なシステム更新の重要度又は緊急度のレベルを判定してもよい。例えば、検出モジュール106は、更新がネットワークデバイスのパフォーマンス又はセキュリティを向上させる程度を判定してもよい。検出モジュール106は、使用可能なシステム更新の重要度のレベルを様々な方法で識別又は推測してもよい。一実施例では、検出モジュール106は、更新なしではネットワークデバイスがセキュリティ脅威に対して機能しない及び/又は無防備になる場合には、使用可能なシステム更新を重大に分類してもよい。代替的に、検出モジュール106は、更新に軽微なかつ/又は必須でないアップグレード(例えば、小さいソフトウェアバグに対する修正)しか入っていない場合には、使用可能なシステム更新を非重大に分類してもよい。
【0038】
更に、一部の実施形態では、検出モジュール106は、更新の作成者又は配信者が更新に重要度の表示を(例えば、更新に「必須」又は「重大」とラベル付けすることによって)直接タグ付けしていることを判定してもよい。別の実施例では、検出モジュール106は、ネットワークデバイスが更新を最後に受信してから経過した時間量など、更新に関連したコンテキスト要素に基づいて更新の重要度のレベルを決定してもよい。
【0039】
図3に戻ると、ステップ306では、本明細書に記載のシステムのうち1つ以上は、ユーザがネットワーク接続にアクセスする可能性の低い周期的時間間隔に基づいて、使用可能なシステム更新をネットワークデバイスに適用するための最適な時間を識別してもよい。例えば、識別モジュール108は、
図2のネットワークデバイス202の一部として、時間間隔208に基づいて最適な時間212を識別してもよい。
【0040】
本明細書に記載のシステムは、使用可能なシステム更新をネットワークデバイスに適用するための最適な時間を様々な方法で識別してもよい。一部の実施例では、識別モジュール108は、更新を適用するための最適な時間は、更新の検出の直後の時間(即ち、現在の時間)であることを決定してもよい。例えば、識別モジュール108は、ネットワークデバイスよって提供されているネットワーク接続にユーザがアクセスする可能性の低い周期的時間間隔内で更新が識別された場合には、更新をネットワークデバイスに直ちに適用することを決定してもよい。代替的に、識別モジュール108は、ユーザがネットワークデバイスに現在アクセスしていないこと及び/又は更新の適用がユーザのネットワークサービスに大幅な中断をもたらすことにならないことを判定することを基にして、更新がネットワークデバイスに直ちに適用されるべきであることを決定してもよい。更に、一部の実施例では、識別モジュール108は、更新がネットワークデバイスのセキュリティ及び/又はパフォーマンスに対して重大であることをその更新の重要度のレベルが示していることを判定することに基づいて、更新がネットワークデバイスに直ちに適用されるべきであることを決定してもよい。
【0041】
他の実施例では、識別モジュール108は、システム更新をネットワークデバイスに適用するための最適な時間が未来の時間であることを決定してもよい。例えば、ユーザがネットワーク接続にアクセスする可能性の低い周期的時間間隔内で更新が検出されない場合に、識別モジュール108は、次の最も近い周期的時間間隔の開始まで更新の適用を待つことを決定してもよい。
図4の実施例を参照すると、検出モジュール106は、使用可能なシステム更新を土曜日の午前11:00に検出し得る。この実施例では、識別モジュール108は、更新を適用するための最適な時間が土曜日の午前12:00であることを決定してもよい。
【0042】
一実施形態では、識別モジュール108は、次の最も近い周期的時間間隔の期間が、更新をネットワークデバイスに適用するのに十分であるかどうかに基づいて、システム更新を適用するための最適な時間を識別してもよい。更新を適用するための推定された時間量が、次の最も近い時間間隔の期間よりも長い場合、識別モジュール108は、更新を適用するための最適な時間が、少なくとも推定適用時間と同程度の長さである別の時間間隔の開始時であることを決定してもよい。
図4に関連した上述の実施例を参照すると、識別モジュール108は、使用可能なシステム更新が2時間を超える推定適用時間を必要とすることを判定することがあり得る。このため、識別モジュール108は、更新を適用するための最適な時間が(午前12:00でなくて)午後12:00であることを決定してもよい。
【0043】
図3に戻ると、ステップ308では、本明細書に記載のシステムのうち1つ以上は、使用可能なシステム更新を最適な時間にネットワークデバイスに適用してもよい。例えば、更新モジュール110は、ネットワークデバイス202の一部として、システム更新210を適切な時間212にネットワークデバイス202に適用してもよい。
【0044】
本明細書に記載のシステムは、システム更新をネットワークデバイスに様々な方法で適用してもよい。一部の実施例では、更新モジュール110は、更新を提供している組織によって管理されているサーバ又はデータベースから、更新を含んでいるコードのファイル又は一部をダウンロード及び/又は受信してもよい。次いで、更新モジュール110は、コードのファイル又は一部をネットワークデバイス上でインストール又は実行してもよい。上述したように、一部の実施形態では、更新をネットワークデバイスに適用することは、ネットワーク接続を提供するネットワークデバイスの能力を中断させる又は損なうことがある。このような実施形態では、更新モジュール110が更新を適用するプロセスを完了した後、ネットワークデバイスは、ネットワーク接続を提供することを(例えば、ネットワークデバイスをリブート又はリスタートすることによって)再開してもよい。
【0045】
一部の実施例では、更新モジュール110は、更新を適用する前に、ユーザが現在、ネットワークデバイスによって提供されているネットワーク接続にアクセスしようとしていないことを確認してもよい(即ち、更新モジュール110は、ユーザによる予想外のネットワーク接続へのアクセスが行われていないことを確実にし得る)。一方、一部の実施形態では、更新モジュール110は、ユーザからの指示なしで、使用可能なシステム更新をネットワークデバイスに適用してもよい。例えば、更新モジュール110は、ユーザに迷惑をかける可能性が低いと識別モジュール108が決定した時間に更新を適用し得るので、更新モジュール110は、更新をネットワークデバイスに適用する前にユーザから許可を得なくてもよい。
【0046】
図3に関連して上述したように、ネットワークデバイスは、ネットワークデバイスによって提供されているネットワークに接続された1つ以上のエンドポイントデバイスをモニタリングして、エンドポイントデバイスのユーザがネットワークにアクセスする可能性の低い時間間隔を決定してもよい。例えば、ネットワークデバイスは、ユーザがネットワークにアクセスすることができない及び/又はこれをしようとしない周期的時間間隔を決定してもよい。ネットワークデバイスに対してシステム更新が使用可能であるとき、ネットワークデバイスは、ユーザがネットワークにアクセスする可能性の低い次の最も近い時間を識別してもよい。次いで、ネットワークデバイスは、ネットワークにアクセスしようとするユーザの試みを妨害しないように、システム更新をこの時間にネットワークデバイスに適用してもよい。
【0047】
図5は、本明細書に記載及び/又は図示される実施形態のうち1つ又は2つ以上を実装することができる例示的なコンピューティングシステム510のブロック図である。例えば、コンピューティングシステム510の全て又は一部は、単独で又は他の要素と組み合わせてのいずれかで、(
図3に示されるステップのうち1つ又は2つ以上などの)本明細書に記載するステップのうち1つ又は2つ以上を実施してもよく、かつ/又はそれを実施するための手段となってもよい。コンピューティングシステム510の全て又は一部はまた、本明細書に記載及び/又は図示される他の任意のステップ、方法、若しくは処理を実施してもよく、かつ/又はそれを実施するための手段であってもよい。
【0048】
コンピューティングシステム510は、コンピュータ可読命令を実行することができる任意のシングル若しくはマルチプロセッサのコンピューティングデバイス又はシステムを幅広く表す。コンピューティングシステム510の例としては、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は他の任意のコンピューティングシステム若しくはデバイスが挙げられるが、これらに限定されない。その最も基本的な構成において、コンピューティングシステム510は、少なくとも1つのプロセッサ514及びシステムメモリ516を含んでもよい。
【0049】
プロセッサ514は、一般に、データの処理又は命令の解釈及び実行が可能な任意のタイプ又は形態の物理的処理ユニット(例えば、ハードウェア実装型中央処理ユニット)を表す。特定の実施形態では、プロセッサ514は、ソフトウェアアプリケーション又はモジュールから命令を受信してもよい。これらの命令は、プロセッサ514に、本明細書に記載及び/又は図示される例示的な実施形態のうち1つ又は2つ以上の機能を実施させてもよい。
【0050】
システムメモリ516は、一般に、データ及び/又は他のコンピュータ可読命令を格納することができる任意のタイプ又は形態の揮発性又は不揮発性の記憶デバイス又は媒体を表す。システムメモリ516の例としては、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、又は他の任意の好適なメモリデバイスが挙げられるが、これらに限定されない。必須ではないが、特定の実施形態では、コンピューティングシステム510は、揮発性メモリユニット(例えば、システムメモリ516など)、及び不揮発性記憶デバイス(例えば、詳細に後述するような、一次記憶デバイス532など)の両方を含んでもよい。一実施例では、
図1のモジュール102のうち1つ又は2つ以上がシステムメモリ516内にロードされてもよい。
【0051】
特定の実施形態では、例示的なコンピューティングシステム510はまた、プロセッサ514及びシステムメモリ516に加えて、1つ又は2つ以上の構成要素又は要素を含んでもよい。例えば、
図5に示されるように、コンピューティングシステム510は、メモリコントローラ518、入力/出力(I/O)コントローラ520、及び通信インターフェース522を含んでもよく、それらはそれぞれ通信基盤512を介して相互接続されてもよい。通信基盤512は、一般に、コンピューティングデバイスの1つ又は2つ以上の構成要素間の通信を容易にすることができる、任意のタイプ又は形態の基盤を表す。通信基盤512の例としては、通信バス(産業標準構成(ISA)、周辺装置相互接続(PCI)、PCIエクスプレス(PCIe)、又は類似のバスなど)及びネットワークが挙げられるが、これらに限定されない。
【0052】
メモリコントローラ518は、一般に、メモリ若しくはデータを扱うこと、又はコンピューティングシステム510の1つ若しくは2つ以上の構成要素間の通信を制御することができる、任意のタイプ又は形態のデバイスを表す。例えば、特定の実施形態では、メモリコントローラ518は、通信基盤512を介して、プロセッサ514、システムメモリ516、及びI/Oコントローラ520の間の通信を制御してもよい。
【0053】
I/Oコントローラ520は、一般に、コンピューティングデバイスの入出力機能を調整及び/又は制御することができる、任意のタイプ又は形態のモジュールを表す。例えば、特定の実施形態では、I/Oコントローラ520は、プロセッサ514、システムメモリ516、通信インターフェース522、ディスプレイアダプタ526、入力インターフェース530、及び記憶インターフェース534などの、コンピューティングシステム510の1つ又は2つ以上の要素間におけるデータの転送を制御し、又はそれを容易にしてもよい。
【0054】
通信インターフェース522は、例示的なコンピューティングシステム510と1つ又は2つ以上の追加のデバイスとの間の通信を容易にすることができる、任意のタイプ又は形態の通信デバイス又はアダプタを幅広く表す。例えば、特定の実施形態では、通信インターフェース522は、コンピューティングシステム510と、追加のコンピューティングシステムを含む私設又は公衆ネットワークとの間の通信を容易にしてもよい。通信インターフェース522の例としては、有線ネットワークインターフェース(ネットワークインターフェースカードなど)、無線ネットワークインターフェース(無線ネットワークインターフェースカードなど)、モデム、及び他の任意の好適なインターフェースが挙げられるが、これらに限定されない。少なくとも1つの実施形態では、通信インターフェース522は、インターネットなどのネットワークへの直接リンクを介して、リモートサーバへの直接接続を提供してもよい。通信インターフェース522はまた、例えば、ローカルエリアネットワーク(イーサネット(登録商標)ネットワークなど)、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラー電話接続、衛星データ接続、又は他の任意の好適な接続を通して、このような接続を間接的に提供してもよい。
【0055】
特定の実施形態では、通信インターフェース522はまた、外部バス又は通信チャネルを介して、コンピューティングシステム510と1つ又は2つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成された、ホストアダプタを表してもよい。ホストアダプタの例としては、非限定的に、小型コンピュータシステムインターフェース(SCSI)ホストアダプタ、ユニバーサルシリアルバス(USB)ホストアダプタ、米国電気電子学会(IEEE)1394ホストアダプタ、アドバンストテクノロジーアタッチメント(ATA)、パラレルATA(PATA)、シリアルATA(SATA)、及び外部SATA(eSATA)ホストアダプタ、ファイバーチャネルインターフェースアダプタ、イーサネット(登録商標)アダプタなどが挙げられる。通信インターフェース522はまた、コンピューティングシステム510が分散型又はリモートコンピューティングに関与することを可能にしてもよい。例えば、通信インターフェース522は、実行のためにリモートデバイスから命令を受信し、又はリモートデバイスに命令を送信してもよい。
【0056】
図5に示すように、コンピューティングシステム510はまた、ディスプレイアダプタ526を介して通信基盤512に連結される少なくとも1つのディスプレイデバイス524を含んでもよい。ディスプレイデバイス524は、一般に、ディスプレイアダプタ526によって送付される情報を視覚的に表示することができる、任意のタイプ又は形態のデバイスを表す。同様に、ディスプレイアダプタ526は、一般に、ディスプレイデバイス524上に表示するために、通信基盤512から(又は当該技術分野において既知であるように、フレームバッファから)グラフィックス、テキスト、及び他のデータを送付するように構成された、任意のタイプ又は形態のデバイスを表す。
【0057】
図5に示すように、例示的なコンピューティングシステム510はまた、入力インターフェース530を介して通信基盤512に連結される少なくとも1つの入力デバイス528を含んでもよい。入力デバイス528は、一般に、コンピュータ又は人間のいずれかが生成した入力を、例示的なコンピューティングシステム510に提供することができる、任意のタイプ又は形態の入力デバイスを表す。入力デバイス528の例としては、キーボード、ポインティングデバイス、音声認識デバイス、又は他の任意の入力デバイスが挙げられるが、これらに限定されない。
【0058】
図5に示すように、例示的なコンピューティングシステム510はまた、記憶インターフェース534を介して通信基盤512に連結される、一次記憶デバイス532及びバックアップ記憶デバイス533を含んでもよい。記憶デバイス532及び533は、一般に、データ及び/又は他のコンピュータ可読命令を格納することができる、任意のタイプ又は形態の記憶デバイス又は媒体を表す。例えば、記憶デバイス532及び533は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、ソリッドステートドライブ、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであってもよい。記憶インターフェース534は、一般に、記憶デバイス532及び533とコンピューティングシステム510の他の構成要素との間でデータを転送するための、任意のタイプ又は形態のインターフェース又はデバイスを表す。
【0059】
特定の実施形態では、記憶デバイス532及び533は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を格納するように構成された取外し可能な記憶ユニットから読み取り、かつ/又はそれに書き込むように構成されてもよい。好適な取外し可能な記憶ユニットの例としては、非限定的に、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス532及び533はまた、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令がコンピューティングシステム510内にロードされることを可能にする、他の同様の構造体又はデバイスを含んでもよい。例えば、記憶デバイス532及び533は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み取り、かつ書き込むように構成されてもよい。記憶デバイス532及び533はまた、コンピューティングシステム510の一部であってもよく、又は他のインターフェースシステムを通してアクセスされる別個のデバイスであってもよい。
【0060】
他の多くのデバイス又はサブシステムが、コンピューティングシステム510に接続されてもよい。反対に、
図5に示す構成要素及びデバイスの全てが、本明細書に記載及び/又は図示される実施形態を実践するために存在する必要があるわけではない。上記で言及したデバイス及びサブシステムはまた、
図5に示されるものとは異なる方法で相互接続されてもよい。コンピューティングシステム510はまた、任意の数のソフトウェア、ファームウェア、及び/又はハードウェア構成を用いてもよい。例えば、本明細書で開示する例示的な実施形態の1つ以上は、コンピュータ可読媒体上で、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される)としてコード化されてもよい。「コンピュータ可読媒体」という用語は、本明細書で使用するとき、一般に、コンピュータ可読命令を格納又は保有することができる、任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、非限定的に、搬送波などの伝送型媒体、並びに磁気記憶媒体(例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク)、光学記憶媒体(例えば、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、及びブルーレイ(BLU−RAY)(登録商標)ディスク)、電子記憶媒体(例えば、ソリッドステートドライブ及びフラッシュメディア)、及び他の分散システムなどの非一時的媒体が挙げられる。
【0061】
コンピュータプログラムを包含するコンピュータ可読媒体は、コンピューティングシステム510内にロードされてもよい。コンピュータ可読媒体に格納されたコンピュータプログラムの全て又は一部は、次いで、システムメモリ516内に、及び/又は記憶デバイス532及び533の様々な部分内に格納されてもよい。プロセッサ514によって実行されるとき、コンピューティングシステム510内にロードされたコンピュータプログラムは、プロセッサ514に、本明細書に記載及び/又は図示される例示的な実施形態のうち1つ又は2つ以上の機能を実施させてもよく、かつ/又はそれらを実施するための手段とならせてもよい。追加的に又は代替案として、本明細書に記載及び/又は図示される例示的な実施形態の1つ以上は、ファームウェア及び/又はハードウェアに実装されてもよい。例えば、コンピューティングシステム510は、本明細書で開示する例示的な実施形態のうち1つ又は2つ以上を実装するように適合された特定用途向け集積回路(ASIC)として構成されてもよい。
【0062】
図6は、クライアントシステム610、620、及び630、並びにサーバ640及び645がネットワーク650に連結され得る、例示的なネットワークアーキテクチャ600のブロック図である。上記に詳述したように、ネットワークアーキテクチャ600の全て又は一部は、単独で又は他の要素と組み合わせてのいずれかで、(
図3に示されるステップのうち1つ又は2つ以上などの)本明細書で開示するステップのうち1つ又は2つ以上を実施してもよく、かつ/又はそれを実施するための手段となってもよい。ネットワークアーキテクチャ600の全て又は一部はまた、本開示に記載される他のステップ及び特徴を実施するために使用されてもよく、かつ/又はそれを実施するための手段となってもよい。
【0063】
クライアントシステム610、620、及び630は、一般に、
図5の例示的なコンピューティングシステム510などの、任意のタイプ又は形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ640及び645は、一般に、様々なデータベースサービスを提供し、かつ/又は特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ又はデータベースサーバなどのコンピューティングデバイス又はシステムを表す。ネットワーク650は、一般に、例えばイントラネット、WAN、LAN、PAN、又はインターネットを含む、任意の電気通信ネットワーク又はコンピュータネットワークを表す。一実施例では、クライアントシステム610、620、及び/若しくは630、並びに/又はサーバ640及び/若しくは645は、
図1からのシステム100の全て又は一部を含んでもよい。
【0064】
図6に示すように、1つ又は2つ以上の記憶デバイス660(1)〜(N)は、サーバ640に直接取り付けられてもよい。同様に、1つ又は2つ以上の記憶デバイス670(1)〜(N)は、サーバ645に直接取り付けられてもよい。記憶デバイス660(1)〜(N)及び記憶デバイス670(1)〜(N)は、一般に、データ及び/又は他のコンピュータ可読命令を格納することができる、任意のタイプ又は形態の記憶デバイス又は媒体を表す。特定の実施形態では、記憶デバイス660(1)〜(N)及び記憶デバイス670(1)〜(N)は、ネットワークファイルシステム(NFS)、サーバメッセージブロック(SMB)、又は共通インターネットファイルシステム(CIFS)などの、様々なプロトコルを使用して、サーバ640及び645と通信するように構成された、ネットワーク接続ストレージ(NAS)デバイスを表してもよい。
【0065】
サーバ640及び645はまた、ストレージエリアネットワーク(SAN)ファブリック680に接続されてもよい。SANファブリック680は、一般に、複数の記憶デバイス間の通信を容易にすることができる、任意のタイプ又は形態のコンピュータネットワーク又はアーキテクチャを表す。SANファブリック680は、サーバ640及び645と、複数の記憶デバイス690(1)〜(N)及び/又はインテリジェント記憶アレイ695との間の通信を容易にしてもよい。SANファブリック680はまた、記憶デバイス690(1)〜(N)及びインテリジェント記憶アレイ695が、クライアントシステム610、620、及び630にローカルで取り付けられたデバイスとして現れるような方式で、ネットワーク650並びにサーバ640及び645を介して、クライアントシステム610、620、及び630と、記憶デバイス690(1)〜(N)及び/又はインテリジェント記憶アレイ695との間の通信を容易にしてもよい。記憶デバイス660(1)〜(N)及び記憶デバイス670(1)〜(N)と同様に、記憶デバイス690(1)〜(N)及びインテリジェント記憶アレイ695は、一般に、データ及び/又は他のコンピュータ可読命令を格納することができる任意のタイプ又は形態の記憶デバイス又は媒体を表す。
【0066】
特定の実施形態では、また
図5の例示的なコンピューティングシステム510を参照すると、
図5の通信インターフェース522などの通信インターフェースは、それぞれのクライアントシステム610、620、及び630とネットワーク650との間の接続を提供するために使用されてもよい。クライアントシステム610、620、及び630は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ640又は645上の情報にアクセスすることができてもよい。かかるソフトウェアは、クライアントシステム610、620、及び630が、サーバ640、サーバ645、記憶デバイス660(1)〜(N)、記憶デバイス670(1)〜(N)、記憶デバイス690(1)〜(N)、又はインテリジェント記憶アレイ695によってホストされるデータにアクセスすることを可能にしてもよい。
図6は、データを交換するために(インターネットなどの)ネットワークを使用することを示しているが、本明細書に記載及び/又は図示される実施形態は、インターネット又は任意の特定のネットワークベースの環境に限定されない。
【0067】
少なくとも1つの実施形態では、本明細書で開示する例示的な実施形態のうち1つ又は2つ以上の全て又は一部は、コンピュータプログラムとしてコード化され、サーバ640、サーバ645、記憶デバイス660(1)〜(N)、記憶デバイス670(1)〜(N)、記憶デバイス690(1)〜(N)、インテリジェント記憶アレイ695、又はこれらの任意の組み合わせ上にロードされ、これらによって実行されてもよい。本明細書で開示する例示的な実施形態のうち1つ又は2つ以上の全て又は一部はまた、コンピュータプログラムとしてコード化され、サーバ640内に格納され、サーバ645によって作動し、ネットワーク650上でクライアントシステム610、620、及び630に分散されてもよい。
【0068】
上で詳述したように、コンピューティングシステム510及び/又はネットワークアーキテクチャ600の1つ以上の構成要素は、単独で又は他の要素と組み合わせてのいずれかで、ネットワークデバイスを更新するための例示的な方法の1つ以上のステップを実施し得る、及び/又は実施するための手段であり得る。
【0069】
前述の開示は、特定のブロック図、フローチャート、及び実施例を使用して様々な実施形態を記載しているが、本明細書に記載及び/又は図示されるそれぞれのブロック図の構成要素、フローチャートのステップ、動作、及び/又は構成要素は、個別にかつ/又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア(若しくはそれらの任意の組み合わせ)の構成を使用して実装されてもよい。それに加えて、同じ機能性を達成するように他の多くのアーキテクチャを実装することができるので、他の構成要素内に包含される構成要素のあらゆる開示は、本質的に例示と見なされるべきである。
【0070】
一部の実施例では、
図1の例示的なシステム100の全て又は一部は、クラウドコンピューティング環境又はネットワークベースの環境の一部を表してもよい。クラウドコンピューティング環境は、インターネットを介して、様々なサービス及びアプリケーションを提供してもよい。これらのクラウドベースのサービス(例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤など)は、ウェブブラウザ又は他のリモートインターフェースを通してアクセス可能であってもよい。本明細書に記載する様々な機能は、リモートデスクトップ環境又は他の任意のクラウドベースのコンピューティング環境を通して提供されてもよい。
【0071】
様々な実施形態では、
図1の例示的なシステム100の全て又は一部は、クラウドベースのコンピューティング環境内におけるマルチテナンシーを容易にしてもよい。換言すれば、本明細書に記載するソフトウェアモジュールは、本明細書に記載する機能の1つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム(例えば、サーバ)を構成してもよい。例えば、本明細書に記載するソフトウェアモジュールの1つ以上は、2つ以上のクライアント(例えば、顧客)がサーバ上で作動しているアプリケーションを共有するのを可能にするように、サーバをプログラムしてもよい。このようにプログラムされたサーバは、複数の顧客(即ち、テナント)の間で、アプリケーション、オペレーティングシステム、処理システム、及び/又は記憶システムを共有してもよい。本明細書に記載するモジュールの1つ以上はまた、ある顧客が別の顧客のデータ及び/又は設定情報にアクセスできないように、顧客ごとにマルチテナントアプリケーションのデータ及び/又は設定情報を分割してもよい。
【0072】
様々な実施形態によれば、
図1の例示的なシステム100の全て又は一部は仮想環境内で実装されてもよい。例えば、本明細書に記載するモジュール及び/又はデータは、仮想機械内で常駐及び/又は実行してもよい。本明細書で使用するとき、「仮想機械」という用語は、一般に、仮想機械マネージャ(例えば、ハイパーバイザ)によってコンピューティングハードウェアから抽出される、任意のオペレーティングシステム環境を指す。それに加えて、又は別の方法として、本明細書に記載するモジュール及び/又はデータは、仮想化層内で常駐及び/又は実行してもよい。本明細書で使用するとき、「仮想化層」という用語は、一般に、オペレーティングシステム環境にオーバーレイする、並びに/あるいはそこから抽出される、任意のデータ層及び/又はアプリケーション層を指す。仮想化層は、基礎となる基本オペレーティングシステムの一部であるかのように仮想化層を提示する、ソフトウェア仮想化ソリューション(例えば、ファイルシステムフィルタ)によって管理されてもよい。例えば、ソフトウェア仮想化ソリューションは、最初に基本ファイルシステム及び/又はレジストリ内の場所に方向付けられる呼び出しを、仮想化層内の場所にリダイレクトしてもよい。
【0073】
一部の実施例では、
図1の例示的なシステム100の全て又は一部は、モバイルコンピューティング環境の一部を表してもよい。モバイルコンピューティング環境は、携帯電話、タブレットコンピュータ、電子ブックリーダー、携帯情報端末、ウェアラブルコンピューティングデバイス(例えば、ヘッドマウントディスプレイを備えたコンピューティングデバイス、スマートウォッチなど)などを含む、広範なモバイルコンピューティングデバイスによって実装されてもよい。一部の実施例において、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間での1つのみのフォアグラウンドアプリケーションの提示、リモート管理特性、タッチスクリーン特性、位置及び移動データ(例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される)、システムレベルの構成への修正を制限する、及び/又は第3者のソフトウェアが他のアプリケーションの挙動を検査する能力を限定する制限されたプラットフォーム、アプリケーションのインストールを(例えば、認可されたアプリケーションストアからのみ生じるように)制限する制御などを含む、1つ以上の個別の特性を有することができる。本明細書で説明される様々な機能は、モバイルコンピューティング環境に対して提供され得る、及び/又はモバイルコンピューティング環境と相互作用し得る。
【0074】
それに加えて、
図1の例示的なシステム100の全て又は一部は、情報管理のための1つ以上のシステムの部分を表してもよく、それと相互作用してもよく、それによって生成されるデータを消費してもよく、かつ/又はそれによって消費されるデータを生成してもよい。本明細書で使用するとき、「情報管理」という用語は、データの保護、組織化、及び/又は記憶を指してもよい。情報管理のためのシステムの例としては、非限定的に、記憶システム、バックアップシステム、アーカイブシステム、複製システム、高可用性システム、データ検索システム、仮想化システムなどを挙げることができる。
【0075】
一部の実施形態では、
図1の例示的なシステム100の全て又は一部は、情報セキュリティのための1つ以上のシステムの部分を表してもよく、それによって保護されるデータを生成してもよく、かつ/又はそれと通信してもよい。本明細書で使用するとき、「情報セキュリティ」という用語は、保護されたデータに対するアクセスの制御を指してもよい。情報セキュリティのためのシステムの例としては、非限定的に、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、本人認証システム、アクセス制御システム、暗号化システム、ポリシー遵守システム、侵入検出及び防止システム、電子証拠開示システムなどを挙げることができる。
【0076】
一部の実施例によれば、
図1の例示的なシステム100の全て又は一部は、エンドポイントセキュリティのための1つ以上のシステムの部分を表してもよく、それと通信してもよく、かつ/又はそれから保護を受けてもよい。本明細書で使用するとき、「エンドポイントセキュリティ」という用語は、不正及び/若しくは違法な使用、アクセス、並びに/又は制御からのエンドポイントシステムの保護を指してもよい。エンドポイント保護のためのシステムの例としては、非限定的に、アンチマルウェアシステム、ユーザ認証システム、暗号化システム、プライバシーシステム、スパムフィルタリングサービスなどを挙げることができる。
【0077】
本明細書に記載及び/又は図示されるプロセスパラメータ及びステップの順序は、単なる例として与えられるものであり、所望に応じて変更することができる。例えば、本明細書に図示及び/又は記載されるステップは特定の順序で図示又は考察されることがあるが、これらのステップは、必ずしも図示又は考察される順序で実施される必要はない。本明細書に記載及び/又は図示される様々な例示的な方法はまた、本明細書に記載若しくは図示されるステップの1つ以上を省略するか、又は開示されるものに加えて追加のステップを含んでもよい。
【0078】
様々な実施形態を、完全に機能的なコンピューティングシステムの文脈で本明細書に記載及び/又は図示してきたが、これらの例示的な実施形態の1つ以上は、実際に配布を実施するのに使用されるコンピュータ可読媒体の特定のタイプにかかわらず、様々な形態のプログラム製品として配布されてもよい。本明細書に開示される実施形態はまた、特定のタスクを実施するソフトウェアモジュールを使用して実装されてもよい。これらのソフトウェアモジュールは、コンピュータ可読記憶媒体又はコンピューティングシステムに格納されてもよい、スクリプト、バッチ、若しくは他の実行可能ファイルを含んでもよい。一部の実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態の1つ以上を実施するようにコンピューティングシステムを構成してもよい。
【0079】
それに加えて、本明細書に記載するモジュールの1つ以上は、データ、物理的デバイス、及び/又は物理的デバイスの表現を、1つの形態から別の形態へと変換してもよい。例えば、本明細書に列挙されるモジュールの1つ以上は、ユーザがネットワーク接続にアクセスする可能性の低い周期的時間間隔を受信し、これらの周期的時間間隔を、ネットワーク接続を提供しているネットワークデバイスにシステム更新を適用するための最適な時間に変換し、変換の結果をネットワークデバイスに出力し、変換の結果を使用してネットワークデバイスを更新し、及び変換の結果をサーバ又はデータベース内に保存してもよい。それに加えて、又は別の方法として、本明細書に列挙されるモジュールの1つ以上は、コンピューティングデバイス上で実行し、コンピューティングデバイスにデータを格納し、並びに/あるいは別の方法でコンピューティングデバイスと相互作用することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び/又は物理的コンピューティングデバイスの他の任意の部分を、1つの形態から別の形態へと変換してもよい。
【0080】
上述の記載は、本明細書に開示される例示的な実施形態の様々な態様を他の当業者が最良に利用するのを可能にするために提供されてきた。この例示的な記載は、網羅的であることを意図するものではなく、又は開示される任意の正確な形態に限定することを意図するものではない。本開示の趣旨及び範囲から逸脱することなく、多くの修正及び変形が可能である。本明細書に開示される実施形態は、あらゆる点で例示的であり、限定的ではないものと見なされるべきである。本開示の範囲を決定する際に、添付の特許請求の範囲及びそれらの等価物を参照するべきである。
【0081】
別途記載のない限り、「〜に接続される」及び「〜に連結される」という用語(並びにそれらの派生語)は、本明細書及び特許請求の範囲で使用するとき、直接的接続及び間接的接続(即ち、他の要素若しくは構成要素を介する)の両方を許容するものとして解釈されるものである。それに加えて、「a」又は「an」という用語は、本明細書及び特許請求の範囲で使用するとき、「〜のうち少なくとも1つ」を意味するものとして解釈されるものである。最後に、簡潔にするため、「含む」及び「有する」という用語(並びにそれらの派生語)は、本明細書及び特許請求の範囲で使用するとき、「備える」という単語と互換性があり、同じ意味を有する。