(57)【特許請求の範囲】
【請求項１】
ネットワークを通してウェブページを管理するための方法であって、
ウェブページの表示中に注入すべきコードの待ち時間をモニタリングするステップを含み、モニタリングは、ウェブページについての要求に対して非同期であり、かつ、ウェブページの表示中に注入すべきコードについての現在の状態に少なくとも部分的に基づいており、前記方法はさらに、
待ち時間および現在の状態に少なくとも部分的に基づいて、コードについての状態を更新するステップと、
ウェブページについての要求に応答して、コードの状態を使用して、コードをデプロイメントできる能力を決定するステップとを含み、
前記コードは、通常状態と、フラグ付き状態と、第１の中断状態とを含む複数の状態のいずれかに対応しており、前記フラグ付き状態は、前記通常状態から前記第１の中断状態への遷移の途中に存在し、
前記コードをデプロイメントできる能力を決定するステップは、
コードが前記通常状態または前記フラグ付き状態にある場合、デプロイメントをイネーブルにするステップと、
コードが前記第１の中断状態にある場合、デプロイメントを阻止するステップとを含む、方法。
【請求項２】
前記複数の状態は、第２の中断状態をさらに含み、
前記状態を更新するステップは、コードが前記第１の中断状態にあるときには、予め定められた期間の後、コードを前記第２の中断状態に遷移させるステップを含む、請求項１に記載の方法。
【請求項３】
前記状態を更新するステップは、
連続する時間待ちイベントのしきい値数を上回ること、
所与の期間内の時間待ちイベントのしきい値数を上回ること、または
待ち時間が重度しきい値を上回ること、
のうちの少なくとも１つを待ち時間がもたらす場合、現在の状態から次の状態に遷移するステップをさらに含む、請求項１または２に記載の方法。
【請求項４】
前記状態を更新するステップは、
連続する非時間待ちイベントのしきい値数を上回ること、
所与の期間内の非時間待ちイベントのしきい値数を上回ること、または
待ち時間が軽度しきい値を下回ること、
のうちの少なくとも１つを待ち時間がもたらす場合、現在の状態から次の状態に遷移するステップをさらに含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記状態を更新するステップは、
待ち時間が時間時間待ちイベントをもたらす場合において、
コードが前記通常状態にあるときには、時間待ちイベントのしきい値数を上回ると、コードを前記フラグ付き状態に遷移させること、
コードが前記フラグ付き状態にあるときには、時間待ちイベントの別のしきい値数を上回ると、コードを前記第１の中断状態に遷移させること、
コードが前記第２の中断状態にあるときには、時間待ちイベントのさらに別のしきい値数を上回ると、コードを前記第１の中断状態に遷移させること、
を含むさらなるアクションを行なうステップをさらに含む、請求項２に記載の方法。
【請求項６】
前記状態を更新するステップは、
待ち時間が非時間待ちイベントをもたらす場合において、
コードが前記フラグ付き状態にあるときには、非時間待ちイベントのしきい値数を上回ると、コードを前記通常状態に遷移させること、および
コードが前記第２の中断状態にあるときには、非時間待ちイベントの別のしきい値数を上回ると、コードを前記フラグ付き状態に遷移させること、
を含むさらなるアクションを行なうステップをさらに含む、請求項２に記載の方法。
【請求項７】
ネットワークを通してウェブページを管理するための方法であって、
ウェブページの表示中に注入すべきコードの待ち時間をモニタリングするステップを含み、モニタリングは、ウェブページについての要求に対して非同期であり、かつ、ウェブページの表示中に注入すべきコードについての現在の状態に少なくとも部分的に基づいており、前記方法はさらに、
待ち時間および現在の状態に少なくとも部分的に基づいて、コードについての状態を更新するステップと、
ウェブページについての要求に応答して、コードの状態を使用して、コードをデプロイメントできる能力を決定するステップとを含み、
前記コードは、通常状態と、フラグ付き状態と、中断前状態と、中断状態と、中断後状態を含む複数の状態のいずれかに対応しており、前記フラグ付き状態は、前記通常状態から前記中断前状態への遷移の途中に存在し、
前記コードをデプロイメントできる能力を決定するステップは、
コードが前記通常状態または前記フラグ付き状態にある場合、デプロイメントをイネーブルにするステップと、
コードが前記中断前状態、前記中断状態、および、前記中断後状態のいずれかにある場合、デプロイメントを阻止するステップとを含み、
前記状態を更新するステップは、
コードが通常状態にある場合において、待ち時間が警告しきい値を上回るときには、コードを前記フラグ付き状態に遷移させるステップと、
コードが前記通常状態にある場合において、待ち時間が中断しきい値を上回るときには、コードを前記中断前状態に遷移させるステップとをさらに含み、前記中断しきい値は前記警告しきい値よりも大きく、前記状態を更新するステップはさらに、
コードが前記フラグ付き状態にある場合において、待ち時間が前記中断しきい値を上回るときには、コードを前記中断前状態に遷移させるステップと、
コードが前記中断前状態にある場合において、待ち時間が複数の連続するモニタリングの試みについて前記中断しきい値を上回るときには、コードを前記中断状態に遷移させるステップと、
コードが前記中断状態にある場合において、予め定められた期間の後、コードを前記中断後状態に遷移させるステップと、
コードが前記中断後状態にある場合において、待ち時間が複数の連続するモニタリングの試みについて前記中断しきい値を上回るときには、コードを前記中断状態に遷移させるステップとを含む、方法。
【請求項８】
前記状態を更新するステップは、
コードが前記フラグ付き状態にある場合において、待ち時間が前記警告しきい値未満であるときには、コードを前記通常状態に遷移させるステップと、
コードが前記中断前状態にある場合において、待ち時間が前記中断しきい値未満であるときには、コードを前記フラグ付き状態に遷移させるステップとをさらに含み、前記状態を更新するステップはさらに、
コードが前記中断後状態にある場合において、待ち時間が複数の連続するモニタリングの試みについて前記警告しきい値を上回り、かつ前記中断しきい値未満であるときには、コードを前記フラグ付き状態に遷移させるステップとを含む、請求項７に記載の方法。
【請求項９】
ネットワークを通してウェブページを管理するためのシステムであって、
アクションを行なうように構成された少なくとも１つのモニタリングサーバ装置を含み、前記アクションは、
ウェブページの表示中に注入すべきコードの待ち時間をモニタリングすることを含み、モニタリングは、ウェブページについての要求に対して非同期であり、かつ、ウェブページの表示中に注入すべきコードについての現在の状態に少なくとも部分的に基づいており、前記アクションはさらに、
待ち時間および現在の状態に少なくとも部分的に基づいて、コードについての状態を更新することと、
ウェブページについての要求に応答して、コードの状態を使用して、コードをデプロイメントできる能力を決定することとを含み、
前記コードは、通常状態と、フラグ付き状態と、第１の中断状態とを含む複数の状態のいずれかに対応しており、前記フラグ付き状態は、前記通常状態から前記第１の中断状態への遷移の途中に存在し、
コードをデプロイメントできる能力を決定することは、
コードが前記通常状態または前記フラグ付き状態にある場合、デプロイメントをイネーブルにし、
コードが前記第１の中断状態にある場合、コードのデプロイメントを阻止することを含む、システム。
【請求項１０】
前記複数の状態は、第２の中断状態をさらに含み、
前記状態を更新することは、コードが前記第１の中断状態にあるときには、予め定められた期間の後、コードを前記第２の中断状態に遷移させることを含む、請求項９に記載のシステム。
【請求項１１】
前記少なくとも１つのモニタリングサーバ装置は、
連続する時間待ちイベントのしきい値数を上回ること、
所与の期間内の時間待ちイベントのしきい値数を上回ること、または
待ち時間が重度しきい値を上回ること、
のうちの少なくとも１つを待ち時間がもたらす場合、コードを現在の状態から次の状態に遷移させることによって、状態を更新する、請求項１０に記載のシステム。
【請求項１２】
前記少なくとも１つのモニタリングサーバ装置は、
連続する非時間待ちイベントのしきい値数を上回ること、
所与の期間内の非時間待ちイベントのしきい値数を上回ること、または
待ち時間が軽度しきい値を下回ること、
のうちの少なくとも１つを待ち時間がもたらす場合、コードを現在の状態から次の状態に遷移させることによって、コードの状態を更新する、請求項１０または１１に記載のシステム。
【請求項１３】
前記少なくとも１つのモニタリングサーバ装置は、待ち時間が時間待ちイベントをもたらす場合において、
コードが前記通常状態にあるときには、時間待ちイベントのしきい値数を上回ると、コードを前記フラグ付き状態に遷移させ、
コードが前記フラグ付き状態にあるときには、時間待ちイベントの別のしきい値数を上回ると、コードを前記第１の中断状態に遷移させ、および
コードが前記第２の中断状態にあるときには、時間待ちイベントのさらに別のしきい値数を上回ると、コードを前記第１の中断状態に遷移させることによって、
状態を更新する、請求項１０〜１２のいずれか１項に記載のシステム。
【請求項１４】
前記少なくとも１つのモニタリングサーバ装置は、待ち時間が非時間待ちイベントをもたらす場合において、
コードが前記フラグ付き状態にあるときには、非時間待ちイベントのしきい値数を上回と、コードを前記通常状態に遷移させ、および
コードが前記第１の中断状態または前記第２の中断状態にあるときには、非時間待ちイベントの別のしきい値数を上回ると、コードを前記フラグ付き状態に遷移させることによって、
状態を更新する、請求項１０〜１３のいずれか１項に記載のシステム。
【請求項１５】
ネットワークを通してウェブページを管理するためのシステムであって、
アクションを行なうように構成された少なくとも１つのモニタリングサーバ装置を含み、前記アクションは、
ウェブページの表示中に注入すべきコードの待ち時間をモニタリングすることを含み、モニタリングは、ウェブページについての要求に対して非同期であり、かつ、ウェブページの表示中に注入すべきコードについての現在の状態に少なくとも部分的に基づいており、前記アクションはさらに、
待ち時間および現在の状態に少なくとも部分的に基づいて、コードについての状態を更新することと、
ウェブページについての要求に応答して、コードの状態を使用して、コードをデプロイメントできる能力を決定することとを含み、
前記コードは、通常状態と、フラグ付き状態と、中断前状態と、中断状態と、中断後状態を含む複数の状態のいずれかに対応しており、前記フラグ付き状態は、前記通常状態から前記中断前状態への遷移の途中に存在し、
コードをデプロイメントできる能力を決定することは、コードが前記通常状態または前記フラグ付き状態にある場合、コードのデプロイメントをイネーブルにし、コードが前記中断前状態、前記中断状態、および、前記中断後状態のいずれかにある場合、コードのデプロイメントを阻止することを含み、
前記状態を更新することは、
コードが前記通常状態にある場合において、待ち時間が警告しきい値を上回るときには、コードをフラグ付き状態に遷移させることと、
コードが前記通常状態にある場合において、待ち時間が前記警告しきい値よりも大きい中断しきい値を上回るときには、コードを前記中断前状態に遷移させることと、
コードが前記フラグ付き状態にある場合において、待ち時間が前記中断しきい値を上回るときには、コードを前記中断前状態に遷移させることと、
コードが前記中断前状態にある場合には、待ち時間が複数の連続するモニタリングの試みについて前記中断しきい値を上回る場合、コードを前記中断状態に遷移させることと、
コードが前記中断状態にある場合において、予め定められた期間の後、コードを前記中断後状態に遷移させることと、および
コードが前記中断後状態にある場合において、待ち時間が複数の連続するモニタリングの試みについて前記中断しきい値を上回るときには、コードを前記中断状態に遷移させることを含む、システム。
【請求項１６】
前記少なくとも１つのモニタリングサーバ装置は、
コードが前記フラグ付き状態にある場合において、待ち時間が前記警告しきい値未満であるときには、コードを前記通常状態に遷移させ、
コードが前記中断前状態にある場合において、待ち時間が前記中断しきい値未満であるときには、コードを前記フラグ付き状態に遷移させ、
コードが前記中断後状態にある場合において、待ち時間が複数の連続するモニタリングの試みについて前記警告しきい値を上回り、かつ前記中断しきい値未満であるときには、コードを前記フラグ付き状態に遷移させることによって、
コードの状態を更新する、請求項１５に記載のシステム。
【請求項１７】
ネットワークを通してウェブページを管理するための命令を含む、プロセッサ読取可能なプログラムであって、プロセッサによる命令の実行がアクションを可能にし、前記アクションは、
ウェブページの表示中に注入すべきコードの待ち時間をモニタリングすることを含み、モニタリングは、ウェブページについての要求に対して非同期であり、かつ、ウェブページの表示中に注入すべきコードについての現在の状態に少なくとも部分的に基づいており、前記アクションはさらに、
待ち時間および現在の状態に少なくとも部分的に基づいて、コードについての状態を更新することと、
ウェブページについての要求に応答して、コードの状態を使用して、コードをデプロイメントできる能力を決定することとを含み、
前記コードは、通常状態と、フラグ付き状態と、第１の中断状態とを含む複数の状態のいずれかに対応しており、前記フラグ付き状態は、前記通常状態から前記第１の中断状態への遷移の途中に存在し、
前記コードをデプロイメントできる能力を決定することは、
コードが前記通常状態または前記フラグ付き状態にある場合、デプロイメントをイネーブルにすることと、
コードが前記第１の中断状態にある場合、デプロイメントを阻止することとを含む、プロセッサ読取可能なプログラム。
【請求項１８】
ウェブページのためにコードを管理するためのネットワーク装置であって、
少なくとも命令を格納するためのメモリと、
アクションを可能にするために命令を実行するプロセッサとを含み、前記アクションは、
ウェブページの表示中に注入すべきコードの待ち時間をモニタリングすることを含み、モニタリングは、ウェブページについての要求に対して非同期であり、かつ、ウェブページの表示中に注入すべきコードについての現在の状態に少なくとも部分的に基づいており、前記アクションはさらに、
待ち時間および現在の状態に少なくとも部分的に基づいて、コードについての状態を更新することと、
ウェブページについての要求に応答して、コードの状態を使用して、コードをデプロイメントできる能力を決定することとを含み、
前記コードは、通常状態と、フラグ付き状態と、第１の中断状態とを含む複数の状態のいずれかに対応しており、前記フラグ付き状態は、前記通常状態から前記第１の中断状態への遷移の途中に存在し、
前記コードをデプロイメントできる能力を決定することは、
コードが前記通常状態または前記フラグ付き状態にある場合、デプロイメントをイネーブルにすることと、
コードが前記第１の中断状態にある場合、デプロイメントを阻止することとを含む、ネットワーク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願との相互参照
本願は、２０１２年７月２０日に出願された、「向上したウェブページ性能のためのタグ待ち時間モニタリングおよび制御システム」（Tag Latency Monitoring And Control System For Enhanced Web Page Performance）と題された米国特許出願連続番号第１３／５５４，５００号の優先権を主張する。その内容全体はここに引用により援用される。
【０００２】
技術分野
この発明は一般にタグ管理に関し、より特定的には、タグ待ち時間を率先してモニタリングするように設計された非同期プロセスに基づいてタグ中断を制御するために複数のタグ状態を採用することに関するものの、それに限定されない。
【背景技術】
【０００３】
背景
今日、多くのウェブサイトが、ウェブサイト自体とは別個の第三者サービスを含んでいる。たとえば、ウェブサイトは、第三者広告、ヘルプチャットセッション、モニタリングサービスなどを含む場合がある。典型的には、第三者は、ユーザが特定のウェブページを訪れると、そのウェブページが第三者サービスをロードするように、そのサービスをウェブサイトに販売する場合がある。第三者サービスをロードすることは、第三者サービス用のコードをリモート位置から実行することを含む場合もある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、第三者サービスが遅かったり、または反応がなかったりする場合、ウェブページのロードは遅くなるかもしれず、または、ウェブページはまったくロードできなくなるかもしれない。このため、この発明は、これらのおよび他の検討事項に関してなされたものである。
【０００５】
図面の簡単な説明
この発明の非限定的で非包括的な実施形態を、以下の図面を参照して説明する。図面では、特別の定めのない限り、さまざまな図全体を通し、同じ参照番号は同じ部分を指す。
【０００６】
この発明のよりよい理解のために、添付図面とともに読まれるべき以下の詳細な説明を参照する。
【図面の簡単な説明】
【０００７】
【図１】この発明の実施形態が実現され得る環境のシステム図である。
【図２】図１に示すようなシステムに含まれ得るクライアント装置の一実施形態を示す図である。
【図３】図１に示すようなシステムに含まれ得るネットワーク装置の一実施形態を示す図である。
【図４】タグの待ち時間の非同期モニタリングに基づいてタグ状態を変化させ、タグの状態に基づいてタグをデプロイメントのためにイネーブルにするための全体プロセスの一実施形態を概して示す論理フロー図である。
【図５】タグの時間待ちイベント（latent event）およびタグの現在の状態に基づいてタグ状態を変化させるためのプロセスの一実施形態を概して示す論理フロー図である。
【図６】タグの非時間待ちイベント（non-latent event）およびタグの現在の状態に基づいてタグ状態を変化させるためのプロセスの一実施形態を概して示す論理フロー図である。
【図７】複数の状態のうちの１つの状態にあるタグを採用し、時間待ちイベントまたは非時間待ちイベントに基づいてタグ状態を変化させるためのプロセスの一実施形態を概して示す論理フロー図である。
【図８】複数のタグ状態と状態変化をトリガし得るイベントとの図形表示を示す使用事例の一実施形態を示す図である。
【図９Ａ】複数の状態のうちの１つの状態にあるタグを採用し、タグ待ち時間に基づいてタグ状態を変化させるためのプロセスの代替的な一実施形態を概して示す論理フロー図である。
【図９Ｂ】複数の状態のうちの１つの状態にあるタグを採用し、タグ待ち時間に基づいてタグ状態を変化させるためのプロセスの代替的な一実施形態を概して示す論理フロー図である。
【図１０】複数のタグ状態と状態変化をトリガし得るイベントとの図形表示を示す使用事例の代替的な一実施形態を示す図である。
【図１１】タグ待ち時間をモニタリングし、タグ状態変化およびデプロイメントを制御するために利用され得るシステムのシステム図を示す使用事例の一実施形態を示す図である。
【発明を実施するための形態】
【０００８】
詳細な説明
明細書および請求項全体を通し、以下の用語は、文脈上明らかに他の意味に解釈すべき場合を除き、ここに明示的に関連付けられた意味を有する。ここに使用されるような「一実施形態では」という文言は、必ずしも同じ実施形態を指していないものの、指す場合もある。また、ここに使用されるような「別の実施形態では」という文言は、必ずしも異なる実施形態を指していないものの、指す場合もある。このため、以下に説明するように、この発明のさまざまな実施形態は、この発明の範囲または精神から逸脱することなく、容易に組合わせられ得る。
【０００９】
加えて、ここに使用されるように、「または」という用語は、文脈上明らかに他の意味に解釈すべき場合を除き、包括的な「論理和（ｏｒ）」演算子であり、「および／または」という用語と同等である。「〜に基づいて」という用語は、文脈上明らかに他の意味に解釈すべき場合を除き、排他的ではなく、記載されていない追加の要因に基づくことを可能にする。加えて、明細書全体を通し、単数は複数の言及を含む。「〜における」の意味は、「〜における」と「〜の上における」とを含む。
【００１０】
ここに使用されるように、「タグ」という用語は概して、ウェブページの表示中、任意の点で、第三者ソリューションを使用してウェブページに注入され得るコードを指す。いくつかの実施形態では、第三者ソリューションは、ウェブページのホストとは別個のコードプロバイダを参照してもよい。少なくとも１つの実施形態では、タグをウェブページにロードすることは、タグをデプロイメントするとも呼ばれてもよい。いくつかの実施形態では、ビジターがウェブサイトを訪れるかまたはオンページアクションを行なうと、ウェブページの表示が提供されてもよい。
【００１１】
ここに使用されるように、「タグ待ち時間」という用語は概して、タグが要求されてから、タグ要求に基づいてサーバ応答が受信されるまでの時間を指す。少なくとも１つの実施形態では、タグ待ち時間は、タグが要求されてから、タグが完全にデプロイメントされるまでの時間に基づいていてもよい。いくつかの実施形態では、タグ待ち時間は、タグコンポーネントによって必要とされる追加のコードまたはリソースを含む、タグの各コンポーネントの累積応答時間に基づいていてもよい。他の実施形態では、タグ待ち時間は、タグの複数のコンポーネントのうちのあるコンポーネントの最長応答時間に基づいていてもよい。別の実施形態では、タグ待ち時間は、タグ要求に応答して受信されたエラーメッセージ、たとえば４００〜５００のエラーコードを有するサーバ応答などに基づいていてもよい。いくつかの実施形態では、タグ待ち時間は、タグが要求されてから、サーバ応答エラーメッセージが受信されるまでの時間であってもよい。
【００１２】
ここに使用されるように、「時間待ちイベント」という用語は、タグ待ち時間が最大待ち時間しきい値よりも大きい場合のタグ待ち時間をモニタリングした結果を指す。これに対し、ここに使用されるように、「非時間待ちイベント」という用語は、タグ待ち時間が最大待ち時間しきい値未満である場合のタグ待ち時間をモニタリングした結果を指す。少なくとも１つの実施形態では、最大待ち時間しきい値は、ユーザ（タグをデプロイメントするためのウェブサイトのホストなど）によって判断され、および／または変更されてもよい。いくつかの実施形態では、最大待ち時間しきい値は、所望のウェブページロード時間、平均タグロード時間などに基づいていてもよい。
【００１３】
この発明のいくつかの局面の基本的理解を提供するために、この発明の実施形態について以下に簡単に説明する。この簡単な説明は、広範な全体として意図されてはいない。それは、主なまたは不可欠な要素を識別するよう、もしくは、範囲を線引きするかまたは他の態様で狭くするよう意図されてはいない。その目的は単に、後で提示されるより詳細な説明の序章として、いくつかの概念を単純化された形で提示することである。
【００１４】
簡単に言えば、さまざまな実施形態は、率先してタグ性能をモニタリングし、応答時間を測定するように設計された非同期処理に基づいてタグ中断を制御するために複数のタグ状態を採用することに向けられている。いくつかの実施形態では、タグの性能および／または応答時間を判断するために、タグ待ち時間がモニタリングされ、および／または測定されてもよい。少なくとも１つの実施形態では、ユーザは、ウェブページ上へのデプロイメントのためにタグを選択するサービスに登録してもよい。いくつかの実施形態では、ユーザは、ウェブサイト、ウェブサイトホスト、ウェブサイトアドミニストレータ、ウェブサイトコンサルタントなど、またはそれらのエージェントに問合せてもよい。タグは、複数の状態のうちの１つの状態、たとえば、ＮＯＲＭＡＬ状態、ＦＬＡＧＧＥＤ状態、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態、またはＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあってもよい。少なくとも１つの実施形態では、ＮＯＲＭＡＬ状態またはＦＬＡＧＧＥＤ状態のタグは、デプロイメントされることをイネーブルにされても（すなわち、デプロイメントのために利用可能であっても）よく、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態またはＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態のタグは、デプロイメントされないように阻止されても（すなわち、デプロイメントを中断されても）よい。
【００１５】
タグ待ち時間は、ウェブページ要求から独立して、非同期にモニタリングされてもよい。いくつかの実施形態では、タグをモニタリングする頻度は、タグの状態に基づいていてもよい。タグの状態は、タグの待ち時間の非同期モニタリングに基づいて変化してもよい。簡潔に言えば、いくつかの実施形態では、時間待ちイベントが生じた場合（すなわち、タグ待ち時間が最大待ち時間しきい値を上回る場合）、タグの状態は、ＮＯＲＭＡＬからＦＬＡＧＧＥＤに、ＦＬＡＧＧＥＤからＳＵＳＰＥＮＳＩＯＮ＿Ａに、またはＳＵＳＰＥＮＳＩＯＮ＿ＢからＳＵＳＰＥＮＳＩＯＮ＿Ａに変化してもよい。他の実施形態では、非時間待ちイベントが生じた場合（すなわち、タグ待ち時間が最大待ち時間しきい値を上回らない場合）、タグの状態は、ＳＵＳＰＥＮＳＩＯＮ＿ＢからＦＬＡＧＧＥＤに、またはＦＬＡＧＧＥＤからＮＯＲＭＡＬに変化してもよい。少なくとも１つの実施形態では、タグの状態を変化させるために、連続する時間待ちイベントまたは連続する非時間待ちイベントを利用してもよい。複数の異なる状態を採用し、時間待ちイベント／非時間待ちイベント（および／または、連続する時間待ちイベント／非時間待ちイベント）に基づいてタグの状態を変化させることにより、タグは、タグ待ち時間の急激な増加により、そのデプロイメントが途中で阻止されたり、または、タグ待ち時間の急激な減少により、阻止された後にそのデプロイメントのために途中でイネーブルにされることがないようになり得る。
【００１６】
例示的な動作環境
図１は、この発明の実施形態が実践され得る環境の一実施形態の構成要素を示す。この発明を実践するために、これらの構成要素のすべてが必要とされるわけではなく、また、この発明の精神または範囲から逸脱することなく、これらの構成要素の配置およびタイプの変更が行なわれてもよい。図示されているように、図１のシステム１００は、ローカルエリアネットワーク（local area network：ＬＡＮ）／ワイドエリアネットワーク（wide area network：ＷＡＮ）−（ネットワーク）１１０と、無線ネットワーク１０８と、クライアント装置１０２〜１０５と、タグモニタリングサーバ装置（Tag Monitoring Server Device：ＴＭＳＤ）１１２と、タグ制御サーバ装置（Tag Control Server Device：ＴＣＳＤ）１１４と、タグデプロイメントサーバ装置（Tag Deployment Server Device：ＴＤＳＤ）１１６とを含む。
【００１７】
クライアント装置１０２〜１０５の少なくとも１つの実施形態を、図２とともに以下により詳細に説明する。一実施形態では、クライアント装置１０２〜１０５のうちの少なくともいくつかは、ネットワーク１１０および／または１０８といった有線および／または無線ネットワークを通して動作してもよい。一般に、クライアント装置１０２〜１０５は、情報を送受信し、さまざまなオンライン活動、オフライン活動などを行なうためにネットワークを通して通信可能な、実質的にあらゆるコンピューティング装置を含み得る。一実施形態では、クライアント装置１０２〜１０５のうちの１つ以上は、ビジネスまたは他のエンティティ内で、そのビジネスまたは他のエンティティのためのさまざまなサービスを行なうために動作するように構成されてもよい。たとえば、クライアント装置１０２〜１０５は、ウェブサーバ、アカウンティングサーバ、生産サーバ、在庫サーバなどとして動作するように構成されてもよい。しかしながら、クライアント装置１０２〜１０５はこれらのサービスに制約されておらず、他の実施形態では、たとえばエンドユーザコンピューティングノードとしても採用されてもよい。ここに説明されるようなシステム内に、より多い、またはより少ないクライアント装置が含まれ得ること、および、実施形態はしたがって、採用されるクライアント装置の数またはタイプによって制約されないことが認識されるべきである。
【００１８】
クライアント装置１０２として動作し得る装置は、典型的には有線または無線通信媒体を使用して接続する装置、たとえばパーソナルコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラマブルな電子装置、ネットワークＰＣなどを含み得る。いくつかの実施形態では、クライアント装置１０２〜１０５は、別のコンピューティング装置に接続して情報を受信することができる、実質的にあらゆるポータブルパーソナルコンピューティング装置、たとえばラップトップコンピュータ１０３、スマートモバイルフォン１０４、およびタブレットコンピュータ１０５などを含み得る。しかしながら、ポータブルコンピューティング装置はそのように限定されておらず、また、携帯電話、ディスプレイポケットベル、無線周波数（radio frequency：ＲＦ）装置、赤外線（infrared：ＩＲ）装置、携帯情報端末（Personal Digital Assistant：ＰＤＡ）、ハンドヘルドコンピュータ、ウェアラブルコンピュータ、前述の装置の１つ以上を組合わせた統合装置などといった、他のポータブル装置を含んでいてもよい。そのため、クライアント装置１０２〜１０５は典型的には、能力および特徴の点で多岐に及ぶ。さらに、クライアント装置１０２〜１０５は、ブラウザまたは他のウェブベースのアプリケーションを含むさまざまなコンピューティングアプリケーションにアクセスしてもよい。
【００１９】
ウェブ対応のクライアント装置は、ウェブページ、ウェブベースのメッセージなどを送受信するように構成されたブラウザアプリケーションを含んでいてもよい。ブラウザアプリケーションは、無線アプリケーションプロトコル（wireless application protocol：ＷＡＰ）メッセージなどを含む実質的にあらゆるウェブベースの言語を採用して、グラフィック、テキスト、マルチメディアなどを受信し、表示するように構成されてもよい。一実施形態では、ブラウザアプリケーションは、メッセージを表示し、送信するために、携帯型装置マークアップ言語（Handheld Device Markup Language：ＨＤＭＬ）、無線マークアップ言語（Wireless Markup Language：ＷＭＬ）、ＷＭＬＳｃｒｉｐｔ、ＪａｖａＳｃｒｉｐｔ（登録商標）、標準一般化マークアップ言語（Standard Generalized Markup Language：ＳＧＭＬ）、ハイパーテキストマークアップ言語（HyperText Markup Language：ＨＴＭＬ）、拡張可能マークアップ言語（eXtensible Markup Language：ＸＭＬ）などを採用することが可能にされている。一実施形態では、クライアント装置のユーザは、ネットワークを通して（オンラインで）さまざまな活動を行なうためにブラウザアプリケーションを採用してもよい。しかしながら、さまざまなオンライン活動を行なうために、別のアプリケーションも使用されてもよい。
【００２０】
クライアント装置１０２〜１０５はまた、別のコンピューティング装置との間でコンテンツを受信および／または送信するように構成された、少なくとも１つの他のクライアントアプリケーションを含んでいてもよい。クライアントアプリケーションは、コンテンツなどを送信および／または受信する能力を含んでいてもよい。クライアントアプリケーションはさらに、タイプ、能力、名前などを含む、それ自体を識別する情報を提供してもよい。一実施形態では、クライアント装置１０２〜１０５は、インターネットプロトコル（Internet Protocol：ＩＰ）アドレス、電話番号、モバイル識別番号（Mobile Identification Number：ＭＩＮ）、電子シリアル番号（electronic serial number：ＥＳＮ）、または他の装置識別子を含むさまざまな機構のうちのいずれかを通して、それら自体を一意的に識別してもよい。そのような情報は、ネットワークパケットなどにおいて提供され、他のクライアント装置、ＴＭＳＤ１１２、ＴＣＳＤ１１４、ＴＤＳＤ１１６、または他のコンピューティング装置との間で送信されてもよい。
【００２１】
クライアント装置１０２〜１０５はさらに、ＴＭＳＤ１１２、ＴＣＳＤ１１４、ＴＤＳＤ１１６などといった別のコンピューティング装置によって管理され得るエンドユーザアカウントにエンドユーザがログインすることを可能にするクライアントアプリケーションを含むように構成されてもよい。非限定的な一例では、そのようなエンドユーザアカウントは、非限定的な一例では検索活動、ソーシャルネットワーキング活動、さまざまなウェブサイトのブラウジング、他のユーザとの通信などを含む、１つ以上のオンライン活動をエンドユーザが管理することを可能にするように構成されてもよい。しかしながら、そのようなオンライン活動への参加はまた、エンドユーザアカウントにログインすることなく行なわれてもよい。
【００２２】
無線ネットワーク１０８は、クライアント装置１０３〜１０５およびそのコンポーネントを、ネットワーク１１０と結合するように構成されている。無線ネットワーク１０８は、クライアント装置１０３〜１０５のためのインフラストラクチャ指向の接続を提供するために、スタンドアロンのアドホックネットワークなどをさらに覆い得る、さまざまな無線サブネットワークのうちのいずれかを含んでいてもよい。そのようなサブネットワークは、メッシュネットワーク、無線ＬＡＮ（ＷＬＡＮ）ネットワーク、セルラーネットワークなどを含んでいてもよい。一実施形態では、システムは、２つ以上の無線ネットワークを含んでいてもよい。
【００２３】
無線ネットワーク１０８はさらに、無線リンクなどによって接続された端末、ゲートウェイ、ルータなどの自律システムを含んでいてもよい。これらのコネクタは、無線ネットワーク１０８のトポロジーが迅速に変化するように、自由にかつランダムに移動し、それら自体を任意に編成するように構成されてもよい。
【００２４】
無線ネットワーク１０８はさらに、セルラーシステムのための第２（２Ｇ）、第３（３Ｇ）、第４（４Ｇ）、第５（５Ｇ）世代無線アクセス、ＷＬＡＮ、無線ルータ（Wireless Router：ＷＲ）メッシュなどを含む、複数のアクセス技術を採用してもよい。２Ｇ、３Ｇ、４Ｇ、５Ｇ、および将来のアクセスネットワークといったアクセス技術は、さまざまな程度のモビリティを有するクライアント装置１０３〜１０５といたモバイル装置のための広域カバレージを可能にし得る。非限定的な一例では、無線ネットワーク１０８は、グローバル・システム・フォー・モバイル・コミュニケーション（Global System for Mobile communication：ＧＳＭ（登録商標））、汎用パケット無線システム（General Packet Radio Services：ＧＰＲＳ）、拡張データＧＳＭ環境（Enhanced Data GSM Environment：ＥＤＧＥ）、符号分割多重アクセス（code division multiple access：ＣＤＭＡ）、時分割多重アクセス（time division multiple access：ＴＤＭＡ）、広帯域符号分割多重アクセス（Wideband Code Division Multiple Access：ＷＣＤＭＡ（登録商標））、高速ダウンリンクパケットアクセス（High Speed Downlink Packet Access ：ＨＳＤＰＡ）、ロングタームエボリューション（Long Term Evolution：ＬＴＥ）などといった無線ネットワークアクセスを通して、無線接続を可能にしてもよい。本質的には、無線ネットワーク１０８は、クライアント装置１０３〜１０５と別のコンピューティング装置、ネットワークなどとの間で情報を伝え得る、実質的にあらゆる無線通信機構を含んでいてもよい。
【００２５】
ネットワーク１１０は、ネットワーク装置を、ＴＭＳＤ１１２、ＴＣＳＤ１１４、ＴＤＳＤ１１６、クライアント装置１０２を含む他のコンピューティング装置と結合し、また、無線ネットワーク１０８を通してクライアント装置１０３〜１０５と結合するように構成されている。ネットワーク１１０は、ある電子装置から別の電子装置に情報を通信するためのあらゆる形態のコンピュータ読取可能な媒体を採用することが可能にされている。また、ネットワーク１１０は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ユニバーサルシリアルバス（universal serial bus：ＵＳＢ）ポートなどを介した直接接続、他の形態のコンピュータ読取可能な媒体、またはそれらの任意の組合せ、に加えて、インターネットを含んでいてもよい。異なるアーキテクチャおよびプロトコルに基づいたＬＡＮを含む、相互接続された一組のＬＡＮ上で、ルータがＬＡＮ間のリンクとして作用して、メッセージが一方から他方へ送信されることを可能にする。加えて、ＬＡＮ内の通信リンクは典型的には、ツイストペアワイヤまたは同軸ケーブルを含んでおり、一方、ネットワーク間の通信リンクは、アナログ電話回線、Ｔ１、Ｔ２、Ｔ３およびＴ４を含む専用デジタル回線の全体または一部、および／または、たとえばＥキャリア、統合サービスデジタル網（Integrated Services Digital Network：ＩＳＤＮ）、デジタル加入者回線（Digital Subscriber Line：ＤＳＬ）、衛星リンクを含む無線リンク、または当業者には公知の他の通信リンクを含む他のキャリア機構を利用してもよい。また、通信リンクはさらに、たとえばＤＳ−０、ＤＳ−１、ＤＳ−２、ＤＳ−３、ＤＳ−４、ＯＣ−３、ＯＣ−１２、ＯＣ−４８などを限定なしで含む、さまざまなデジタルシグナリング技術のうちのいずれかを採用してもよい。さらに、リモートコンピュータおよび他の関連する電子装置が、モデムおよび仮電話リンクを介して、ＬＡＮまたはＷＡＮのいずれかにリモート接続されてもよい。一実施形態では、ネットワーク１１０は、インターネットプロトコル（ＩＰ）の情報を移送するように構成されてもよい。本質的には、ネットワーク１１０は、コンピューティング装置間で情報を伝え得る、あらゆる通信方法を含む。
【００２６】
加えて、通信媒体は典型的には、コンピュータ読取可能な命令、データ構造、プログラムモジュール、または他の移送機構を具体化しており、あらゆる情報伝達媒体を含む。一例として、通信媒体は、ツイストペア、同軸ケーブル、光ファイバー、導波管といった有線媒体、および他の有線媒体、ならびに、音響、ＲＦ、赤外線媒体などの無線媒体、および他の無線媒体を含む。
【００２７】
ＴＭＳＤ１１２の一実施形態を、図３とともに以下により詳細に説明する。しかしながら、簡単に言えば、ＴＭＳＤ１１２は、タグ待ち時間をモニタリングできる、実質的にあらゆるネットワーク装置を含む。少なくとも１つの実施形態では、ＴＭＳＤ１１２は、タグの性能および待ち時間を非同期にモニタリングしてもよい。非同期モニタリングは、（たとえば、ビジターからウェブサイトへの）ウェブページをロードする要求から独立して行なわれてもよい。ＴＭＳＤ１１２は、タグを要求してタグ待ち時間を判断するために、ブラウザをエミュレートしてもよい。少なくとも１つの実施形態では、ＴＭＳＤ１１２は、エミュレートされたブラウザに要求されたタグをロードするのにかかる時間を計算することにより、タグ待ち時間を判断してもよい。いくつかの実施形態では、ＴＭＳＤ１１２は、どのタグをモニタリングすべきか判断するために、および／または、判断されたタグ待ち時間を提供するために、ＴＣＳＤ１１４と通信してもよい。ＴＭＳＤ１１２として動作するように配置され得る装置は、パーソナルコンピュータ、デスクトップコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラムマブルな家電、ネットワークＰＣ、サーバ装置、ネットワーク機器などを含むもののそれらに限定されない、さまざまなネットワーク装置を含む。
【００２８】
図１はＴＭＳＤ１１２を単一のコンピューティング装置として示しているが、この発明はそのように限定されるものではない。たとえば、ＴＭＳＤ１１２の１つ以上の機能が、１つ以上の別個のネットワーク装置に分散されてもよい。また、ＴＭＳＤ１１２は、ある特定の構成に限定されない。このため、一実施形態では、ＴＭＳＤ１１２は、タグ待ち時間をモニタリングするために、複数のネットワーク装置を含んでいてもよい。別の実施形態では、ＴＭＳＤ１１２は、マスタ／スレーブアプローチを使用して動作する複数のネットワーク装置を含んでいてもよく、この場合、ＴＭＳＤ１１２の複数のネットワーク装置のうちの１つは、他のネットワーク装置の動作を管理し、および／または他の態様で調整するように動作する。他の実施形態では、ＴＭＳＤ１１２は、クラスタアーキテクチャ、ピア・ツー・ピア・アーキテクチャ内で、および／またはクラウドアーキテクチャ内でも、複数のネットワーク装置として動作してもよい。このため、この発明は単一の環境に限定されるように解釈されるべきではなく、他の構成およびアーキテクチャも想定される。少なくとも１つの実施形態では、複数のＴＭＳＤ１１２の各々は、地理的に分散されてもよい。別の実施形態では、ＴＭＳＤ１１２は、複数の異なるタグ状態のうちの各状態にあるタグをモニタリングするための異なるコンピューティング装置を含んでいてもよい。
【００２９】
少なくとも１つの実施形態では、ＴＭＳＤ１１２などのネットワーク装置をシステムに追加するか、またはシステムから取外すことにより、システムは拡大または縮小されてもよい。いくつかの実施形態では、追加のＴＭＳＤをシステムに追加することは、タグモニタリングのより高いスループットを可能にし得る。少なくとも１つの実施形態では、各ＴＭＳＤは、スケーリングの際に追加のスケーリング機能を各ＴＭＳＤに追加することなく、スケーリングが実現され得るよう、システムスケーリングを可能にするように設計されていてもよい。
【００３０】
ＴＣＳＤ１１４の少なくとも１つの実施形態を、図３とともに以下により詳細に説明する。しかしながら、簡単に言えば、ＴＣＳＤ１１４は、複数のタグの各々の状態を制御し、タグの状態に基づいて利用可能なタグがデプロイメントされることをイネーブルにすることができる、実質的にあらゆるネットワーク装置を含んでいてもよい。いくつかの実施形態では、ＴＣＳＤ１１４は、どのタグをモニタリングすべきか判断するためにＴＭＳＤ１１２と通信してもよく、および／または、タグ待ち時間情報を受信してもよい。いくつかの実施形態では、ＴＣＳＤ１１４はＴＤＳＤ１１６に、デプロイメントのために利用可能なタグのリストを提供してもよい。少なくとも１つの実施形態では、ＴＣＳＤ１１４はデータベース（図示せず）と通信してもよく、データベースは、タグ状態ごとにテーブルを保持してもよく、テーブルは、その状態にある各タグのリストを含んでいてもよい。ＴＣＳＤ１１４として動作し得る装置は、パーソナルコンピュータ、デスクトップコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラムマブルな家電、ネットワークＰＣ、サーバ装置、ネットワーク機器などを含むもののそれらに限定されない、さまざまなネットワーク装置を含む。
【００３１】
図１はＴＣＳＤ１１４を単一のコンピューティング装置として示しているが、この発明はそのように限定されるものではない。たとえば、ＴＣＳＤ１１４の１つ以上の機能が、１つ以上の別個のネットワーク装置に分散されてもよい。また、ＴＣＳＤ１１４は、ある特定の構成に限定されない。このため、一実施形態では、ＴＣＳＤ１１４は、タグモニタリングおよび／またはデプロイメント利用可能性を制御するために、複数のネットワーク装置を含んでいてもよい。同様に、別の実施形態では、ＴＣＳＤ１１４は、マスタ／スレーブアプローチを使用して動作する複数のネットワーク装置を含んでいてもよく、この場合、ＴＣＳＤ１１４の複数のネットワーク装置のうちの１つは、他のネットワーク装置の動作を管理し、および／または他の態様で調整するように動作する。他の実施形態では、ＴＣＳＤ１１４は、クラスタアーキテクチャ、ピア・ツー・ピア・アーキテクチャ内で、および／またはクラウドアーキテクチャ内でも、複数のネットワーク装置として動作してもよい。このため、この発明は単一の環境に限定されるように解釈されるべきではなく、他の構成およびアーキテクチャも想定される。
【００３２】
ＴＤＳＤ１１６の少なくとも１つの実施形態を、図３とともに以下により詳細に説明する。しかしながら、簡単に言えば、ＴＤＳＤ１１６は、タグをデプロイメントできる、実質的にあらゆるネットワーク装置を含んでいてもよい。いくつかの実施形態では、ＴＤＳＤ１１６は、ウェブ要求（たとえば、ビジターからウェブサイトへの、ウェブページを見る要求）に応じてタグをウェブサイトに提供するように最適化されてもよい。少なくとも１つの実施形態では、ＴＤＳＤ１１６は、デプロイメントのために利用可能なタグのリストを受信するために、ＴＣＳＤ１１４と通信してもよい。いくつかの実施形態では、ＴＤＳＤ１１６は、ウェブページに関するデータを集めてもよく、デプロイメントされたタグに関する情報を記録してもよい。ＴＤＳＤ１１６として動作し得る装置は、パーソナルコンピュータ、デスクトップコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラムマブルな家電、ネットワークＰＣ、サーバ装置、ネットワーク機器などを含むもののそれらに限定されない、さまざまなネットワーク装置を含む。
【００３３】
図１はＴＤＳＤ１１６を単一のコンピューティング装置として示しているが、この発明はそのように限定されるものではない。たとえば、ＴＤＳＤ１１６の１つ以上の機能が、１つ以上の別個のネットワーク装置に分散されてもよい。また、ＴＤＳＤ１１６は、ある特定の構成に限定されない。このため、一実施形態では、ＴＤＳＤ１１６は、タグをウェブページにデプロイメントするために、複数のネットワーク装置を含んでいてもよい。同様に、別の実施形態では、ＴＤＳＤ１１６は、マスタ／スレーブアプローチを使用して動作する複数のネットワーク装置を含んでいてもよく、この場合、ＴＤＳＤ１１６の複数のネットワーク装置のうちの１つは、他のネットワーク装置の動作を管理し、および／または他の態様で調整するように動作する。他の実施形態では、ＴＤＳＤ１１６は、クラスタアーキテクチャ、ピア・ツー・ピア・アーキテクチャ内で、および／またはクラウドアーキテクチャ内でも、複数のネットワーク装置として動作してもよい。このため、この発明は単一の環境に限定されるように解釈されるべきではなく、他の構成およびアーキテクチャも想定される。
【００３４】
例示的なクライアント装置
図２は、この発明の実施形態を実現するシステムに含まれ得るクライアント装置２００の一実施形態を示す。クライアント装置２００は、図２に示すものよりも多い、または少ないコンポーネントを含んでいてもよい。しかしながら、図示されたコンポーネントは、この発明を実践するための例示的な一実施形態を開示するのに十分である。クライアント装置２００は、たとえば、図１のクライアント装置１０２〜１０５のうちの少なくとも１つの一実施形態を表わしていてもよい。
【００３５】
図に示すように、クライアント装置２００は、バス２３４を介して大容量メモリ２２６と通信しているプロセッサ２０２を含む。いくつかの実施形態では、プロセッサ２０２は、１つ以上の中央処理装置（central processing unit：ＣＰＵ）を含んでいてもよい。クライアント装置２００はまた、電源２２８と、１つ以上のネットワークインターフェイス２３６と、音声インターフェイス２３８と、ディスプレイ２４０と、キーパッド２４２と、発光部２４４と、ビデオインターフェイス２４６と、入出力インターフェイス２４８と、触覚インターフェイス２５０と、全地球測位システム（global positioning system：ＧＰＳ）レシーバ２３２とを含む。
【００３６】
電源２２８は、クライアント装置２００に電力を提供する。電力を提供するために、充電式または非充電式電池を使用してもよい。電力はまた、電池を補い、および／または再充電する交流（ＡＣ）アダプタまたは電源供給ドッキングクレードルといった外部電源によって提供されてもよい。
【００３７】
クライアント装置２００はオプションで、基地局（図示せず）と、または直接別のコンピューティング装置と通信してもよい。ネットワークインターフェイス２３６は、クライアント装置２００を１つ以上のネットワークに結合するために回路を含んでおり、ＧＳＭ、ＣＤＭＡ、ＴＤＭＡ、ＧＰＲＳ、ＥＤＧＥ、ＷＣＤＭＡ、ＨＳＤＰＡ、ＬＴＥ、ユーザデータグラムプロトコル（user datagram protocol：ＵＤＰ）、伝送制御プロトコル／インターネットプロトコル（transmission control protocol/Internet protocol：ＴＣＰ／ＩＰ）、ショートメッセージサービス（short message service：ＳＭＳ）、ＷＡＰ、ウルトラワイドバンド（ultra wide band：ＵＷＢ）、ＩＥＥＥ８０２．１６ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス（ＷｉＭａｘ）、セッション開始プロトコル／リアルタイム転送プロトコル（session initiated protocol/real-time transport protocol：ＳＩＰ／ＲＴＰ）、または他のさまざまな無線通信プロトコルのうちのいずれかを含むもののそれらに限定されない、１つ以上の通信プロトコルおよび技術を用いて使用するために構成されている。ネットワークインターフェイス２３６は、トランシーバ、送受信装置、またはネットワークインターフェイスカード（network interface card：ＮＩＣ）として公知である場合もある。
【００３８】
音声インターフェイス２３８は、人間の声の音などの音声信号を生成し、受信するために配置されている。たとえば、音声インターフェイス２３８は、他人との電気通信を可能にし、および／または、何らかのアクションについての音声確認を生成するために、スピーカーおよびマイク（図示せず）に結合されてもよい。
【００３９】
ディスプレイ２４０は、液晶ディスプレイ（liquid crystal display：ＬＣＤ）、ガスプラズマ、発光ダイオード（light emitting diode：ＬＥＤ）、有機ＬＥＤ、または、コンピューティング装置で使用される他のあらゆるタイプのディスプレイであってもよい。ディスプレイ２４０はまた、スタイラスなどの物体からの入力、または人間の手からの指の入力を受信するために配置されたタッチセンシティブスクリーンを含んでいてもよい。
【００４０】
キーパッド２４２は、ユーザからの入力を受信するために配置されたあらゆる入力装置を含んでいてもよい。たとえば、キーパッド２４２は、プッシュボタン数字ダイヤル、またはキーボードを含んでいてもよい。キーパッド２４２はまた、画像の選択および送信に関連付けられたコマンドボタンを含んでいてもよい。
【００４１】
発光部２４４は、ステータス表示を提供し、および／または光を提供してもよい。発光部２４４は、特定期間の間、またはイベントに応答して、アクティブなままであってもよい。たとえば、発光部２４４がアクティブである場合、それは、クライアント装置に電力が供給されている間、キーパッド２４２上のボタンを背後から照らし、オンのままであってもよい。また、別のクライアント装置をダイヤルするなど、特定のアクションが行なわれた場合、発光部２４４は、これらのボタンをさまざまなパターンで背後から照らしてもよい。発光部２４４はまた、クライアント装置の透明または半透明のケース内に位置付けられた光源が、アクションに応答して照明するようにしてもよい。
【００４２】
ビデオインターフェイス２４６は、スチール写真、ビデオセグメント、赤外線ビデオなどといったビデオ画像を取り込むために配置されている。たとえば、ビデオインターフェイス２４６は、デジタルビデオカメラ、ウェブカメラなどに結合されてもよい。ビデオインターフェイス２４６は、レンズと、画像センサと、他の電子機器とを含んでいてもよい。画像センサは、相補型金属酸化膜半導体（complementary metal-oxide-semiconductor：ＣＭＯＳ）集積回路、電荷結合素子（charge-coupled device：ＣＣＤ）、または、光を感知するための他のあらゆる集積回路を含んでいてもよい。
【００４３】
クライアント装置２００はまた、図２に図示されないヘッドセットもしくは他の入力または出力装置といった外部装置と通信するための入出力インターフェイス２４８を含む。入出力インターフェイス２４８は、ＵＳＢ、赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）などといった１つ以上の通信技術を利用できる。
【００４４】
触覚インターフェイス２５０は、クライアント装置のユーザに触覚フィードバックを提供するために配置されている。たとえば、触覚インターフェイス２５０は、コンピューティング装置の別のユーザが呼出しているときに、ある特定の方法でクライアント装置２００を振動させるために採用されてもよい。いくつかの実施形態では、触覚インターフェイス２５０はオプションであってもよい。
【００４５】
クライアント装置２００はまた、地球の表面上におけるクライアント装置２００の物理的座標を判断するために、ＧＰＳトランシーバ２３２を含んでいてもよい。ＧＰＳトランシーバ２３２は、いくつかの実施形態では、オプションであってもよい。ＧＰＳトランシーバ２３２は典型的には、ある位置を、緯度および経度の値として出力する。しかしながら、ＧＰＳトランシーバ２３２はまた、地球の表面上におけるクライアント装置２００の物理的位置をさらに判断するために、三角測量、補助ＧＰＳ（assisted GPS：ＡＧＰＳ）、改良型観測時間差法（Enhanced Observed Time Difference：Ｅ−ＯＴＤ）、セル識別子（Cell Identifier：ＣＩ）、サービスエリア識別子（Service Area Identifier：ＳＡＩ）、改良型タイミングアドバンス（Enhanced Timing Advance：ＥＴＡ）、基地局サブシステム（Base Station Subsystem ：ＢＳＳ）などを含むもののそれらに限定されない、他の地球測位機構を採用可能である。異なる条件下では、ＧＰＳトランシーバ２３２は、クライアント装置２００についてミリメートル以内で物理的位置を判断可能であり、他の場合には、判断された物理的位置は、１メートルまたは著しくより大きい距離以内といったように、それほど正確ではないかもしれない、ということが理解される。しかしながら、一実施形態では、モバイル装置２００は、たとえば媒体アクセス制御（Media Access Control：ＭＡＣ）アドレス、ＩＰアドレスなどを含む、装置の物理的位置を判断するために採用され得る他の情報を、他のコンポーネントを通して提供してもよい。
【００４６】
大容量メモリ２２６は、ランダムアクセスメモリ（Random Access Memory：ＲＡＭ）２０４と、読出し専用メモリ（Read-only Memory：ＲＯＭ）２２２と、他の記憶手段とを含む。大容量メモリ２２６は、コンピュータ読取可能な命令、データ構造、プログラムモジュール、または他のデータといった情報の格納のためのコンピュータ読取可能な記憶媒体（装置）の一例を示す。大容量メモリ２２６は、クライアント装置２００の低レベル動作を制御するための基本入出力システム（basic input/output system：ＢＩＯＳ）２２４を格納している。大容量メモリはまた、クライアント装置２００の動作を制御するためのオペレーティングシステム２０６を格納している。このコンポーネントは、ＵＮＩＸ（登録商標）、またはＬＩＮＵＸ（登録商標）のバージョンといった汎用オペレーティングシステム、もしくは、マイクロソフト社のウィンドウズ（登録商標）モバイル、アップル社のｉＯＳ（登録商標）、グーグル社のアンドロイド（登録商標）、またはシンビアン（登録商標）オペレーティングシステムといった専用クライアント通信オペレーティングシステムを含んでいてもよい、ということが理解されるであろう。オペレーティングシステムは、Ｊａｖａ（登録商標）アプリケーションプログラムを介してハードウェアコンポーネントおよび／またはオペレーティングシステム動作の制御を可能にするＪａｖａ仮想マシンモジュールを含んでいてもよく、もしくはそれとインターフェイス接続していてもよい。
【００４７】
大容量メモリ２２６はさらに、１つ以上のデータストレージ２０８を含み、それは、とりわけアプリケーション２１４および／または他のデータを格納するために、クライアント装置２００によって利用可能である。たとえば、データストレージ２０８はまた、クライアント装置２００のさまざまな能力を記述する情報を格納するために採用されてもよい。その情報は次に、通信中にヘッダの一部として送信されること、要求に応じて送信されることなどを含むさまざまなイベントのうちのいずれかに基づいて、別の装置に提供されてもよい。データストレージ２０８はまた、住所録、友達リスト、エイリアス、ユーザプロフィール情報などを含むソーシャルネットワーキング情報を格納するために採用されてもよい。さらに、データストレージ２０８はまた、メッセージ、ウェブページコンテンツ、またはさまざまなユーザ作成コンテンツのうちのいずれかを格納してもよい。また、その情報の少なくとも一部は、プロセッサ読取可能な記憶媒体２３０、ディスクドライブ、または、クライアント装置２００内の他のコンピュータ読取可能な記憶装置（図示せず）を含むもののそれらに限定されない、クライアント装置２００の別のコンポーネント上に格納されてもよい。
【００４８】
プロセッサ読取可能な記憶媒体２３０は、コンピュータまたはプロセッサ読取可能な命令、データ構造、プログラムモジュール、または他のデータといった情報の格納のためのあらゆる方法または技術で実現された、揮発性、不揮発性、リムーバブル、および非リムーバブルな媒体を含み得る。コンピュータ読取可能な記憶媒体の例は、ＲＡＭ、ＲＯＭ、電気的消去可能プログラマブル読出し専用メモリ（Electrically Erasable Programmable Read-only Memory：ＥＥＰＲＯＭ）、フラッシュメモリまたは他のメモリ技術、コンパクトディスク読出し専用メモリ（Compact Disc Read-only Memory：ＣＤ−ＲＯＭ）、デジタル多用途ディスク（digital versatile disk：ＤＶＤ）または他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、もしくは、所望の情報を格納するために使用可能であり、コンピューティング装置によってアクセス可能である他のあらゆる物理的媒体を含む。プロセッサ読取可能な記憶媒体２３０は、ここにコンピュータ読取可能な記憶媒体および／またはコンピュータ読取可能な記憶装置とも呼ばれてもよい。
【００４９】
アプリケーション２１４は、クライアント装置２００によって実行されると、ネットワークデータを送信し、受信し、および／または他の態様で処理する、コンピュータ実行可能な命令を含んでいてもよい。ネットワークデータは、メッセージ（たとえば、ＳＭＳ、マルチメディアメッセージサービス（Multimedia Message Service：ＭＭＳ）、インスタントメッセージ（instant message：ＩＭ）、電子メール、および／または他のメッセージ）、音声、ビデオを含み得るもののそれらに限定されておらず、別のクライアント装置の別のユーザとの電気通信を可能にし得る。アプリケーション２１４は、たとえば、ブラウザ２１８と、他のアプリケーション２２０とを含んでいてもよい。他のアプリケーション２２０は、カレンダー、検索プログラム、電子メールクライアント、ＩＭアプリケーション、ＳＭＳアプリケーション、ボイス・オーバ・インターネット・プロトコル（voice over Internet Protocol：ＶＯＩＰ）アプリケーション、コンタクトマネージャ、タスクマネージャ、トランスコーダ、データベースプログラム、ワードプロセッシングプログラム、セキュリティアプリケーション、スプレッドシートプログラム、ゲーム、検索プログラムなどを含むもののそれらに限定されない。
【００５０】
ブラウザ２１８は、実質的にあらゆるウェブベースの言語を採用して、グラフィック、テキスト、マルチメディア、メッセージなどを受信し、表示するように構成された、実質的にあらゆるアプリケーションを含んでいてもよい。一実施形態では、ブラウザアプリケーションは、メッセージを表示し、送信するために、ＨＤＭＬ、ＷＭＬ、ＷＭＬＳｃｒｉｐｔ、ＪａｖａＳｃｒｉｐｔ、ＳＧＭＬ、ＨＴＭＬ、ＸＭＬなどを採用することが可能にされている。しかしながら、他のさまざまなウェブベースのプログラミング言語のうちのいずれかが採用されてもよい。一実施形態では、ブラウザ２１８は、クライアント装置２００のユーザが、図１のＴＭＳＤ１１２、ＴＣＳＤ１１４、および／またはＴＤＳＤ１１６といった別のネットワーク装置と通信することを可能にしてもよい。
【００５１】
例示的なネットワーク装置
図３は、この発明の一実施形態に従ったネットワーク装置３００の一実施形態を示す。ネットワーク装置３００は、図示されたものよりも多い、または少ないコンポーネントを含んでいてもよい。しかしながら、図示されたコンポーネントは、この発明を実践するための例示的な一実施形態を開示するのに十分である。ネットワーク装置３００は、サーバ、クライアント、ピア、ホスト、または他のあらゆる装置として動作するように構成されてもよい。ネットワーク装置３００は、たとえば、図１のＴＭＳＤ１１２、ＴＣＳＤ１１４、ＴＤＳＤ１１６、および／または他のネットワーク装置を表わしていてもよい。
【００５２】
ネットワーク装置３００は、プロセッサ３０２と、プロセッサ読取可能な記憶媒体３２８と、ネットワークインターフェイスユニット３３０と、入出力インターフェイス３３２と、ハードディスクドライブ３３４と、ビデオディスプレイアダプタ３３６と、メモリ３２６とを含み、それらはすべて、バス３３８を介して互いに通信している。いくつかの実施形態では、プロセッサ３０２は、１つ以上の中央処理装置を含んでいてもよい。
【００５３】
図３に示すように、ネットワーク装置３００はまた、ネットワークインターフェイスユニット３３０を介して、インターネットまたは他の通信ネットワークと通信可能であり、ネットワークインターフェイスユニット３３０は、ＴＣＰ／ＩＰプロトコルを含むさまざまな通信プロトコルで使用するために構成されている。ネットワークインターフェイスユニット３３０は、トランシーバ、送受信装置、またはネットワークインターフェイスカード（ＮＩＣ）として公知である場合もある。
【００５４】
ネットワーク装置３００はまた、図３に図示されないキーボードもしくは他の入力または出力装置といった外部装置と通信するための入出力インターフェイス３３２を含む。入出力インターフェイス３３２は、ＵＳＢ、赤外線、Ｂｌｕｅｔｏｏｔｈなどといった１つ以上の通信技術を利用できる。
【００５５】
メモリ３２６は一般に、ＲＡＭ３０４と、ＲＯＭ３２２と、１つ以上の永続的大容量記憶装置、たとえばハードディスクドライブ３３４、テープドライブ、光学ドライブ、および／またはフロッピー（登録商標）ディスクドライブとを含む。メモリ３２６は、ネットワーク装置３００の動作を制御するためのオペレーティングシステム３０６を格納している。あらゆる汎用オペレーティングシステムが採用されてもよい。ネットワーク装置３００の低レベル動作を制御するために、基本入出力システム（Basic input/output system：ＢＩＯＳ）３２４も提供されている。
【００５６】
別々に図示されているものの、メモリ３２６は、プロセッサ読取可能な記憶媒体３２８を含んでいてもよい。プロセッサ読取可能な記憶媒体３２８は、コンピュータ読取可能な媒体、コンピュータ読取可能な記憶媒体、および／またはプロセッサ読取可能な記憶装置と呼ばれてもよく、および／または、それらを含んでいてもよい。プロセッサ読取可能な記憶媒体３２８は、コンピュータ読取可能な命令、データ構造、プログラムモジュール、または他のデータといった情報の格納のためのあらゆる方法または技術で実現された、揮発性、不揮発性、リムーバブル、および非リムーバブルな媒体を含み得る。プロセッサ読取可能な記憶媒体の例は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、もしくは、所望の情報を格納するために使用可能であり、コンピューティング装置によってアクセス可能である他のあらゆる媒体を含む。
【００５７】
メモリ３２６はさらに、１つ以上のデータストレージ３０８を含み、それは、とりわけアプリケーション３１４および／または他のデータを格納するために、ネットワーク装置３００によって利用可能である。たとえば、データストレージ３０８はまた、ネットワーク装置３００のさまざまな能力を記述する情報を格納するために採用されてもよい。その情報は次に、通信中にヘッダの一部として送信されること、要求に応じて送信されることなどを含むさまざまなイベントのうちのいずれかに基づいて、別の装置に提供されてもよい。データストレージ３０８はまた、メッセージ、ウェブページコンテンツなどを格納するために採用されてもよい。また、その情報の少なくとも一部は、プロセッサ読取可能な記憶媒体３２８、ハードディスクドライブ３３４、または、ネットワーク装置３００内の他のコンピュータ読取可能な記憶媒体（図示せず）を含むもののそれらに限定されない、ネットワーク装置３００の別のコンポーネント上に格納されてもよい。
【００５８】
データストレージ３０８は、ユーザアカウント識別子、ユーザプロフィール、電子メールアドレス、ＩＭアドレス、および／または他のネットワークアドレスなどを保持し、格納するように構成され得る、データベース、テキスト、スプレッドシート、フォルダ、ファイルなどを含んでいてもよい。データストレージ３０８はさらに、アクションを実行し、行なうためにプロセッサ３０２などのプロセッサによって使用するためのプログラムコード、データ、アルゴリズムなどを含んでいてもよい。少なくとも１つの実施形態では、データストレージ３０８は、どのタグがある特定の状態にあるか示すための少なくとも１つの状態テーブルを含んでいてもよい。一実施形態では、データストア３０８の少なくとも一部はまた、プロセッサ読取可能な記憶媒体３２８、ハードディスクドライブ３３４などを含むもののそれらに限定されない、ネットワーク装置３００の別のコンポーネント上に格納されてもよい。
【００５９】
アプリケーション３１４は、コンピュータ実行可能な命令を含んでいてもよく、それらは、大容量メモリにロードされ、オペレーティングシステム３０６上で実行されてもよい。アプリケーションプログラムの例は、トランスコーダ、スケジューラ、カレンダー、データベースプログラム、ワードプロセッシングプログラム、ハイパーテキスト転送プロトコル（Hypertext Transfer Protocol：ＨＴＴＰ）プログラム、カスタマイズ可能なユーザインターフェイスプログラム、ＩＰＳｅｃアプリケーション、暗号化プログラム、セキュリティプログラム、ＳＭＳメッセージサーバ、ＩＭメッセージサーバ、電子メールサーバ、アカウントマネージャなどを含み得る。アプリケーション３１４はまた、ウェブサイトサーバ３１８と、タグモニタリングアプリケーション（Tag Monitoring Application：ＴＭＡ）３１９と、タグデプロイメントアプリケーション（Tag Deployment Application：ＴＤＡ）３２０と、タグ制御アプリケーション（Tag Control Application：ＴＣＡ）３２１とを含み得る。
【００６０】
ウェブサイトサーバ３１８は、メッセージを含むコンテンツをネットワークを通して別のコンピューティング装置に提供するように構成された、さまざまな情報およびサービスのうちのいずれかを表わしていてもよい。このため、ウェブサイトサーバ３１８は、たとえば、ウェブサーバ、ファイル転送プロトコル（File Transfer Protocol：ＦＴＰ）サーバ、データベースサーバ、コンテンツサーバなどを含んでいてもよい。ウェブサイトサーバ３１８は、ＷＡＰ、ＨＤＭＬ、ＷＭＬ、ＳＧＭＬ、ＨＴＭＬ、ＸＭＬ、コンパクトＨＴＭＬ（ｃＨＴＭＬ）、拡張可能ＨＴＭＬ（ｘＨＴＭＬ）などを含むもののそれらに限定されない、さまざまなフォーマットのうちのいずれかを使用して、メッセージを含むコンテンツをネットワークを通して提供してもよい。
【００６１】
ＴＭＡ３１９は、タグ待ち時間を非同期にモニタリングするように構成されてもよい。少なくとも１つの実施形態では、ＴＭＡ３１９は、（たとえば、ビジターからウェブサイトへの）ウェブページをロードする要求から独立して、タグ待ち時間を非同期にモニタリングしてもよい。ＴＭＡ３１９は、タグを要求してタグ待ち時間を判断するために、ブラウザをエミュレートしてもよい。少なくとも１つの実施形態では、ＴＭＡ３１９は、エミュレートされたブラウザに要求されたタグをロードするのにかかる時間を計算することにより、タグ待ち時間を判断してもよい。いくつかの実施形態では、ＴＭＡ３１９は、図１のＴＭＳＤ１１２によって採用されてもよい。いずれにせよ、ＴＭＡ３１９は、そのアクションのうちの少なくともいくつかを行なうために、図４〜７および図９Ａ〜９Ｂとともに説明されるプロセスに似たプロセスまたはそれらの一部を採用してもよい。
【００６２】
ＴＤＡ３２０は、タグをデプロイメントするように構成されてもよい。いくつかの実施形態では、ＴＤＡ３２０は、要求（たとえば、ビジターからウェブサイトへの、ウェブページを見る要求）に応じてタグをウェブサイトに提供してもよい。少なくとも１つの実施形態では、ＴＤＡ３２０は、ウェブページに関するデータを集めてもよく、デプロイメントされたタグに関する情報を記録してもよい。いくつかの実施形態では、ＴＤＡ３２０は、図１のＴＤＳＤ１１６によって採用されてもよい。いずれにせよ、ＴＤＡ３２０は、そのアクションのうちの少なくともいくつかを行なうために、図４〜７および図９Ａ〜９Ｂとともに説明されるプロセスに似たプロセスまたはそれらの一部を採用してもよい。
【００６３】
ＴＣＡ３２１は、複数のタグの各々の状態を制御するように構成されてもよい。いくつかの実施形態では、ＴＣＡ３２１は、モニタリングされる準備ができているかもしれない各タグを、ＴＭＡ３１９に通知および／または提供するように構成されてもよい。いくつかの実施形態では、ＴＣＡ３２１は、タグがチェックされた最終時間（すなわち、タグについてタグ待ち時間がいつ判断されるか）を記録してもよく、それは、タグをチェックする次の時間を判断するために利用されてもよい。少なくとも１つの実施形態では、ＴＣＡ３２１は、ＴＭＡ３１９から返されたタグ測定値（たとえば、タグ待ち時間）を記録してもよい。これらの測定値は、タグの状態を変化させるべきかどうか判断するためにＴＣＡ３２１によって利用されてもよく、または、履歴を報告する目的のために利用されてもよい。
【００６４】
少なくとも１つの実施形態では、ＴＣＡ３２１は、タグの状態を変化させてもよい。いくつかの実施形態では、ＴＣＡ３２１は、タグを所与の状態に追加するかまたは所与の状態から除去するために、状態テーブルを変更してもよい。いくつかの実施形態では、ＴＣＡ３２１は、タグの状態に基づいて、利用可能なタグをデプロイメントのためにイネーブルにし、またはタグがデプロイメントされないように阻止する（すなわち、タグをディスエーブルにする）ように構成されてもよい。少なくとも１つの実施形態では、ＴＣＡ３２１は、デプロイメントのために利用可能なタグをＴＤＡ３２０に提供および／または通知するように構成されてもよい。いくつかの実施形態では、ＴＣＡ３２１は、図１のＴＣＳＤ１１４によって採用されてもよい。いずれにせよ、ＴＣＡ３２１は、そのアクションのうちの少なくともいくつかを行なうために、図４〜７および図９Ａ〜９Ｂとともに説明されるプロセスに似たプロセスまたはそれらの一部を採用してもよい。
【００６５】
一般動作
この発明のいくつかの局面の動作を、図４〜７に関して以下に説明する。図４は、タグの待ち時間の非同期モニタリングに基づいてタグ状態を変化させ、タグの状態に基づいてタグをデプロイメントのためにイネーブルにするための全体プロセスの一実施形態を概して示す論理フロー図を示す。いくつかの実施形態では、図４のプロセス４００は、単一の、図３のネットワーク装置３００などのネットワーク装置によって実現され、および／または単一のネットワーク装置上で実行されてもよい。他の実施形態では、図４のプロセス４００またはプロセス４００の一部は、複数の、図３のネットワーク装置３００などのネットワーク装置によって実現され、および／または複数のネットワーク装置上で実行されてもよい。さまざまな実施形態のうちの少なくとも１つでは、プロセス４００は、複数のタグの各々について行なわれてもよい。
【００６６】
プロセス４００は、開始ブロックの後、ブロック４０２で始まり、そこで、タグがモニタリングのために判断されてもよい。いくつかの実施形態では、複数のタグの各々がモニタリングされてもよく、各タグは、少なくとも１つのウェブページに関連付けられていてもよい。他の実施形態では、複数のタグの一部はモニタリングされてもよく、複数のタグの別の一部はモニタリングされなくてもよい。少なくとも１つの実施形態では、モニタリングすべきタグは、ユーザなどによって予め定められ、判断され、変更されてもよい。
【００６７】
いくつかの実施形態では、タグは、複数の異なる状態のうちの１つの状態にあってもよい。各状態は、タグがデプロイメントされることをイネーブルにしてもよく、または、タグがデプロイメントされないように阻止してもよい。タグの状態は、モニタリング、タグがある状態にある時間など、またはそれらの組合せに基づいて、ある状態から別の状態に変化し得る。いくつかの実施形態では、タグをある状態から別の状態に遷移させるために、異なるトリガ（すなわち、連続する時間待ちイベントの数）が採用されてもよい。タグの状態を変化させるためのプロセスの実施形態を、図７および図９Ａ〜９Ｂとともに以下により詳細に説明する。少なくとも１つの実施形態では、タグは、ＮＯＲＭＡＬ、ＦＬＡＧＧＥＤ、ＳＵＳＰＥＮＳＩＯＮ＿Ａ、またはＳＵＳＰＥＮＳＩＯＮ＿Ｂという状態のうちの１つの状態にあってもよい。これらの異なる状態の図形表示の一実施形態を、図８とともに以下により詳細に説明する。
【００６８】
しかしながら、実施形態はそのように限定されるものではなく、他の状態の数、状態のタイプ、状態変化用のアルゴリズム／メトリクスなどが採用されてもよい。たとえば、少なくとも１つの実施形態では、タグは、ＮＯＲＭＡＬ、ＦＬＡＧＧＥＤ、ＰＲＥ−ＳＵＳＰＥＮＤＥＤ、ＳＵＳＰＥＮＤＥＤ、またはＰＯＳＴ−ＳＵＳＰＥＮＤＥＤという状態のうちの１つの状態にあってもよい。これらの異なる状態の図形表示の一実施形態を、図１０とともに以下により詳細に説明する。別の実施形態では、状態の数および／または状態のタイプ、タグの状態を変化させるために利用されるメトリクスなどを変更するために、測定値（たとえば、タグ待ち時間）の履歴記録が利用されてもよい。たとえば、履歴記録は、タグが長時間の間、特定の状態のまま動かなくなり得ることを示す場合がある。そのような一例では、追加の状態が追加されてもよく、それは、タグをより頻繁にモニタリングするために利用されてもよい。別の例では、（たとえば、日常的なサーバメンテナンスのために）あるタグが所与の時間に時間待ちイベントを日常的にもたらすことを、履歴記録が示し得る場合、そのタグは、その所与の時間に異なる状態に先制して遷移されてもよい。
【００６９】
いずれにせよ、プロセス４００はブロック４０４に進み、そこで、タグ待ち時間が非同期にモニタリングされてもよい。いくつかの実施形態では、モニタリングは、それがビジターからウェブページへの、そのウェブページに対する要求から独立している場合、非同期であってもよい。少なくとも１つの実施形態では、モニタリングは、少なくとも、モニタリングすべきタグの状態に基づいていてもよい。いくつかの実施形態では、タグの状態は、タグをモニタリングするレートおよび／または頻度を判断してもよい。いくつかの実施形態では、タグをモニタリングするレートは、個々の状態ごとに構成可能および／または変更可能であってもよい。一実施形態では、各状態は、タグを非同期にモニタリングするための異なる頻度に対応していてもよい。たとえば、ＮＯＲＭＡＬ状態にあるタグは１５分ごとにモニタリングされてもよく、ＦＬＡＧＧＥＤ状態にあるタグは５分ごとにモニタリングされてもよく、ＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあるタグは毎分モニタリングされてもよく、一方、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態にあるタグは、予め定められた量の時間の間、アイドル状態にあってもよく、モニタリングされなくてもよい。しかしながら、実施形態はそのように限定されるものではなく、タグ待ち時間を周期的にモニタリングするための他の頻度が採用されてもよい。
【００７０】
他のいくつかの実施形態では、タグをモニタリングする待ち時間が判断されてもよい。少なくとも１つの実施形態では、待ち時間は、タグ要求からサーバ応答の受信までの時間を測定することによって判断されてもよい。しかしながら、実施形態はそのように限定されるものではなく、より詳細に上述されたタグ待ち時間を判断するための他の方法が採用されてもよい。
【００７１】
プロセス４００は次に、決定ブロック４０６に進み、そこで、タグ待ち時間が時間待ちイベントをもたらしたかどうか判断されてもよい。少なくとも１つの実施形態では、タグ待ち時間は、最大待ち時間しきい値と比較されてもよい。タグ待ち時間が最大待ち時間しきい値よりも大きい場合、タグモニタリングの結果は、時間待ちイベントが生じたことを示し得る。少なくとも１つの実施形態では、最大待ち時間しきい値は、各ユーザおよび／または各状態ごとに構成されてもよく、および／または変更可能であってもよい。したがって、最大待ち時間しきい値は、各ユーザおよび／または状態ごとに同じであってもよく、および／または異なっていてもよい。タグ待ち時間が最大待ち時間しきい値未満である場合、タグモニタリングの結果は、非時間待ちイベントが生じたことを示し得る。時間待ちイベントが生じた場合、処理はブロック４０８へとフローし得る。そうでない場合、非時間待ちイベントが生じたかもしれず、処理はブロック４１０へとフローし得る。
【００７２】
ブロック４０８で、時間待ちイベントに基づいてタグ状態を変化させてもよく、それを図５とともに以下により詳細に説明する。しかしながら、簡単に言えば、待ち時間（たとえば、連続する時間待ちイベント）およびタグの状態の判断が、状態に対する変更を示す場合、タグの状態は別の状態に変更されてもよい。いくつかの実施形態では、タグは、タグの現在の状態と、時間待ちイベントの数が時間待ちイベントしきい値を上回るかどうかとに基づいて、状態を変化させてもよい。たとえば、いくつかの実施形態では、時間待ちイベントのしきい値数を上回る場合、タグはＮＯＲＭＡＬ状態からＦＬＡＧＧＥＤ状態に変化してもよい。他の実施形態では、時間待ちイベントのしきい値数を上回る場合、タグはＦＬＡＧＧＥＤ状態からＳＵＳＰＥＮＳＩＯＮ＿Ａ状態に変化してもよい。さらに他の実施形態では、時間待ちイベントのしきい値数を上回る場合、タグはＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態からＳＵＳＰＥＮＳＩＯＮ＿Ａ状態に変化してもよい。いくつかの実施形態では、時間待ちイベントしきい値は、たとえば１〜３個の連続する時間待ちイベントといった、任意の好適な数の連続する時間待ちイベントであってもよい。他の実施形態では、時間待ちイベントしきい値は、所与の期間内に生じる任意の好適な数の時間待ちイベント（たとえば、５分で３個の時間待ちイベント）であってもよい。しかしながら、実施形態はそのように限定されるものではなく、時間待ちイベントしきい値は、タグが所与の状態から遷移されるかどうか、およびタグがどの状態に遷移されるかを判断するために、他のメトリクス／アルゴリズムに基づいていてもよい。
【００７３】
たとえば、タグは、時間待ちイベントの重度（severity）（たとえば、重度しきい値を上回るタグ待ち時間値）、重度しきい値を上回る連続する時間待ちイベントの数、予め定められた期間内の重度しきい値を上回る時間待ちイベントの数、タグが所与の状態にある持続時間など、またはそれらの任意の組合せに基づいて、ある状態から別の状態に変化してもよい。いくつかの実施形態では、各状態で採用された時間待ちイベントしきい値は、個々に構成可能および／または変更可能であってもよい。少なくとも１つの実施形態では、これらの時間待ちイベントしきい値の各々は、各ユーザごとに別々に構成されてもよい。処理は次に、決定ブロック４１２に進む。
【００７４】
決定ブロック４０６で、非時間待ちイベントが生じたと判断された場合、処理は決定ブロック４０６からブロック４１０へとフローし得る。ブロック４１０で、非時間待ちイベントに基づいてタグの状態を変化させてもよく、それを図６とともに以下により詳細に説明する。しかしながら、簡単に言えば、待ち時間（たとえば、連続する非時間待ちイベント）およびタグの状態の判断が、状態に対する変更を示す場合、タグの状態は別の状態に変更されてもよい。いくつかの実施形態では、タグは、タグの現在の状態と、時間待ちイベントの数が非時間待ちイベントしきい値を上回るかどうかとに基づいて、状態を変化させてもよい。
【００７５】
いくつかの実施形態では、非時間待ちイベントのしきい値数を上回る場合、タグはＦＬＡＧＧＥＤ状態からＮＯＲＭＡＬ状態に変化してもよい。他の実施形態では、非時間待ちイベントのしきい値数を上回る場合、タグはＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態からＦＬＡＧＧＥＤ状態に変化してもよい。いくつかの実施形態では、非時間待ちイベントしきい値は、たとえば１〜３個の連続する非時間待ちイベントといった、任意の好適な数の連続する非時間待ちイベントであってもよい。他の実施形態では、非時間待ちイベントしきい値は、所与の期間内に生じる任意の好適な数の非時間待ちイベント（たとえば、１分で３個の非時間待ちイベント）であってもよい。しかしながら、実施形態はそのように限定されるものではなく、非時間待ちイベントしきい値は、タグが所与の状態から遷移されるかどうか、およびタグがどの状態に遷移されるかを判断するために、他のメトリクス／アルゴリズムに基づいていてもよい。
【００７６】
たとえば、タグは、１つ以上の非時間待ちイベントの軽度（mildness）（たとえば、軽度しきい値を下回るタグ待ち時間値）、軽度しきい値を下回る連続する非時間待ちイベントの数、予め定められた期間内の軽度しきい値を下回る非時間待ちイベントの数、タグが所与の状態にある持続時間など、またはそれらの任意の組合せに基づいて、ある状態から別の状態に変化してもよい。いくつかの実施形態では、各状態で採用された非時間待ちイベントしきい値は、個々に構成可能および／または変更可能であってもよい。少なくとも１つの実施形態では、これらの非時間待ちイベントしきい値の各々は、各ユーザごとに別々に構成されてもよい。
【００７７】
プロセス４００は次に、決定ブロック４１２に進み、そこで、タグの現在の状態に基づいてタグがデプロイメントされないように阻止されているかどうか判断されてもよい。いくつかの実施形態では、ＮＯＲＭＡＬ状態および／またはＦＬＡＧＧＥＤ状態にあるタグは、阻止されなくてもよく、デプロイメントされることを許可されてもよい。他の実施形態では、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態および／またはＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあるタグは、阻止されてもよく、デプロイメントされることを許可されなくてもよい。タグがデプロイメントされないように阻止されている場合、処理は、ひき続きタグ待ち時間を非同期にモニタリングするために、ブロック４０４へとループし得る。そうでない場合、処理はブロック４１４へとフローし得る。
【００７８】
ブロック４１４で、タグは、デプロイメントされることをイネーブルにされてもよい。いくつかの実施形態では、タグがデプロイメントされることをイネーブルにすることは、ウェブページ要求が提供された場合、タグが要求されてウェブページにロードされ得ることを、ウェブページに通知することを含んでいてもよい。他の実施形態では、タグがデプロイメントされることをイネーブルにすることは、ウェブページに対する要求が提供された場合、タグを要求してロードするように、図１のＴＤＳＤ１１６といったタグデプロイメント装置に通知することを含んでいてもよい。少なくとも１つの実施形態では、デプロイメントのためにイネーブルにされたタグは、デプロイメントのために利用可能なタグのテーブルまたはリストに含まれていてもよい。いくつかの実施形態では、（ブロック４１２によって判断されるような）タグの現在の状態の判断がデプロイメントを肯定的に示し、かつ、ウェブページが要求された場合、タグは、関連付けられたウェブページでデプロイメントされてもよい。
【００７９】
ブロック４１４の後、プロセス４００は、ひき続きタグ待ち時間を非同期にモニタリングするために、ブロック４０４へとループし得る。
【００８０】
図５は、タグの時間待ちイベントおよびタグの現在の状態に基づいてタグ状態を変化させるためのプロセスの一実施形態を概して示す論理フロー図を示す。いくつかの実施形態では、図５のプロセス５００は、単一の、図３のネットワーク装置３００などのネットワーク装置によって実現され、および／または単一のネットワーク装置上で実行されてもよい。他の実施形態では、図５のプロセス５００またはプロセス５００の一部は、複数の、図３のネットワーク装置３００などのネットワーク装置によって実現され、および／または複数のネットワーク装置上で実行されてもよい。
【００８１】
プロセス５００は、開始ブロックの後、決定ブロック５０２で始まり、そこで、タグがＮＯＲＭＡＬ状態にあるかどうか判断されてもよい。少なくとも１つの実施形態では、各状態（すなわち、ＮＯＲＭＡＬ状態、ＦＬＡＧＧＥＤ状態、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態、および／またはＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態）は、その特定の状態にあるタグを識別するテーブルに対応していてもよい。たとえば、通常タグテーブルは、ＮＯＲＭＡＬ状態にあるタグを識別してもよく、フラグ付きタグテーブルは、ＦＬＡＧＧＥＤ状態にあるタグを識別してもよく、ＳＵＳＰＥＮＳＩＯＮ＿Ａタグテーブルは、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態にあるタグを識別してもよく、ＳＵＳＰＥＮＳＩＯＮ＿Ｂタグテーブルは、ＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあるタグを識別してもよい。いくつかの実施形態では、タグが通常タグテーブルに含まれている場合、そのタグはＮＯＲＭＡＬ状態にあると判断されてもよい。タグがＮＯＲＭＡＬ状態にある場合、処理は決定ブロック５０４へとフローし得る。そうでない場合、処理は決定ブロック５１０へとフローし得る。
【００８２】
決定ブロック５０４で、時間待ちイベントしきい値を上回るかどうか判断されてもよい。いくつかの実施形態では、時間待ちイベントしきい値は、連続する時間待ちイベントの総数であってもよい。非限定的で非包括的な一例では、ＮＯＲＭＡＬ状態についての時間待ちイベントしきい値は、１個の時間待ちイベントであってもよい。少なくとも１つのそのような実施形態では、時間待ちイベントしきい値を上回るかどうか判断することは、連続する時間待ちイベントの数を時間待ちイベントしきい値と比較することを含んでいてもよい。他の実施形態では、時間待ちイベントしきい値は、所与の期間内に生じた時間待ちイベントの総数であってもよい。しかしながら、実施形態はそのように限定されるものではなく、他の時間待ちイベントしきい値が採用されてもよい。時間待ちイベントしきい値を上回る場合、処理はブロック５０６へとフローし得る。そうでない場合、処理はブロック５０８へとフローし得る。
【００８３】
ブロック５０６で、タグはＦＬＡＧＧＥＤ状態に遷移されてもよい。少なくとも１つの実施形態では、タグをＦＬＡＧＧＥＤ状態に遷移させることは、タグをＮＯＲＭＡＬタグテーブルから除去し、タグをＦＬＡＧＧＥＤタグテーブルに追加することを含んでいてもよい。しかしながら、実施形態はそのように限定されるものではなく、タグ状態を識別して変化させる他の方法が採用されてもよい。いくつかの実施形態では、ＦＬＡＧＧＥＤ状態にあるタグは、阻止されなくてもよく、デプロイメントされることをイネーブルにされてもよい。少なくとも１つの実施形態では、タグがＦＬＡＧＧＥＤ状態に遷移されたことを示すために、電子メール、テキストメッセージ、または他の通知がユーザに送信されてもよい。他のいくつかの実施形態では、タグのタグ待ち時間がモニタリングされた場合にタグがエラー（たとえば、ＨＴＴＰ  ４ｘｘ｜５ｘｘ応答）を返すと、タグはＦＬＡＧＧＥＤ状態に遷移されてもよい。ブロック５０６の後、プロセス５００は、他のアクションを行なうために呼出しプロセスに戻り得る。
【００８４】
決定ブロック５０４で、時間待ちイベントしきい値を上回らないと判断された場合、処理は決定ブロック５０４からブロック５０８へとフローし得る。ブロック５０８で、タグはＮＯＲＭＡＬ状態のままであってもよい。少なくとも１つの実施形態では、ＮＯＲＭＡＬ状態にあるタグは、阻止されなくてもよく、デプロイメントされることをイネーブルにされてもよい。ブロック５０８の後、プロセス５００は、他のアクションを行なうために呼出しプロセスに戻り得る。
【００８５】
決定ブロック５０２で、タグがＮＯＲＭＡＬ状態にないと判断された場合、処理は決定ブロック５０２から決定ブロック５１０へとフローし得る。決定ブロック５１０で、タグがＦＬＡＧＧＥＤ状態にあるかどうか判断されてもよい。いくつかの実施形態では、タグがフラグ付きタグテーブルに含まれている場合、そのタグはＦＬＡＧＧＥＤ状態にあると判断されてもよい。タグがＦＬＡＧＧＥＤ状態にある場合、処理は決定ブロック５１２へとフローし得る。そうでない場合、処理は決定ブロック５１６へとフローし得る。
【００８６】
決定ブロック５１２で、時間待ちイベントしきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック５１２は、時間待ちイベントしきい値を上回るかどうか判断するために、決定ブロック５０４の実施形態を採用してもよい。いくつかの実施形態では、ＦＬＡＧＧＥＤ状態についての時間待ちイベントしきい値は、ＮＯＲＭＡＬ状態についての時間待ちイベントしきい値と同じであってもよく、または異なっていてもよい。非限定的で非包括的な一例では、ＦＬＡＧＧＥＤ状態についての時間待ちイベントのしきい値数は、３個の連続する時間待ちイベントであってもよい。しかしながら、実施形態はそのように限定されるものではなく、他の時間待ちイベントしきい値が採用されてもよい。時間待ちイベントしきい値を上回る場合、処理はブロック５２４へとフローし得る。そうでない場合、処理はブロック５１４へとフローし得る。
【００８７】
ブロック５１４で、タグは、フラグ付き状態のままであってもよい。少なくとも１つの実施形態では、ＦＬＡＧＧＥＤ状態にあるタグは、阻止されなくてもよく、デプロイメントされることをイネーブルにされてもよい。ブロック５１４の後、プロセス５００は、他のアクションを行なうために呼出しプロセスに戻り得る。
【００８８】
決定ブロック５１０で、タグがＦＬＡＧＧＥＤ状態にないと判断された場合、処理は決定ブロック５１０から決定ブロック５１６へとフローし得る。決定ブロック５１６で、タグがＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあるかどうか判断されてもよい。いくつかの実施形態では、タグがＳＵＳＰＥＮＳＩＯＮ＿Ｂタグテーブルに含まれている場合、そのタグはＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあると判断されてもよい。タグがＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にある場合、処理は決定ブロック５１８へとフローし得る。そうでない場合、タグはＳＵＳＰＥＮＳＩＯＮ＿Ａ状態にあるかもしれず、処理は決定ブロック５２０へとフローし得る。
【００８９】
ブロック５２０で、タグは、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態のままであってもよい。少なくとも１つの実施形態では、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態にあるタグは、阻止されてもよく、デプロイメントされることをイネーブルにされなくてもよい。いくつかの実施形態では、タグは、時間待ちイベントおよび／または非時間待ちイベントから独立して、予め定められた期間の間、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態にとどまっていてもよい。ブロック５２０の後、プロセス５００は、他のアクションを行なうために呼出しプロセスに戻り得る。
【００９０】
決定ブロック５１６で、タグがＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあると判断された場合、処理は決定ブロック５１６から決定ブロック５１８へとフローし得る。決定ブロック５１８で、時間待ちイベントしきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック５１８は、時間待ちイベントしきい値を上回るかどうか判断するために、決定ブロック５０４の実施形態を採用してもよい。いくつかの実施形態では、ＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態についての時間待ちイベントしきい値は、ＮＯＲＭＡＬ状態および／またはＦＬＡＧＧＥＤ状態についての時間待ちイベントしきい値と同じであってもよく、または異なっていてもよい。非限定的で非包括的な一例では、ＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態についての時間待ちイベントのしきい値数は、３個の連続する時間待ちイベントであってもよい。しかしながら、実施形態はそのように限定されるものではなく、他の時間待ちイベントしきい値が採用されてもよい。時間待ちイベントしきい値を上回る場合、処理はブロック５２４へとフローし得る。そうでない場合、処理はブロック５２２へとフローし得る。
【００９１】
ブロック５２４で、タグはＳＵＳＰＥＮＳＩＯＮ＿Ａ状態に遷移されてもよい。少なくとも１つの実施形態では、タグをＳＵＳＰＥＮＳＩＯＮ＿Ａ状態に遷移させることは、タグをＳＵＳＰＥＮＳＩＯＮ＿Ａタグテーブルに追加し、タグをＦＬＡＧＧＥＤタグテーブルまたはＳＵＳＰＥＮＳＩＯＮ＿Ｂタグテーブルから除去することを含んでいてもよい。いくつかの実施形態では、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態にあるタグは、阻止されてもよく、デプロイメントされることをイネーブルにされなくてもよい。ブロック５２４の後、プロセス５００は、他のアクションを行なうために呼出しプロセスに戻り得る。
【００９２】
決定ブロック５１８で、時間待ちイベントしきい値を上回らないと判断された場合、処理は決定ブロック５１８からブロック５２２へとフローし得る。ブロック５２２で、タグはＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態のままであってもよい。いくつかの実施形態では、ＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあるタグは、阻止されてもよく、デプロイメントされることをイネーブルにされなくてもよい。ブロック５２２の後、プロセス５００は、他のアクションを行なうために呼出しプロセスに戻り得る。
【００９３】
図６は、タグの非時間待ちイベントおよびタグの現在の状態に基づいてタグ状態を変化させるためのプロセスの一実施形態を概して示す論理フロー図を示す。いくつかの実施形態では、図６のプロセス６００は、単一の、図３のネットワーク装置３００などのネットワーク装置によって実現され、および／または単一のネットワーク装置上で実行されてもよい。他の実施形態では、図６のプロセス６００またはプロセス６００の一部は、複数の、図３のネットワーク装置３００などのネットワーク装置によって実現され、および／または複数のネットワーク装置上で実行されてもよい。
【００９４】
プロセス６００は、開始ブロックの後、決定ブロック６０２で始まり、そこで、タグがＮＯＲＭＡＬ状態にあるかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック６０２は、タグがＮＯＲＭＡＬ状態にあるかどうか判断するために、図５の決定ブロック５０２の実施形態を採用してもよい。タグがＮＯＲＭＡＬ状態にある場合、処理はブロック６０４へとフローし得る。そうでない場合、処理は決定ブロック６０６へとフローし得る。
【００９５】
ブロック６０４で、タグはＮＯＲＭＡＬ状態のままであってもよく、タグは、デプロイメントされることを許可されてもよい。少なくとも１つの実施形態では、ブロック６０４は、図５のブロック５０８の実施形態を採用してもよい。ブロック６０４の後、プロセス６００は、他のアクションを行なうために呼出しプロセスに戻り得る。
【００９６】
決定ブロック６０２で、タグがＮＯＲＭＡＬ状態にないと判断された場合、処理は決定ブロック６０２から決定ブロック６０６へとフローし得る。決定ブロック６０６で、タグがＦＬＡＧＧＥＤ状態にあるかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック６０６は、タグがＦＬＡＧＧＥＤ状態にあるかどうか判断するために、図５の決定ブロック５１０の実施形態を採用してもよい。タグがＦＬＡＧＧＥＤ状態にある場合、処理は決定ブロック６０８へとフローし得る。そうでない場合、処理は決定ブロック６１０へとフローし得る。
【００９７】
決定ブロック６０８で、非時間待ちイベントしきい値を上回るかどうか判断されてもよい。いくつかの実施形態では、非時間待ちイベントしきい値は、連続する非時間待ちイベントの総数であってもよい。非限定的で非包括的な一例では、ＦＬＡＧＧＥＤ状態についての非時間待ちイベントしきい値は、３個の連続する非時間待ちイベントであってもよい。少なくとも１つのそのような実施形態では、非時間待ちイベントしきい値を上回るかどうか判断することは、連続する非時間待ちイベントの数を非時間待ちイベントしきい値と比較することを含んでいてもよい。他の実施形態では、非時間待ちイベントしきい値は、所与の期間内に生じた非時間待ちイベントの総数であってもよい。しかしながら、実施形態はそのように限定されるものではなく、他の非時間待ちイベントしきい値が採用されてもよい。非時間待ちイベントしきい値を上回る場合、処理はブロック６１６へとフローし得る。そうでない場合、処理はブロック６１４へとフローし得る。
【００９８】
ブロック６１６で、タグはＮＯＲＭＡＬ状態に遷移されてもよい。少なくとも１つの実施形態では、タグをＮＯＲＭＡＬ状態に遷移させることは、タグをＦＬＡＧＧＥＤタグテーブルから除去し、タグをＮＯＲＭＡＬタグテーブルに追加することを含んでいてもよい。しかしながら、実施形態はそのように限定されるものではなく、タグ状態を識別して変化させる他の方法が採用されてもよい。いくつかの実施形態では、ＮＯＲＭＡＬ状態にあるタグは、阻止されなくてもよく、デプロイメントされることをイネーブルにされてもよい。他のいくつかの実施形態では、ユーザがタグ状態をリセットした場合、タグのＨＴＭＬフィールドが編集された場合、タグのモニタリングがディスエーブルにされた場合、および／または、タグをモニタリングする地理的領域が変更された（すなわち、ユーザは、タグをモニタリングするサーバの地理的位置を選択してもよい）場合に、タグはＮＯＲＭＡＬ状態に戻ってもよい。ブロック６１６の後、プロセス６００は、他のアクションを行なうために呼出しプロセスに戻り得る。
【００９９】
決定ブロック６０８で、非時間待ちイベントしきい値を上回らないと判断された場合、処理は決定ブロック６０８からブロック６１４へとフローし得る。ブロック６１４で、タグはＦＬＡＧＧＥＤ状態のままであってもよい。少なくとも１つの実施形態では、ブロック６１４は、図５のブロック５１４の実施形態を採用してもよい。ブロック６１４の後、プロセス６００は、他のアクションを行なうために呼出しプロセスに戻り得る。
【０１００】
決定ブロック６０６で、タグがＦＬＡＧＧＥＤ状態にないと判断された場合、処理は決定ブロック６０６から決定ブロック６１０へとフローし得る。決定ブロック６１０で、タグがＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあるかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック６１０は、タグがＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあるかどうか判断するために、図５の決定ブロック５１６の実施形態を採用してもよい。タグがＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にある場合、処理は決定ブロック６１８へとフローし得る。そうでない場合、処理は決定ブロック６１２へとフローし得る。
【０１０１】
ブロック６１２で、タグはＳＵＳＰＥＮＳＩＯＮ＿Ａ状態のままであってもよい。少なくとも１つの実施形態では、ブロック６１２は、図５のブロック５２０の実施形態を採用してもよい。ブロック６１２の後、プロセス６００は、他のアクションを行なうために呼出しプロセスに戻り得る。
【０１０２】
決定ブロック６１０で、タグがＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にないと判断された場合、処理は決定ブロック６１０から決定ブロック６１８へとフローし得る。決定ブロック６１８で、非時間待ちイベントしきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック６１８は、非時間待ちイベントしきい値を上回るかどうか判断するために、決定ブロック６０８の実施形態を採用してもよい。いくつかの実施形態では、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態についての非時間待ちイベントしきい値は、ＦＬＡＧＧＥＤ状態についての非時間待ちイベントしきい値と同じであってもよく、または異なっていてもよい。非限定的で非包括的な一例では、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態についての非時間待ちイベントのしきい値数は、３個の連続する非時間待ちイベントであってもよい。しかしながら、実施形態はそのように限定されるものではなく、他の非時間待ちイベントしきい値が採用されてもよい。非時間待ちイベントしきい値を上回る場合、処理はブロック６２２へとフローし得る。そうでない場合、処理はブロック６２０へとフローし得る。
【０１０３】
ブロック６２２で、タグはＦＬＡＧＧＥＤ状態に遷移されてもよい。少なくとも１つの実施形態では、ブロック６２２は、図５のブロック５０６の実施形態を採用してもよい。ブロック６２２の後、プロセス６００は、他のアクションを行なうために呼出しプロセスに戻り得る。
【０１０４】
決定ブロック６１８で、非時間待ちイベントしきい値を上回らないと判断された場合、処理は決定ブロック６１８からブロック６２０へとフローし得る。ブロック６２０で、タグはＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態のままであってもよい。少なくとも１つの実施形態では、ブロック６２０は、図５のブロック５２２の実施形態を採用してもよい。ブロック６２０の後、プロセス６００は、他のアクションを行なうために呼出しプロセスに戻り得る。
【０１０５】
図７は、複数の状態のうちの１つの状態にあるタグを採用し、時間待ちイベントまたは非時間待ちイベントに基づいてタグ状態を変化させるためのプロセスの一実施形態を概して示す論理フロー図を示す。いくつかの実施形態では、図７のプロセス７００は、単一の、図３のネットワーク装置３００などのネットワーク装置によって実現され、および／または単一のネットワーク装置上で実行されてもよい。他の実施形態では、図７のプロセス７００またはプロセス７００の一部は、複数の、図３のネットワーク装置３００などのネットワーク装置によって実現され、および／または複数のネットワーク装置上で実行されてもよい。
【０１０６】
プロセス７００は、開始ブロックの後、ブロック７０２で始まり、そこで、タグがＮＯＲＭＡＬ状態で採用されてもよい。少なくとも１つの実施形態では、ＮＯＲＭＡＬ状態にあるタグは、阻止されなくてもよく、デプロイメントされることをイネーブルにされてもよい。（ブロック４０４で）上述したように、タグの待ち時間が非同期にモニタリングされてもよい。少なくとも１つの実施形態では、ＮＯＲＭＡＬ状態にあるタグのタグ待ち時間は、１５分ごとにモニタリングされてもよい。しかしながら、フラグ付き状態にあるタグをモニタリングするための他の頻度が採用されてもよい。
【０１０７】
プロセス７００は決定ブロック７０４に進み、そこで、タグについての時間待ちイベントが生じたかかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック７０４は、非同期にモニタリングされたタグ待ち時間に基づいて時間待ちイベントが生じたかどうか判断するために、図４の決定ブロック４０６の実施形態を採用してもよい。時間待ちイベントが生じた場合、処理は決定ブロック７０５へとフローし得る。そうでない場合、処理はブロック７０２へとループしてもよく、そこで、タグはＮＯＲＭＡＬ状態のままであってもよい。
【０１０８】
決定ブロック７０５で、時間待ちイベントしきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック７０５は、ＮＯＲＭＡＬ状態にあるタグについて時間待ちイベントしきい値を上回るかどうか判断するために、図５の決定ブロック５０４の実施形態を採用してもよい。時間待ちイベントしきい値を上回る場合、タグはＦＬＡＧＧＥＤ状態に遷移されてもよく、処理はブロック７０６へとフローし得る。そうでない場合、処理はブロック７０２へとループしてもよく、そこで、タグはＮＯＲＭＡＬ状態のままであってもよい。いくつかの実施形態では、プロセス７００は、タグをＦＬＡＧＧＥＤ状態に遷移させるために、図５のブロック５０６の実施形態を採用してもよい。
【０１０９】
ブロック７０６で、タグはＦＬＡＧＧＥＤ状態で採用されてもよい。少なくとも１つの実施形態では、ＦＬＡＧＧＥＤ状態にあるタグは、阻止されなくてもよく、デプロイメントされることをイネーブルにされてもよい。少なくとも１つの実施形態では、ＦＬＡＧＧＥＤ状態にあるタグのタグ待ち時間は、５分ごとにモニタリングされてもよい。しかしながら、ＦＬＡＧＧＥＤ状態にあるタグをモニタリングするための他の頻度が採用されてもよい。
【０１１０】
いくつかの実施形態では、ユーザは、タグを「リセット」することによって、ＦＬＡＧＧＥＤ状態にあるタグをＮＯＲＭＡＬに手動で遷移させてもよい。少なくとも１つの実施形態では、ユーザは、「リセット」ボタンをクリックすることによって、タグをＮＯＲＭＡＬ状態に遷移させてもよい。しかしながら、実施形態はそのように限定されるものではなく、タグをリセットし、および／またはタグをＮＯＲＭＡＬ状態に手動で遷移させるための他の実施形態が採用されてもよい。少なくとも１つの実施形態では、タグを手動で遷移させることは、タグの待ち時間をモニタリングするためのプロセスから独立して生じてもよい。ＦＬＡＧＧＥＤ状態にあるタグがＮＯＲＭＡＬ状態に手動で「リセット」された場合、プロセス７００はブロック７０２へとループし得る（図示せず）。少なくとも１つの実施形態では、任意の状態（および／または予め定められた状態）のタグが、ＮＯＲＭＡＬ状態に「リセット」されてもよい。
【０１１１】
いずれにせよ、プロセス７００は決定ブロック７１０に進み、そこで、タグについての時間待ちイベントが生じたかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック７１０は、時間待ちイベントが生じたかどうか判断するために、決定ブロック７０４の実施形態を採用してもよい。時間待ちイベントが生じた場合、処理は決定ブロック７１２へとフローし得る。そうでない場合、処理は決定ブロック７０８へとフローし得る。
【０１１２】
決定ブロック７０８で、非時間待ちイベントしきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック７０８は、ＦＬＡＧＧＥＤ状態にあるタグについて非時間待ちイベントしきい値を上回るかどうか判断するために、図６の決定ブロック６０８の実施形態を採用してもよい。非時間待ちイベントしきい値を上回る場合、タグはＮＯＲＭＡＬ状態に遷移されてもよく、処理はブロック７０２へとフローし得る。そうでない場合、処理はブロック７０６へとループしてもよく、そこで、タグはＦＬＡＧＧＥＤ状態のままであってもよい。いくつかの実施形態では、プロセス７００は、タグをＮＯＲＭＡＬ状態に遷移させるために、図６のブロック６１６の実施形態を採用してもよい。
【０１１３】
決定ブロック７１０で、時間待ちイベントが生じた場合、処理は決定ブロック７１０から決定ブロック７１２へとフローし得る。決定ブロック７１２で、時間待ちイベントしきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック７１２は、ＦＬＡＧＧＥＤ状態にあるタグについて時間待ちイベントしきい値を上回るかどうか判断するために、図５の決定ブロック５１２の実施形態を採用してもよい。時間待ちイベントしきい値を上回る場合、タグはＳＵＳＰＥＮＳＩＯＮ＿Ａ状態に遷移されてもよく、処理はブロック７１４へとフローし得る。そうでない場合、処理はブロック７０６へとループしてもよく、そこで、タグはＦＬＡＧＧＥＤ状態のままであってもよい。いくつかの実施形態では、プロセス７００は、タグをＳＵＳＰＥＮＳＩＯＮ＿Ａ状態に遷移させるために、図５のブロック５２４の実施形態を採用してもよい。
【０１１４】
ブロック７１４で、タグはＳＵＳＰＥＮＳＩＯＮ＿Ａ状態で採用されてもよい。いくつかの実施形態では、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態にあるタグは、予め定められた期間の間、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態のままであってもよい。少なくとも１つの実施形態では、タグがＳＵＳＰＥＮＳＩＯＮ＿Ａ状態にある間、タグ待ち時間はモニタリングされなくてもよい。いくつかの実施形態では、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態にあるタグは、阻止されてもよく、デプロイメントされることをイネーブルにされなくてもよい。
【０１１５】
いくつかの実施形態では、ユーザは、タグを「リセット」することによって、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態にあるタグをＮＯＲＭＡＬに手動で遷移させてもよい。少なくとも１つの実施形態では、ブロック７１４は、タグを「リセット」するために、ブロック７０６の実施形態を採用してもよい。ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態にあるタグがＮＯＲＭＡＬ状態に手動で「リセット」された場合、プロセス７００はブロック７０２へとループし得る（図示せず）。
【０１１６】
プロセス７００は決定ブロック７１６に進み、そこで、タグがＳＵＳＰＥＮＳＩＯＮ＿Ａ状態のままであるべき期間が経過したかどうか判断されてもよい。少なくとも１つの実施形態では、この期間は、ユーザによって判断され、および／または変更されてもよい。いくつかの実施形態では、この期間は２０分であってもよい。しかしながら、実施形態はそのように限定されるものではなく、他の期間が採用されてもよい。期間が経過した場合、タグはＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態に遷移されてもよく、処理はブロック７１８へとフローし得る。そうでない場合、処理はブロック７１４へとループしてもよく、そこで、タグはＳＵＳＰＥＮＳＩＯＮ＿Ａ状態のままであってもよい。
【０１１７】
ブロック７１８で、タグはＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態で採用されてもよい。少なくとも１つの実施形態では、ＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあるタグは、阻止されてもよく、デプロイメントされることをイネーブルにされなくてもよい。少なくとも１つの実施形態では、ＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあるタグのタグ待ち時間は、毎分モニタリングされてもよい。しかしながら、ＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあるタグをモニタリングするための他の頻度が採用されてもよい。
【０１１８】
いくつかの実施形態では、ユーザは、タグを「リセット」することによって、ＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあるタグをＮＯＲＭＡＬに手動で遷移させてもよい。少なくとも１つの実施形態では、ブロック７１８は、タグを「リセット」するために、ブロック７０６の実施形態を採用してもよい。ＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあるタグがＮＯＲＭＡＬ状態に手動で「リセット」された場合、プロセス７００はブロック７０２へとループし得る（図示せず）。
【０１１９】
プロセス７００は次に、決定ブロック７２０に進み、そこで、タグについての時間待ちイベントが生じたかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック７２０は、時間待ちイベントが生じたかどうか判断するために、決定ブロック７０４の実施形態を採用してもよい。時間待ちイベントが生じた場合、処理は決定ブロック７２２へとフローし得る。そうでない場合、処理は決定ブロック７２４へとフローし得る。
【０１２０】
決定ブロック７２２で、時間待ちイベントしきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック７２２は、ＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあるタグについて時間待ちイベントしきい値を上回るかどうか判断するために、図５の決定ブロック５１８の実施形態を採用してもよい。時間待ちイベントしきい値を上回る場合、タグはＳＵＳＰＥＮＳＩＯＮ＿Ａ状態に遷移されてもよく、処理はブロック７１４へとフローし得る。そうでない場合、処理はブロック７１８へとループしてもよく、そこで、タグはＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態のままであってもよい。いくつかの実施形態では、プロセス７００は、タグをＳＵＳＰＥＮＳＩＯＮ＿Ａ状態に遷移させるために、図５のブロック５２４の実施形態を採用してもよい。
【０１２１】
決定ブロック７２０で、時間待ちイベントが生じていない場合、処理は決定ブロック７２０から決定ブロック７２４へとフローし得る。決定ブロック７２４で、非時間待ちイベントしきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック７２４は、ＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態にあるタグについて非時間待ちイベントしきい値を上回るかどうか判断するために、図６の決定ブロック６１８の実施形態を採用してもよい。非時間待ちイベントしきい値を上回る場合、タグはＦＬＡＧＧＥＤ状態に遷移されてもよく、処理はブロック７０６へとフローし得る。そうでない場合、処理はブロック７１８へとループしてもよく、そこで、タグはＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態のままであってもよい。いくつかの実施形態では、プロセス７００は、タグをＦＬＡＧＧＥＤ状態に遷移させるために、図５のブロック５０６の実施形態を採用してもよい。
【０１２２】
フローチャート図の各ブロック、およびフローチャート図のブロックの組合せは、コンピュータプログラム命令によって実現可能である、ということが理解されるであろう。これらのプログラム命令は、プロセッサ上で実行される命令が、フローチャートのブロックで特定されたアクションを実現するための手段を作り出すように、プロセッサに提供されてマシンを作成してもよい。コンピュータプログラム命令は、プロセッサ上で実行される命令が、フローチャートのブロックで特定されたアクションを実現するためのステップを提供するように、コンピュータが実現するプロセスを作成するために、プロセッサによって実行され、一連の動作ステップがプロセッサによって行なわれるようにしてもよい。コンピュータプログラム命令はまた、フローチャートのブロックに示す動作ステップのうちの少なくともいくつかが並行して行なわれるようにしてもよい。また、ステップのうちのいくつかは、マルチプロセッサコンピュータシステムで生じるように、２つ以上のプロセッサにわたって行なわれてもよい。加えて、フローチャート図の１つ以上のブロックまたはブロックの組合せはまた、この発明の範囲または精神から逸脱することなく、他のブロックまたはブロックの組合せと同時に行なわれてもよく、もしくは、さらには説明されたものとは異なる順序で行なわれてもよい。
【０１２３】
したがって、フローチャート図のブロックは、特定されたアクションを行なうための手段の組合せ、特定されたアクションを行なうためのステップの組合せ、および特定されたアクションを行なうためのプログラム命令手段をサポートする。また、フローチャート図の各ブロック、およびフローチャート図のブロックの組合せは、特定されたアクションまたはステップを行なう専用ハードウェアベースのシステム、もしくは専用ハードウェアとコンピュータ命令との組合せによって実現可能である、ということが理解されるであろう。前述の例は限定的および／または包括的であると解釈されるべきではなく、むしろ、この発明のさまざまな実施形態の少なくとも１つについての一実現化例を示す例示的な使用事例であると解釈されるべきである。
【０１２４】
図８は、複数のタグ状態と状態変化をトリガし得るイベントとの図形表示を示す使用事例の一実施形態を示す。図示されているように、タグは、ＮＯＲＭＡＬ状態８０２、ＦＬＡＧＧＥＤ状態８０４、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態８０６、またはＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態８０８という、システム８００の４つの状態のうちの１つの状態にあってもよい。いくつかの実施形態では、ＮＯＲＭＡＬ状態８０２、ＦＬＡＧＧＥＤ状態８０４、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態８０６、および／またはＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態８０８にあるタグはそれぞれ、図７のブロック７０２、ブロック７０６、ブロック７１４、および／またはブロック７１８の実施形態と同様に採用されてもよい。
【０１２５】
ＮＯＲＭＡＬ状態８０２にあるタグは、作動されることを許可されてもよい。少なくとも１つの実施形態では、タグを作動させることを許可することは、タグがデプロイメントされるために利用可能であると判断し、タグがデプロイメントされることをイネーブルにすることを含んでいてもよい。いくつかの実施形態では、ＮＯＲＭＡＬ状態８０２にあるタグは、そのタグについて１個の時間待ちイベントがモニタリングされた場合、ＦＬＡＧＧＥＤ状態８０４に遷移されてもよい。しかしながら、実施形態はそのように限定されるものではなく、むしろ、タグがＮＯＲＭＡＬ状態８０２から遷移されるかどうか判断するために、他のメトリクスが採用されてもよく、それを以下により詳細に説明する。
【０１２６】
ＦＬＡＧＧＥＤ状態８０４にあるタグは、作動されることを許可されてもよい。いくつかの実施形態では、ＦＬＡＧＧＥＤ状態８０４にあるタグは、そのタグについて３個の連続する時間待ちイベントがモニタリングされた場合、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態８０６に遷移されてもよい。他の実施形態では、ＦＬＡＧＧＥＤ状態８０４にあるタグは、そのタグについて３個の連続する非時間待ちイベントがモニタリングされた場合、ＮＯＲＭＡＬ状態８０２に遷移されてもよい。しかしながら、実施形態はそのように限定されるものではなく、むしろ、タグがＦＬＡＧＧＥＤ状態８０４から遷移されるかどうか判断するために、他のメトリクスが採用されてもよく、それを以下により詳細に説明する。
【０１２７】
ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態８０６にあるタグは、作動しないように阻止されてもよい。少なくとも１つの実施形態では、タグを作動しないように阻止することは、タグがデプロイメントされるために利用できないと判断し、タグがデプロイメントされることをイネーブルにしないことを含む。いくつかの実施形態では、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態８０６にあるタグは、２０分間ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態のままであった後で、ＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態８０８に遷移されてもよい。しかしながら、実施形態はそのように限定されるものではなく、むしろ、タグがＳＵＳＰＥＮＳＩＯＮ＿Ａ状態８０６から遷移されるかどうか判断するために、他のメトリクスが採用されてもよく、それを以下により詳細に説明する。
【０１２８】
ＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態８０８にあるタグは、作動しないように阻止されてもよい。いくつかの実施形態では、ＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態８０８にあるタグは、そのタグについて３個の連続する時間待ちイベントがモニタリングされた場合、ＳＵＳＰＥＮＳＩＯＮ＿Ａ状態８０６に遷移されてもよい。他の実施形態では、ＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態８０８にあるタグは、そのタグについて３個の連続する非時間待ちイベントがモニタリングされた場合、ＦＬＡＧＧＥＤ状態８０４に遷移されてもよい。しかしながら、実施形態はそのように限定されるものではなく、むしろ、タグがＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態８０８から遷移されるかどうか判断するために、他のメトリクスが採用されてもよく、それを以下により詳細に説明する。
【０１２９】
なお、図８は、複数の状態とある状態から別の状態へのタグの遷移との一実施形態を示している。しかしながら、実施形態はそのように限定されるものではない。たとえば、いくつかの実施形態では、異なる数の状態が採用されてもよい。他の実施形態では、タグは、図８に示されていないような態様である状態から別の状態に遷移してもよく、たとえば、タグは、ＮＯＲＭＡＬ状態８０２からＳＵＳＰＥＮＳＩＯＮ＿Ａ状態８０６に変化してもよい。さらに他の実施形態では、タグが所与の状態から遷移されるかどうか、およびタグがどの状態に遷移されるかを判断するために、各状態は異なるメトリクスを採用してもよい。いくつかの実施形態では、これらのメトリクスは、各ユーザごとに予め定められ、構成可能であり、および／または変更可能であってもよい。採用され得るメトリクスの異なる実施形態は、連続する時間待ちイベントの数、予め定められた期間内の時間待ちイベントの数、時間待ちイベントの重度（たとえば、重度しきい値を上回るタグ待ち時間値）、重度しきい値を上回る連続する時間待ちイベントの数、予め定められた期間内の重度しきい値を上回る時間待ちイベントの数、連続する非時間待ちイベントの数、予め定められた期間内の非時間待ちイベントの数、１つ以上の非時間待ちイベントの軽度（たとえば、軽度しきい値を下回るタグ待ち時間値）、軽度しきい値を下回る連続する非時間待ちイベントの数、予め定められた期間内の軽度しきい値を下回る非時間待ちイベントの数、タグが所与の状態にある持続時間など、またはそれらの任意の組合せを含むもののそれらに限定されない。
【０１３０】
代替的な実施形態
図９Ａ〜９Ｂは、複数の状態のうちの１つの状態にあるタグを採用し、タグ待ち時間に基づいてタグ状態を変化させるためのプロセスの代替的な一実施形態を概して示す論理フロー図を示す。いくつかの実施形態では、図９Ａ〜９Ｂのプロセス９００は、単一の、図３のネットワーク装置３００などのネットワーク装置によって実現され、および／または単一のネットワーク装置上で実行されてもよい。他の実施形態では、図９Ａ〜９Ｂのプロセス９００またはプロセス９００の一部は、複数の、図３のネットワーク装置３００などのネットワーク装置によって実現され、および／または複数のネットワーク装置上で実行されてもよい。
【０１３１】
プロセス９００は、開始ブロックの後、ブロック９０２で始まり、そこで、タグがＮＯＲＭＡＬ状態で採用されてもよい。少なくとも１つの実施形態では、ブロック９０２は、ＮＯＲＭＡＬ状態にあるタグを採用するために、図７のブロック７０２の実施形態を採用してもよい。いくつかの実施形態では、ＮＯＲＭＡＬ状態にあるタグは、モニタリング頻度が１５分であってもよい。
【０１３２】
プロセス９００は決定ブロック９０４に進み、そこで、タグのモニタリングされたタグ待ち時間が中断しきい値を上回ったかどうか判断されてもよい。少なくとも１つの実施形態では、中断しきい値は、予め定められたタグ待ち時間（すなわち、予め定められた量の時間）であってもよい。少なくとも１つの実施形態では、中断しきい値は、ユーザによって判断され、および／または変更されてもよい。タグ待ち時間が中断しきい値を上回る場合、タグはＰＲＥ−ＳＵＳＰＥＮＳＩＯＮ状態に遷移されてもよく、処理はブロック９１２へとフローし得る。そうでない場合、処理は決定ブロック９０６へとフローし得る。
【０１３３】
決定ブロック９０６で、タグのタグ待ち時間が警告しきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、警告しきい値は、予め定められたタグ待ち時間であってもよい。少なくとも１つの実施形態では、警告しきい値は、ユーザによって判断され、および／または変更されてもよい。いくつかの実施形態では、警告しきい値は、ユーザの所望のタグ待ち時間よりも大きく、中断しきい値未満であってもよい。タグ待ち時間が警告しきい値を上回る（ものの、中断しきい値を上回らない）場合、タグはＦＬＡＧＧＥＤ状態に遷移されてもよく、処理はブロック９０８へとフローし得る。そうでない場合、処理はブロック９０２へとループしてもよく、そこで、タグはＮＯＲＭＡＬ状態のままであってもよい。
【０１３４】
ブロック９０８で、タグはＦＬＡＧＧＥＤ状態で採用されてもよい。少なくとも１つの実施形態では、ブロック９０８は、ＦＬＡＧＧＥＤ状態にあるタグを採用するために、図７のブロック７０６の実施形態を採用してもよい。いくつかの実施形態では、ＦＬＡＧＧＥＤ状態にあるタグは、モニタリング頻度が５分であってもよい。少なくとも１つの実施形態では、ＦＬＡＧＧＥＤ状態にあるタグは、タグ待ち時間が（決定ブロック９１０などで）中断しきい値を上回るまで、または（決定ブロック９１４などで）警告しきい値を上回らなくなるまで、ＦＬＡＧＧＥＤ状態のままであってもよい。いくつかの実施形態では、タグがＦＬＡＧＧＥＤ状態にあることを示すために、電子メール、テキストメッセージ、または他の通知がユーザに送信されてもよい。
【０１３５】
プロセス９００は決定ブロック９１０に進み、そこで、タグのタグ待ち時間が中断しきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック９１０は、中断しきい値を上回るかどうか判断するために、決定ブロック９０４の実施形態を採用してもよい。タグ待ち時間が中断しきい値を上回る場合、タグはＰＲＥ−ＳＵＳＰＥＮＤＥＤ状態に遷移されてもよく、処理はブロック９１２へとフローし得る。そうでない場合、処理は決定ブロック９１４へとフローし得る。
【０１３６】
決定ブロック９１４で、タグのタグ待ち時間が警告しきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック９１４は、警告しきい値を上回るかどうか判断するために、決定ブロック９０６の実施形態を採用してもよい。タグ待ち時間が警告しきい値を上回る（ものの、中断しきい値を上回らない）場合、タグはＦＬＡＧＧＥＤ状態のままであってもよく、処理はブロック９０８へとフローし得る。そうでない場合、タグはＮＯＲＭＡＬ状態に遷移されてもよく、処理はブロック９０２へとループし得る。
【０１３７】
決定ブロック９１０で、タグ待ち時間が中断しきい値を上回る場合、処理は決定ブロック９１０からブロック９１２へとフローし得る。ブロック９１２で、タグはＰＲＥ−ＳＵＳＰＥＮＤＥＤ状態で採用されてもよい。少なくとも１つの実施形態では、タグは、阻止されなくてもよく、デプロイメントされることをイネーブルにされてもよい。いくつかの実施形態では、ＰＲＥ−ＳＵＳＰＥＮＤＥＤ状態にあるタグは、モニタリング頻度が１分であってもよい。少なくとも１つの実施形態では、ＰＲＥ−ＳＵＳＰＥＮＤＥＤ状態にあるタグは、５分という期間の間、ＰＲＥ−ＳＵＳＰＥＮＤＥＤ状態のままであってもよい。
【０１３８】
プロセス９００は次に、決定ブロック９１６に進み、そこで、タグのタグ待ち時間が中断しきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック９１６は、中断しきい値を上回るかどうか判断するために、決定ブロック９０４の実施形態を採用してもよい。タグ待ち時間が中断しきい値を上回る場合、処理は決定ブロック９１８へとフローし得る。そうでない場合、タグはＦＬＡＧＧＥＤ状態に遷移されてもよく、処理はブロック９０８へとループし得る。
【０１３９】
決定ブロック９１８で、連続する数の中断しきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、連続する中断しきい値は、中断しきい値を上回る、モニタリングされた２個の連続するタグ待ち時間であってもよい。連続する中断しきい値を上回る場合、タグはＳＵＳＰＥＮＤＥＤ状態に遷移されてもよく、処理は図９Ｂのブロック９２０へとフローし得る。そうでない場合、処理はブロック９１２へとループしてもよく、そこで、タグはＰＲＥ−ＳＵＳＰＥＮＤＥＤ状態のままであってもよい。
【０１４０】
プロセス９００は、図９Ｂのブロック９２０に進み、そこで、タグはＳＵＳＰＥＮＤＥＤ状態で採用されてもよい。少なくとも１つの実施形態では、タグは、阻止されてもよく、デプロイメントされることをイネーブルにされなくてもよい。いくつかの実施形態では、ＳＵＳＰＥＮＤＥＤ状態にあるタグは、モニタリングされなくてもよい。少なくとも１つの実施形態では、ＳＵＳＰＥＮＤＥＤ状態にあるタグは、３０分という期間の間、ＳＵＳＰＥＮＤＥＤ状態のままであってもよい。いくつかの実施形態では、タグがＦＬＡＧＧＥＤ状態にあることを示すために、電子メール、テキストメッセージ、または他の通知がユーザに送信されてもよい。
【０１４１】
プロセス９００は次に、決定ブロック９２２に進み、そこで、中断状態限界を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、中断状態限界は３０分であってもよい。中断状態限界を上回る場合、タグはＰＯＳＴ−ＳＵＳＰＥＮＤＥＤ状態に遷移されてもよく、処理はブロック９２４へとフローし得る。そうでない場合、処理はブロック９２０へとループしてもよく、そこで、タグはＳＵＳＰＥＮＤＥＤ状態のままであってもよい。
【０１４２】
ブロック９２４で、タグは、ＰＯＳＴ−ＳＵＳＰＥＮＤＥＤ状態で採用されてもよい。少なくとも１つの実施形態では、タグは、阻止されてもよく、デプロイメントされることをイネーブルにされなくてもよい。いくつかの実施形態では、ＰＯＳＴ−ＳＵＳＰＥＮＤＥＤ状態にあるタグは、モニタリング頻度が５分であってもよい。少なくとも１つの実施形態では、ＰＯＳＴ−ＳＵＳＰＥＮＤＥＤ状態にあるタグは、５分という期間の間、ＰＯＳＴ−ＳＵＳＰＥＮＤＥＤ状態のままであってもよい。
【０１４３】
プロセス９００は決定ブロック９２６に進み、そこで、タグのタグ待ち時間が中断しきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック９２６は、中断しきい値を上回るかどうか判断するために、決定ブロック９０４の実施形態を採用してもよい。タグ待ち時間が中断しきい値を上回る場合、処理は決定ブロック９２８へとフローし得る。そうでない場合、処理は決定ブロック９３０へとフローし得る。
【０１４４】
決定ブロック９２８で、連続する数の中断しきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック９２８は、連続する中断しきい値を上回るかどうか判断するために、図９Ａの決定ブロック９１８の実施形態を採用してもよい。少なくとも１つの実施形態では、連続する中断しきい値は、中断しきい値を上回る、モニタリングされた２個の連続するタグ待ち時間であってもよい。連続する中断しきい値を上回る場合、タグはＳＵＳＰＥＮＤＥＤ状態に遷移されてもよく、処理はブロック９２０へとループし得る。そうでない場合、処理はブロック９２４へとループしてもよく、そこで、タグはＰＯＳＴ−ＳＵＳＰＥＮＤＥＤ状態のままであってもよい。
【０１４５】
決定ブロック９２６で、タグ待ち時間が中断しきい値を上回らない場合、処理は決定ブロック９２６から決定ブロック９３０へとフローし得る。決定ブロック９３０で、タグのタグ待ち時間が警告しきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、決定ブロック９３０は、警告しきい値を上回るかどうか判断するために、決定ブロック９０６の実施形態を採用してもよい。タグ待ち時間が警告しきい値を上回る（ものの、中断しきい値を上回らない）場合、処理は決定ブロック９３２へとフローし得る。そうでない場合、タグは通常状態に遷移されてもよく、処理は図９Ａのブロック９０２へとループし得る。
【０１４６】
決定ブロック９３２で、連続する数の警告しきい値を上回るかどうか判断されてもよい。少なくとも１つの実施形態では、連続する警告しきい値は、警告しきい値を上回る、モニタリングされた２個の連続するタグ待ち時間であってもよい。連続する警告しきい値を上回る場合、タグはＦＬＡＧＧＥＤ状態に遷移されてもよく、処理は図９Ａのブロック９０８へとループし得る。そうでない場合、処理はブロック９２４へとループしてもよく、そこで、タグはＰＯＳＴ−ＳＵＳＰＥＮＤＥＤ状態のままであってもよい。
【０１４７】
図１０は、複数のタグ状態と状態変化をトリガし得るイベントとの図形表示を示す使用事例の代替的な一実施形態を示す。図示されているように、タグは、ＮＯＲＭＡＬ状態１００２、ＦＬＡＧＧＥＤ状態１００４、ＰＲＥ−ＳＵＳＰＥＮＤＥＤ状態１００６、ＳＵＳＰＥＮＤＥＤ状態１００８、またはＰＯＳＴ−ＳＵＳＰＥＮＤＥＤ状態１０１０という、システム１０００の５つの状態のうちの１つの状態にあってもよい。いくつかの実施形態では、ＮＯＲＭＡＬ状態１００２、ＦＬＡＧＧＥＤ状態１００４、ＰＲＥ−ＳＵＳＰＥＮＤＥＤ状態１００６、ＳＵＳＰＥＮＤＥＤ状態１００８、および／またはＰＯＳＴ−ＳＵＳＰＥＮＤＥＤ状態１０１０にあるタグはそれぞれ、図９のブロック９０２、ブロック９０８、ブロック９１２、ブロック９２０、および／またはブロック９２４の実施形態と同様に採用されてもよい。
【０１４８】
ステップ１：特定された警告しきい値を上回る、ＮＯＲＭＡＬ状態１００２にあるタグは、ＦＬＡＧＧＥＤ状態１００４に遷移されてもよい。待ち時間の数が低下する場合（すなわち、モニタリングされたタグ待ち時間が警告しきい値未満である場合）、ＦＬＡＧＧＥＤ状態１００４にあるタグは、ＮＯＲＭＡＬ状態１００２に戻ってもよい。
【０１４９】
ステップ２：特定された中断しきい値を上回る、ＮＯＲＭＡＬ状態１００２にあるタグは、ＰＲＥ−ＳＵＳＰＥＮＤＥＤ状態１００６に遷移されてもよい。少なくとも１つの実施形態では、中断しきい値は警告しきい値よりも大きくてもよい。非限定的で非包括的な一例では、警告しきい値は５００ミリ秒であってもよく、中断しきい値は８００ミリ秒であってもよい。
【０１５０】
ステップ３：中断しきい値を上回る、ＦＬＡＧＧＥＤ状態１００４にあるタグは、ＰＲＥ−ＳＵＳＰＥＮＤＥＤ状態１００６に遷移されてもよい。待ち時間の数が低下する場合（すなわち、モニタリングされたタグ待ち時間が中断しきい値未満である場合）、ＰＲＥ−ＳＵＳＰＥＮＤＥＤ状態１００６にあるタグは、ＦＬＡＧＧＥＤ状態１００４に戻ってもよい。
【０１５１】
ステップ４：２個の連続する試みについて中断しきい値を上回る、ＰＲＥ−ＳＵＳＰＥＮＤＥＤ状態１００６にあるタグは、ＳＵＳＰＥＮＤＥＤ状態１００８に遷移されてもよい。
【０１５２】
ステップ５：中断状態限界（たとえば３０分）に達した、ＳＵＳＰＥＮＤＥＤ状態１００８にあるタグは、ＰＯＳＴ−ＳＵＳＰＥＮＤＥＤ状態１０１０に遷移されてもよい。ＰＯＳＴ−ＳＵＳＰＥＮＤＥＤ状態１０１０にあるタグは、それらが２個の連続する試みについて中断しきい値を上回る場合、ＳＵＳＰＥＮＤＥＤ状態１００８に戻ってもよい。いくつかの実施形態では、タグをいつ、ある状態から別の状態に遷移させるべきかを判断するために採用される中断しきい値は、同じしきい値であっても、または異なるしきい値であってもよい。
【０１５３】
ステップ６：ＰＯＳＴ−ＳＵＳＰＥＮＤＥＤ状態１０１０にあるタグは、それらが２個の連続する試みについて警告しきい値を上回る場合、ＦＬＡＧＧＥＤ状態１００４に遷移可能である。ＰＯＳＴ−ＳＵＳＰＥＮＤＥＤ状態１０１０にあるタグは、それらが２個の連続する試みについて警告しきい値または中断しきい値を上回らない場合、ＮＯＲＭＡＬ状態１００２に遷移可能である。
【０１５４】
使用事例動作環境
図１１は、タグ待ち時間をモニタリングし、タグ状態変化およびデプロイメントを制御するために利用され得るシステムのシステム図を示す使用事例の一実施形態を示す。図示されているように、システム１１００は、複数のモニターサーバと、制御サーバと、データベースと、タグサーバとを含んでいてもよい。いくつかの実施形態では、複数のモニターサーバは、図１のＴＭＳＤ１１２の実施形態と同様であってもよい。複数のモニターサーバは、中断後タグ用モニターサーバと、中断タグ用モニターサーバと、中断前タグ用モニターサーバと、フラグ付きタグ用モニターサーバと、通常タグ用モニターサーバとを含む、異なる状態にあるタグをモニタリングするための複数のグループのモニターサーバを含んでいてもよい。モニターサーバのグループの各々は、北米（North America：ＮＡ）、ヨーロッパ（Europe：ＥＵ）、アジア（すなわち、アジアおよび太平洋（Asia and Pacific：ＡＰＡＣ））、および南米（South America：ＳＡ）といった、異なる地理的位置に物理的に位置していてもよい。いくつかの実施形態では、ユーザは、どの地理的位置のモニターサーバがタグをモニタリングするか選択することを可能にされてもよい。
【０１５５】
データベースは、すべてのタグのリスト（すなわち、全タグテーブル）を含んでいてもよい。データベースはまた、中断タグテーブルと、中断前タグテーブルと、中断後タグテーブルと、通常タグテーブルと、フラグ付きタグテーブルとを含む、複数のタグ状態の各々のための複数のテーブルを含んでいてもよい。
【０１５６】
制御サーバは、どのタグをモニタリングするか、およびいつモニタリングするか判断するために、データベースにアクセスしてもよい。いくつかの実施形態では、制御サーバは、図１のＴＣＳＤ１１４の実施形態と同様であってもよい。タグをモニタリングすべき場合、制御サーバは、選択された地理的位置のモニターサーバに、タグの現在の状態について通知してもよい（たとえば、タグ識別子を送信してもよい）。たとえば、ユーザがヨーロッパのモニターサーバを選択し、かつ、ＦＬＡＧＧＥＤ状態にあるタグをモニタリングすべき場合、制御サーバは、ヨーロッパのフラグ付きタグ用モニターサーバに通知してもよい。複数のモニターサーバの各々は、モニタリングされたタグのタグ待ち時間を制御サーバに提供してもよい。タグ待ち時間に基づいて、制御サーバは、タグの状態を変化させるかどうか判断してもよい。タグ状態が変化すると、制御サーバは、変化した状態を反映するように、データベース内の適切なテーブルを変更してもよい。いくつかの実施形態では、タグが特定の状態（たとえば、フラグ付き、中断など）に変化すると、制御サーバは、電子メールまたは他の通知をユーザに送信してもよい。加えて、制御サーバは、デプロイメントのために利用可能なタグを識別するために（すなわち、デプロイメントのためにタグをイネーブルにするために）プッシュサービスと通信してもよい。
【０１５７】
プッシュサービスは、タグをタグサーバに提供するように構成されてもよい。少なくとも１つの実施形態では、プッシュサービスは、制御サーバから受信された利用可能なタグについての最新情報を、タグサーバに提供してもよい。プッシュサービスによって提供された情報に基づいて、タグサーバは、クライアントブラウザのウェブページにタグをデプロイメントしてもよい。いくつかの実施形態では、タグサーバは、図１のＴＤＳＤ１１６の実施形態と同様であってもよい。少なくとも１つの実施形態では、制御サーバおよびモニタリングサーバは、ウェブページ要求に対して非同期に実行されてもよい（プッシュサービスおよびタグサーバを含む）。
【０１５８】
いくつかの実施形態では、タグがデプロイメントを阻止されている場合（たとえば、図８のＳＵＳＰＥＮＳＩＯＮ＿Ａ状態８０６および／またはＳＵＳＰＥＮＳＩＯＮ＿Ｂ状態８０８、もしくは、図１０のＳＵＳＰＥＮＤＥＤ状態１００８および／またはＰＯＳＴ−ＳＵＳＰＥＮＤＥＤ状態１０１０）、制御サーバは、阻止されたタグの代わりに、デプロイメントのための「不活性（inert）」タグをイネーブルにしてもよい。少なくとも１つの実施形態では、不活性タグは、阻止されたタグの実行不能バージョンであってもよい。いくつかの実施形態では、不活性タグは、阻止されたタグがデプロイメントされたかもしれないものの、（阻止されたために）デプロイメントされなかった回数を判断するために、利用されてもよい。少なくとも１つの実施形態では、制御サーバは不活性タグをプッシュサービスに、および最終的にはタグサーバに提供してもよい。いくつかの実施形態では、タグサーバは不活性タグを、タグに関する統計情報を集めるための本物のタグとして扱ってもよいが、不活性タグをデプロイメントしなくてもよい。
【０１５９】
上述の明細書、例、およびデータは、この発明の構成、製造、および使用の完全な説明を提供する。この発明の多くの実施形態は、この発明の精神および範囲から逸脱することなく作成できるため、この発明は、添付された請求項内に存在する。
【図１】
0006262229.tif 000002
【図２】
0006262229.tif 000003
【図３】
0006262229.tif 000004
【図４】
0006262229.tif 000005
【図５】
0006262229.tif 000006
【図６】
0006262229.tif 000007
【図７】
0006262229.tif 000008
【図８】
0006262229.tif 000009
【図９Ａ】
0006262229.tif 000010
【図９Ｂ】
0006262229.tif 000011
【図１０】
0006262229.tif 000012
【図１１】
0006262229.tif 000013