"1又はそれ以上のコンピュータ装置によって、1又はそれ以上のコンテンツ作成者の各々に関して、前記コンテンツ作成者が1又はそれ以上のコンテンツ項目を作成するコンテンツ作成率にアクセスするステップと、1又はそれ以上のコンテンツ消費者の各々に関して、前記コンテンツ消費者が1又はそれ以上のコンテンツ項目を消費するコンテンツ消費率にアクセスするステップと、前記コンテンツ作成者の1つと、該コンテンツ作成者をフォローする前記コンテンツ消費者の1つとを含む複数の消費者/作成者ペアの各々に関して、前記コンテンツ消費者の前記コンテンツ消費率及び前記コンテンツ作成者の前記コンテンツ作成率に基づいて、前記コンテンツ作成者から前記コンテンツ消費者に1又はそれ以上のコンテンツ項目を配信するためのプッシュ方式とプル方式の間で選択を行うステップと、を含み、前記プッシュ方式では、前記コンテンツ作成者が前記コンテンツ項目を作成したときに、前記コンテンツ項目の各々が前記コンテンツ作成者から前記コンテンツ消費者に配信され、前記プル方式では、前記コンテンツ消費者が前記コンテンツ項目を消費したときに、前記コンテンツ項目の各々が前記コンテンツ作成者から前記コンテンツ消費者に配信される、ことを特徴とする方法。前記消費者/作成者ペアの各々に関して、前記コンテンツ消費者の前記コンテンツ消費率と前記コンテンツ作成者の前記コンテンツ作成率の間の比率が閾値よりも大きい場合には前記プッシュ方式を選択し、前記コンテンツ消費者の前記コンテンツ消費率と前記コンテンツ作成者の前記コンテンツ作成率の間の比率が前記閾値よりも小さい場合には前記プル方式を選択する、ことを特徴とする請求項1に記載の方法。前記消費者/作成者ペアの各々に関して、前記プッシュ方式又は前記プル方式が、全体的一貫性を維持しながらコストを最小化することによって選択され、前記コストが、前記消費者/作成者ペア間で前記コンテンツ項目を配信する総リソースコストであり、前記全体的一貫性が、前記コンテンツ消費者の各々に関して、前記コンテンツ消費者がフォローする全ての前記コンテンツ作成者が作成した全ての前記コンテンツ項目のタイムスタンプに従う順序で前記コンテンツ項目が配信されることを保証し、各コンテンツ項目の前記タイムスタンプが、前記コンテンツ項目が作成された時刻を示す、ことを特徴とする請求項1に記載の方法。前記消費者/作成者ペアの各々に関して、前記コンテンツ消費者をcとし、前記コンテンツ作成者をpとし、cがフォローする、pを含む全ての前記コンテンツ作成者をPcとし、Pc内のコンテンツ作成者をpjとし、cの前記コンテンツ消費率をφcとし、pjの前記コンテンツ作成率をφpjとし、cにコンテンツ項目をプッシュするためのコストをCpushとし、pから一定数のコンテンツ項目をプルするためのコストをCpullとして、の場合、前記プッシュ方式を選択し、の場合、前記プル方式を選択する、ことを特徴とする請求項3に記載の方法。前記消費者/作成者ペアの各々に関して、前記プッシュ方式又は前記プル方式が、作成者ごとの一貫性を維持しながらコストを最小化することによって選択され、前記コストが、前記消費者/作成者ペア間で前記コンテンツ項目を配信する総リソースコストであり、前記作成者ごとの一貫性が、前記コンテンツ消費者の各々に関して、前記コンテンツ消費者がフォローする前記コンテンツ作成者の各々からのコンテンツ項目が、前記コンテンツ作成者が作成した全ての前記コンテンツ項目のタイムスタンプに従う順序で配信されることを保証し、各コンテンツ項目の前記タイムスタンプが、前記コンテンツ項目が作成された時刻を示す、ことを特徴とする請求項1に記載の方法。前記消費者/作成者ペアの各々に関して、前記コンテンツ消費者をcとし、前記コンテンツ作成者をpとし、cの前記コンテンツ消費率をφcとし、pの前記コンテンツ作成率をφpとし、cにコンテンツ項目をプッシュするためのコストをCpushとし、pから一定数のコンテンツ項目をプルするためのコストをCpullとして、φc/φp≧Cpush/Cpullの場合、前記方式を選択し、φc/φp<Cpush/Cpullの場合、前記プル方式を選択する、ことを特徴とする請求項5に記載の方法。前記消費者/作成者ペアの各々に関して、前記プッシュ方式又は前記プル方式が、レイテンシサービスレベル合意をさらに満たすことによって選択され、前記レイテンシサービスレベル合意が満たされない場合、前記プル方式を有する前記消費者/作成者ペアの1又はそれ以上を選択するステップと、前記選択された消費者/作成者ペアを前記プッシュ方式に移行させるステップと、をさらに含むことを特徴とする請求項6に記載の方法。前記コンテンツ消費者の第1の消費者に関して、期間に関するコンテンツ消費パターンにアクセスするステップと、前記第1のコンテンツ消費者と、前記コンテンツ作成者の1つとを含む前記消費者/作成者ペアの第1のペアに関して、前記第1のコンテンツ消費者の前記コンテンツ消費パターン及び前記コンテンツ項目が配信された時刻にさらに基づいて、前記コンテンツ作成者からの1又はそれ以上のコンテンツ項目を前記第1のコンテンツ消費者に配信するための前記プッシュ方式と前記プル方式の間で選択を行うステップと、をさらに含むことを特徴とする請求項1に記載の方法。1又はそれ以上のプロセッサにより実行可能な命令を含むメモリと、前記メモリに結合されて前記命令を実行する1又はそれ以上のプロセッサと、を備えたシステムであって、前記1又はそれ以上のプロセッサが、前記命令の実行時に、1又はそれ以上のコンテンツ作成者の各々に関して、前記コンテンツ作成者が1又はそれ以上のコンテンツ項目を作成するコンテンツ作成率にアクセスし、1又はそれ以上のコンテンツ消費者の各々に関して、前記コンテンツ消費者が1又はそれ以上のコンテンツ項目を消費するコンテンツ消費率にアクセスし、前記コンテンツ作成者の1つと、該コンテンツ作成者をフォローする前記コンテンツ消費者の1つとを含む複数の消費者/作成者ペアの各々に関して、前記コンテンツ消費者の前記コンテンツ消費率及び前記コンテンツ作成者の前記コンテンツ作成率に基づいて、前記コンテンツ作成者から前記コンテンツ消費者に1又はそれ以上のコンテンツ項目を配信するためのプッシュ方式とプル方式の間で選択を行い、前記プッシュ方式では、前記コンテンツ作成者が前記コンテンツ項目を作成したときに、前記コンテンツ項目の各々が前記コンテンツ作成者から前記コンテンツ消費者に配信され、前記プル方式では、前記コンテンツ消費者が前記コンテンツ項目を消費したときに、前記コンテンツ項目の各々が前記コンテンツ作成者から前記コンテンツ消費者に配信される、ことを特徴とするシステム。前記消費者/作成者ペアの各々に関して、前記コンテンツ消費者の前記コンテンツ消費率と前記コンテンツ作成者の前記コンテンツ作成率の間の比率が閾値よりも大きい場合には前記プッシュ方式を選択し、前記コンテンツ消費者の前記コンテンツ消費率と前記コンテンツ作成者の前記コンテンツ作成率の間の比率が前記閾値よりも小さい場合には前記プル方式を選択する、ことを特徴とする請求項9に記載のシステム。前記消費者/作成者ペアの各々に関して、前記プッシュ方式又は前記プル方式が、全体的一貫性を維持しながらコストを最小化することによって選択され、前記コストが、前記消費者/作成者ペア間で前記コンテンツ項目を配信する総リソースコストであり、前記全体的一貫性が、前記コンテンツ消費者の各々に関して、前記コンテンツ消費者がフォローする全ての前記コンテンツ作成者が作成した全ての前記コンテンツ項目のタイムスタンプに従う順序で前記コンテンツ項目が配信されることを保証し、各コンテンツ項目の前記タイムスタンプが、前記コンテンツ項目が作成された時刻を示す、ことを特徴とする請求項9に記載のシステム。前記消費者/作成者ペアの各々に関して、前記コンテンツ消費者をcとし、前記コンテンツ作成者をpとし、cがフォローする、pを含む全ての前記コンテンツ作成者をPcとし、Pc内のコンテンツ作成者をpjとし、cの前記コンテンツ消費率をφcとし、pjの前記コンテンツ作成率をφpjとし、cにコンテンツ項目をプッシュするためのコストをCpushとし、pから一定数のコンテンツ項目をプルするためのコストをCpullとして、の場合、前記プッシュ方式を選択し、の場合、前記プル方式を選択する、ことを特徴とする請求項11に記載のシステム。前記消費者/作成者ペアの各々に関して、前記プッシュ方式又は前記プル方式が、作成者ごとの一貫性を維持しながらコストを最小化することによって選択され、前記コストが、前記消費者/作成者ペア間で前記コンテンツ項目を配信する総リソースコストであり、前記作成者ごとの一貫性が、前記コンテンツ消費者の各々に関して、前記コンテンツ消費者がフォローする前記コンテンツ作成者の各々からのコンテンツ項目が、前記コンテンツ作成者が作成した全ての前記コンテンツ項目のタイムスタンプに従う順序で配信されることを保証し、各コンテンツ項目の前記タイムスタンプが、前記コンテンツ項目が作成された時刻を示す、ことを特徴とする請求項9に記載のシステム。前記消費者/作成者ペアの各々に関して、前記コンテンツ消費者をcとし、前記コンテンツ作成者をpとし、cの前記コンテンツ消費率をφcとし、pの前記コンテンツ作成率をφpとし、cにコンテンツ項目をプッシュするためのコストをCpushとし、pから一定数のコンテンツ項目をプルするためのコストをCpullとして、φc/φp≧Cpush/Cpullの場合、前記方式を選択し、φc/φp<Cpush/Cpullの場合、前記プル方式を選択する、ことを特徴とする請求項13に記載のシステム。前記消費者/作成者ペアの各々に関して、前記プッシュ方式又は前記プル方式が、レイテンシサービスレベル合意をさらに満たすことによって選択され、前記1又はそれ以上のプロセッサが、前記命令の実行時にさらに、前記レイテンシサービスレベル合意が満たされない場合、前記プル方式を有する前記消費者/作成者ペアの1又はそれ以上を選択し、前記選択された消費者/作成者ペアを前記プッシュ方式に移行させる、ことを特徴とする請求項14に記載のシステム。前記1又はそれ以上のプロセッサが、前記命令の実行時にさらに、前記コンテンツ消費者の第1の消費者に関して、期間に関するコンテンツ消費パターンにアクセスし、前記第1のコンテンツ消費者と、前記コンテンツ作成者の1つとを含む前記消費者/作成者ペアの第1のペアに関して、前記第1のコンテンツ消費者の前記コンテンツ消費パターン及び前記コンテンツ項目が配信された時刻にさらに基づいて、前記コンテンツ作成者からの1又はそれ以上のコンテンツ項目を前記第1のコンテンツ消費者に配信するための前記プッシュ方式と前記プル方式の間で選択を行う、ことを特徴とする請求項9に記載のシステム。ソフトウェアを具体化する1又はそれ以上のコンピュータ可読有形記憶媒体であって、前記ソフトウェアが、1又はそれ以上のコンピュータシステムによる実行時に、1又はそれ以上のコンテンツ作成者の各々に関して、前記コンテンツ作成者が1又はそれ以上のコンテンツ項目を作成するコンテンツ作成率にアクセスし、1又はそれ以上のコンテンツ消費者の各々に関して、前記コンテンツ消費者が1又はそれ以上のコンテンツ項目を消費するコンテンツ消費率にアクセスし、前記コンテンツ作成者の1つと、該コンテンツ作成者をフォローする前記コンテンツ消費者の1つとを含む複数の消費者/作成者ペアの各々に関して、前記コンテンツ消費者の前記コンテンツ消費率及び前記コンテンツ作成者の前記コンテンツ作成率に基づいて、前記コンテンツ作成者から前記コンテンツ消費者に1又はそれ以上のコンテンツ項目を配信するためのプッシュ方式とプル方式の間で選択を行い、前記プッシュ方式では、前記コンテンツ作成者が前記コンテンツ項目を作成したときに、前記コンテンツ項目の各々が前記コンテンツ作成者から前記コンテンツ消費者に配信され、前記プル方式では、前記コンテンツ消費者が前記コンテンツ項目を消費したときに、前記コンテンツ項目の各々が前記コンテンツ作成者から前記コンテンツ消費者に配信される、ことを特徴とする1又はそれ以上のコンピュータ可読有形記憶媒体。前記消費者/作成者ペアの各々に関して、前記コンテンツ消費者の前記コンテンツ消費率と前記コンテンツ作成者の前記コンテンツ作成率の間の比率が閾値よりも大きい場合には前記プッシュ方式を選択し、前記コンテンツ消費者の前記コンテンツ消費率と前記コンテンツ作成者の前記コンテンツ作成率の間の比率が前記閾値よりも小さい場合には前記プル方式を選択する、ことを特徴とする請求項17に記載の媒体。前記消費者/作成者ペアの各々に関して、前記プッシュ方式又は前記プル方式が、全体的一貫性を維持しながらコストを最小化することによって選択され、前記コストが、前記消費者/作成者ペア間で前記コンテンツ項目を配信する総リソースコストであり、前記全体的一貫性が、前記コンテンツ消費者の各々に関して、前記コンテンツ消費者がフォローする全ての前記コンテンツ作成者が作成した全ての前記コンテンツ項目のタイムスタンプに従う順序で前記コンテンツ項目が配信されることを保証し、各コンテンツ項目の前記タイムスタンプが、前記コンテンツ項目が作成された時刻を示す、ことを特徴とする請求項17に記載の媒体。前記消費者/作成者ペアの各々に関して、前記コンテンツ消費者をcとし、前記コンテンツ作成者をpとし、cがフォローする、pを含む全ての前記コンテンツ作成者をPcとし、Pc内のコンテンツ作成者をpjとし、cの前記コンテンツ消費率をφcとし、pjの前記コンテンツ作成率をφpjとし、cにコンテンツ項目をプッシュするためのコストをCpushとし、pから一定数のコンテンツ項目をプルするためのコストをCpullとして、の場合、前記プッシュ方式を選択し、の場合、前記プル方式を選択する、ことを特徴とする請求項19に記載の媒体。前記消費者/作成者ペアの各々に関して、前記プッシュ方式又は前記プル方式が、作成者ごとの一貫性を維持しながらコストを最小化することによって選択され、前記コストが、前記消費者/作成者ペア間で前記コンテンツ項目を配信する総リソースコストであり、前記作成者ごとの一貫性が、前記コンテンツ消費者の各々に関して、前記コンテンツ消費者がフォローする前記コンテンツ作成者の各々からのコンテンツ項目が、前記コンテンツ作成者が作成した全ての前記コンテンツ項目のタイムスタンプに従う順序で配信されることを保証し、各コンテンツ項目の前記タイムスタンプが、前記コンテンツ項目が作成された時刻を示す、ことを特徴とする請求項17に記載の媒体。前記消費者/作成者ペアの各々に関して、前記コンテンツ消費者をcとし、前記コンテンツ作成者をpとし、cの前記コンテンツ消費率をφcとし、pの前記コンテンツ作成率をφpとし、cにコンテンツ項目をプッシュするためのコストをCpushとし、pから一定数のコンテンツ項目をプルするためのコストをCpullとして、φc/φp≧Cpush/Cpullの場合、前記方式を選択し、φc/φp<Cpush/Cpullの場合、前記プル方式を選択する、ことを特徴とする請求項21に記載の媒体。前記消費者/作成者ペアの各々に関して、前記プッシュ方式又は前記プル方式が、レイテンシサービスレベル合意をさらに満たすことによって選択され、前記1又はそれ以上のプロセッサが、前記命令の実行時にさらに、前記レイテンシサービスレベル合意が満たされない場合、前記プル方式を有する前記消費者/作成者ペアの1又はそれ以上を選択し、前記選択された消費者/作成者ペアを前記プッシュ方式に移行させる、ことを特徴とする請求項22に記載の媒体。前記1又はそれ以上のプロセッサが、前記命令の実行時にさらに、前記コンテンツ消費者の第1の消費者に関して、期間に関するコンテンツ消費パターンにアクセスし、前記第1のコンテンツ消費者と、前記コンテンツ作成者の1つとを含む前記消費者/作成者ペアの第1のペアに関して、前記第1のコンテンツ消費者の前記コンテンツ消費パターン及び前記コンテンツ項目が配信された時刻にさらに基づいて、前記コンテンツ作成者からの1又はそれ以上のコンテンツ項目を前記第1のコンテンツ消費者に配信するための前記プッシュ方式と前記プル方式の間で選択を行う、ことを特徴とする請求項17に記載の媒体。本開示は、一般に、複数のコンテンツ作成者と複数のコンテンツ消費者の間に複数のコンテンツフィードを構築することに関し、より詳細には、コンテンツフィードの各々を分析して、コンテンツフィードのためのプッシュ方式とプル方式の間で選択を行うことに関する。特定の実施形態では、1又はそれ以上のコンテンツ作成者の各々に関して、コンテンツ作成者が1又はそれ以上のコンテンツ項目を作成するコンテンツ作成率にアクセスし、1又はそれ以上のコンテンツ消費者の各々に関して、コンテンツ消費者が1又はそれ以上のコンテンツ項目を消費するコンテンツ消費率にアクセスする。コンテンツ作成者の1つと、このコンテンツ作成者をフォローするコンテンツ消費者の1つとを含む複数の消費者/作成者ペアの各々に関して、コンテンツ消費者のコンテンツ消費率及びコンテンツ作成者のコンテンツ作成率に基づいて、コンテンツ作成者からコンテンツ消費者に1又はそれ以上のコンテンツ項目を配信するためのプッシュ方式とプル方式の間で選択を行う。プッシュ方式では、コンテンツ作成者がコンテンツ項目を作成したときに、コンテンツ項目の各々がコンテンツ作成者からコンテンツ消費者に配信される。プル方式では、コンテンツ消費者がコンテンツ項目を消費したときに、コンテンツ項目の各々がコンテンツ作成者からコンテンツ消費者に配信される。以下の詳細な説明において、及び以下の図に関連して、本開示のこれらの及びその他の特徴、態様、及び利点をより詳細に説明する。以下、添付図面に示す本開示のいくつかの実施形態を参照しながら本開示についてより詳細に説明する。以下の説明では、本開示を完全に理解できるように数多くの特定の詳細を示している。しかしながら、当業者には、これらの特定の詳細の一部又は全部を伴わずに本開示を実施できることが明らかである。その他の場合、本開示を不必要に曖昧にしないために、周知の処理ステップ及び/又は構造については詳しく説明していない。また、本開示を特定の実施形態に関連して説明しているが、この説明は、説明する実施形態に本開示を限定するものではないと理解されたい。逆に、この説明は、添付の特許請求の範囲に定める本開示の思想及び範囲に含まれ得るような代替物、修正物、及び同等物も対象とすることを意図している。コンテンツフィードは、ウェブフィード又は単純にフィードとも呼ばれ、コンテンツ、特に頻繁に更新されるコンテンツをネットワークユーザ間で配信するための機構のことである。コンテンツフィードは、様々なフォーマットをとることができる。例えば、RSSリアリーシンプルシンジケーションとして最も一般的に展開されているは、コンテンツを配信するために広く使用されているウェブフィードフォーマットのファミリである。同様に、限定ではなく一例として、ブログエントリ、ニュースの見出し、イベント、オーディオ、及びビデオなどの、コンテンツフィードを介して配信されるコンテンツも様々なフォーマットをとることができる。本開示では、あらゆる適用可能なコンテンツフィード及びコンテンツを考慮する。コンテンツフィードは、コンテンツ作成者とコンテンツ消費者をそれぞれの末端において概念的に接続する。特定の実施形態では、コンテンツ作成者、又は単純には作成者を、1又はそれ以上のコンテンツ消費者が消費できるコンテンツを作成するエンティティとする。一方で、コンテンツ消費者、又は単純には消費者を、1又はそれ以上のコンテンツ作成者が作成したコンテンツを消費するエンティティとする。この意味において、消費者は、1又はそれ以上の作成者が作成したコンテンツをフォローする、又はこのコンテンツのフォロワーであると言うことができる。コンテンツは、作成者と消費者を接続するフィードを介して作成者から消費者に配信することができる。なお、1つのエンティティが、ある時には他方が消費するコンテンツを作成し、別の時には他方が作成したコンテンツを消費することもあるので、1つのエンティティを作成者と消費者の両方とすることもできる。従って、一方のエンティティがもう一方のエンティティのためにコンテンツを作成する場合のフィードについては、このエンティティを作成者と呼び、同じエンティティがもう一方のエンティティからのコンテンツを消費する場合の別のフィードについては、このエンティティを消費者と呼ぶ。時には、エンティティA及びエンティティBという2つのエンティティを、互い同士の作成者及び消費者とすることもできる。すなわち、エンティティBが消費するコンテンツをエンティティAが作成できる場合もあれば、エンティティAが消費するコンテンツをエンティティBが作成できる場合もある。従って、両方ともにエンティティAとエンティティBを接続する2つの別個のフィードが存在することができる。一方のフィードでは、エンティティAが作成者であってエンティティBが消費者であり、もう一方のフィードでは、エンティティBが作成者であってエンティティAが消費者である。また、作成者は、この作成者が作成するコンテンツのオリジナル制作者であってもよく、又はそうでなくてもよい。例えば、作成者は、元々は他のニュースレポーターが書いたニュース記事を作成してもよく、元々は他の写真家が撮影したデジタル写真を作成してもよく、或いはこの作成者自身が記録したビデオクリップを作成してもよい。特定の実施形態では、フォローアプリケーションが、限定ではなく一例として、別のユーザ又はコンテンツカテゴリ又はトピックとすることができる1又はそれ以上の関心を、ユーザがフォローできるようにする。この場合、関心をフォローするユーザが消費者である。フォローアプリケーションの目的は、ユーザがフォローしている全ての作成者にわたる最近の又は最新のコンテンツを組み合わせたリストである、関心をフォローするユーザすなわち、消費者のためのフィードを作成することである。例えば、フィードは、ソーシャルサイト上のユーザの友人全員からの最近のステータスアップデート、又はコンテンツ集約サイト上のユーザのトピック全てに関する最近の記事を組み合わせることができる。場合によっては、ユーザは、ソーシャルアップデートとトピックアップデートをいずれも含む組み合わせたフィードの方を好むことがある。特定の実施形態では、フォローアプリケーションに関連して、作成者が、特定のフォロー可能な関心に関する、人間が読める一連の時系列のコンテンツを生成することができる。従って、ユーザすなわち、消費者にとっては、作成者は、友人であっても、ウェブサイトであっても、或いは複数のソースから収集された特定のトピックに関するコンテンツのアグリゲータであってもよい。フォローアプリケーションは、スケーリングが難しいことで知られている。このアプリケーションは、高スループットのコンテンツに継続的に対応しなければならない。例えば、Twitterの技術者が、システムの人気が高まるにつれて急速に増加するスループットに対応するようにTwitterのバックエンドを何度も設計し直したと記述していることは有名である。同時に、関心をフォローするユーザは、ユーザのフィードページにおける素早いロードを期待しており、このことは、レイテンシを厳密に制限しなければならないことを意味する。この結果、多くの場合、具現化及びキャッシングが広範囲に及び、資本支出及び経常支出が増大する。例えば、Diggは、大量のデータを非正規化して具現化することを選んで、自社の例えば、自分の友人がどの記事を発掘したかをフォローするグリーンバッジアプリケーションのレイテンシを短縮し、結果的に記憶データが数十ギガバイトから3テラバイトにまで膨らんだ。このようなフォローアプリケーションのスケーリングが難しいことにはいくつかの理由がある。まず、コンテンツがファンアウトして、システム内に負荷に倍数的な影響をもたらす。例えば、アシュトンカッチャーがツイートすると、彼のステータスアップデートは常に380万人のフォロワーに伝播される。より中程度の平均的なファンアウトでも、スケーリングの問題を引き起こすことがある。次に、このファンアウトのスキューが高く、適切な方式を選ぶのが難しくなる。例えば、報道によれば、Facebookは、ファンアウトの狭い大半のユーザと比較してファンアウトの広いバンド及び政治家などのユーザには、異なるフィード具現化方式を採用している。例えば、フォローアプリケーションが直面する問題の少なくともいくつかに対処してアプリケーション性能を向上させるために、特定の実施形態は、各消費者のフィードを選択的に具現化する。特定の実施形態では、率の高い作成者からのコンテンツをクエリ時に検索しすなわち、プル方式、率の低い作成者からのコンテンツを事前に具現化するすなわち、プッシュ方式。さらに、形式的な問題分析では、適切な方式は、所与の作成者のコンテンツ作成率と所与の消費者のコンテンツ消費率の比率ページビュー率などに依存すると示されている。従って、一部の作成者を一部の消費者のために具現化してその他は具現化せず、消費者のフィードのいくつかの部分を具現化して他の部分を具現化しないようにすることができる。実際のウェブデータベースインフラストラクチャを使用した実験結果では、このハイブリッド方式によってシステム負荷が最低になり、従って様々な作業負荷においてスケーラビリティが向上することが示されている。上述したように、作成者は、1又はそれ以上の消費者が消費するコンテンツを作成することができ、消費者は、1又はそれ以上の作成者が作成したコンテンツを消費することができる。さらに、コンテンツは、作成者と消費者を接続するフィードを介して作成者から消費者に配信される。理論的には、作成者がコンテンツを作成した時刻と消費者がコンテンツを消費した時刻の間のあらゆる時点において、所与のコンテンツを作成者から消費者に配信することができる。コンテンツについては、作成者がコンテンツを作成した時刻を、具現化タイムすなわち、コンテンツが具現化されると呼ぶことができ、消費者がコンテンツを消費した時刻を、クエリタイムすなわち、消費者がコンテンツを消費するためにクエリ又は要求を行うと呼ぶことができる。特定の実施形態では、作成者と消費者の間でコンテンツを管理するための方式として、プッシュ及びプルの2つが存在する。特定の実施形態では、プッシュ方式の場合、作成者がコンテンツを作成した時点で、コンテンツをフォローする消費者の各々にコンテンツが配信すなわちプッシュされ、従ってこのプッシュ方式を、従来のデータベース用語を使用して具現化方式と呼ぶことができる。対照的に、プル方式の場合、消費者が消費するためにコンテンツを要求した時点で、コンテンツを作成した作成者の各々から消費者がフォローするコンテンツが検索すなわち、プルされ、従ってこのプル方式を、従来のデータベース用語を使用してクエリ方式と呼ぶことができる。時にはプッシュ方式の方が良いこともあり、消費者が、フォローしているコンテンツを消費するフォローアプリケーションを使用してコンテンツにクエリを行う準備ができている場合、消費者のフィードが事前に計算されて、システム負荷及びレイテンシが減少するようになる。対照的に、作成者がコンテンツを作成する率に比べて、消費者がコンテンツを消費する頻度が低い場合にはプル方式の方が良い。通常は、最も新しいN個のコンテンツしか表示する必要がないので、消費者にこれらを消費する例えば、見る又はダウンロードする機会が来る前に、後で新しいコンテンツに取って代わられる大量のコンテンツをプッシュ及び具現化することは無駄である。特定の実施形態の方法は、同じアプリケーション内であっても、プッシュの方が良い場合もあれば、プルの方が良い場合もあるという見識に基づく。実際に、特定の実施形態では、特定の消費者のフィードをプッシュとプル両方の組み合わせとすることができる。これは、コンテンツ作成率におけるスキューに起因する。例えば、1時間に1回コンテンツを要求する特定の消費者は、1つの作成者のコンテンツ作成率よりも高い頻度でコンテンツを消費しすなわち、消費者のコンテンツ消費率が1つの作成者のコンテンツ作成率よりも高く、従ってプッシュの方が良い、別の作成者のコンテンツ作成率よりも低い頻度でコンテンツを消費しているすなわち、消費者のコンテンツ消費率が別の作成者のコンテンツ作成率よりも低く、従ってプルの方が良いことがある。特定の実施形態は、作成者をpとし、消費者をcとする、p,cごとにプッシュ/プルの決定を行う。実際のフォローアプリケーションを使用した実験及び経験では、この方法の方が、純粋なプッシュシステム又は純粋なプルシステムよりも上手くスケーリングを行うことが示されている。当然ながら、この作成者と消費者の相対的なコンテンツ作成とコンテンツ消費の割合に基づいてp,cごとにプッシュ/プルの決定をそれぞれ行うという概念は、フォローアプリケーション以外にも、あらゆる消費者/作成者タイプのアプリケーションに適用されるように拡張することができる。このフォローの問題は、以前に研究されたデータベースシステムの問題に類似している。例えば、インデックス及びビュー選択の背景では、具現化か否かという議論が頻繁に検討される。しかしながら、このフォローの問題の背景では、いずれのビューを作成するかではなく、1つのフィードビューのどれだけを具現化するかが議論となる。特定の実施形態は、部分的に具現化されたビュー及びインデックスに関する研究から、概念の一部例えば、頻繁にアクセスされるデータを具現化することを借用することができる。しかしながら、以前の研究とは異なり、所与の基本タプルに関して単一の具現化か否かの決定を行うことはできず、代わりに、各消費者/作成者ペアに関して、これらの相対的なコンテンツ作成とコンテンツ消費の割合に基づいて決定を行う必要がある。図1に、個々のコンテンツフィードの方式を決定する方法例を示す。簡単に言えば、特定の実施形態は、作成者から消費者にコンテンツを配信するためのプッシュコスト及びプルコストを計算しステップ110、消費者/作成者ペアに関して、プッシュ方式又はプル方式のいずれかの配信コストが低い方を選択するステップ120。この2つのステップを、作成者と消費者の固有のペアごとに繰り返すことができる。以下の表1に、本開示で使用する表記法を示す。個々の概念については、以下でより詳細に説明する。表1:表記法特定の実施形態では、作成者の組が生成したコンテンツストリームをフォローしている消費者の組フォローアプリケーションのユーザなどが存在する。各消費者は、フォローしたいと思う作成者を選択することができる。特定の実施形態では、消費者が特定の作成者をフォローすることを選択した場合、この作成者が作成したコンテンツが、適当な時点で消費者に配信される。特定の実施形態では、作成者が、人間が読めるタイムスタンプ付きの一連の名前を付けたコンテンツを生成することができる。作成者の例として、アシュトンカッチャーのツイート又は地球温暖化に関するニュース記事を挙げることができる。作成者は、人フォローアプリケーションのユーザなどであっても、ウェブサイトニュースサイト又はブログなどであっても、又は複数のソースから得られるコンテンツのアグリゲータであってもよい。特定の実施形態は、異なるトピックのコンテンツが同じウェブサイト又はデータソースすなわち、同じエンティティから来たものであっても、図1のステップを説明する場合には、各フォロー可能なトピック地球温暖化又は健康討論などを別個の作成者として扱う。すなわち、1つの作成者が複数のコンテンツストリームを作成した場合、各コンテンツストリームは別個に分析される。特定の実施形態では、作成された時刻によってコンテンツに順序が付けられるが、代替の実施形態では、他の順序付け方法を使用することができる。特定の実施形態は、頂点の組をV、フォローエッジの組をFとする有向グラフGV,Fとしての接続ネットワークを定義することができる。特定の実施形態では、各頂点vi∈Vが、消費者又は作成者のいずれかを表し、ciがpjをフォローする例えば、pjが作成したコンテンツをciが消費する場合、作成者頂点pjと消費者頂点ciの間にフォローエッジfij∈Fが存在する。図2に、複数の作成者頂点及び複数の消費者頂点を有する接続ネットワーク例200を示す。当然ながら、接続ネットワークは、あらゆる数の作成者及び消費者を含むことができ、個々の作成者と消費者の間にはあらゆる数の接続すなわち、フォローエッジが存在することができる。ソーシャルネットワークは、接続ネットワークの1つの種類の一例であるが、あらゆる消費者/作成者グラフを接続ネットワークとすることができ、本開示は、あらゆる適用可能な接続ネットワークを考慮する。特定の実施形態は、接続ネットワークを、ConnectionNetworkProducer,Consumerの関係と見なすことができる。特定の実施形態では、この接続ネットワークを、作成者、消費者、又はこれらの両方による効率的な検索をサポートする形で明示的に記憶することができる。例えば、1又はそれ以上の関心を持った消費者に対して作成者pjからコンテンツをプッシュするには、特定の実施形態では、接続ネットワーク内でpjを検索して、このコンテンツをフォローする消費者の組を検索することができ、このことが{ci:fij∈F}として示される。対照的に、1又はそれ以上の作成者から消費者ciのためのコンテンツをプルするには、特定の実施形態では、接続ネットワーク内でciを検索して、この消費者がフォローする作成者の組を検索することができ、このことが{pj:fij∈F}として示される。この後者の場合、特定の実施形態は、ConnectionNetworkProducer,Consumerとしての関係を実際に定義して、消費者によるクラスタリングをサポートすることができる。作成者を介したアクセス経路と消費者を介したアクセス経路を両方ともサポートするために、特定の実施形態は、ConnectionNetworkの関係に加えてインデックスを構築することができる。特定の実施形態では、コンテンツ自体が、ContentContentID,Producer,Timestamp,Payloadとしての関係を論理的に形成する。効率化のために、特定の実施形態は、1作成者中心:コンテンツが作成者によってProducedPivotedProducer,ContentID,Timestamp,Payloadの関係でクラスタ化される、及び2消費者中心:コンテンツが消費者ごとにConsumerPivotedConsumer,Producer,ContentID,Timestamp,Payloadの関係で複製されクラスタ化される、という方法の一方又は両方でコンテンツを記憶することができる。作成者中心のモデルは、プル方式をサポートする。コンテンツの組を検索して消費者に表示するために、特定の実施形態は、消費者がフォローしている対応する作成者の組を例えば、ConnectionNetworkから検索し、次にProducerPivotedテーブル内の各作成者を調べて最近のコンテンツを検索する例えば、ConnectionNetworkJOINProducerPivotedの統合。対照的に、消費者中心のモデルは、プッシュ方式をサポートする。プッシュの場合、特定の実施形態は、コンテンツの作成者をフォローしている各消費者のタプルを挿入することにより、コンテンツをConsumerPivotedの関係に具現化する。この場合、消費者のフィードの検索は、消費者の全てのタプルの範囲スキャンとなる。実際には、特定の実施形態は、Contentsを明示的に記憶する必要はなく、代わりに特定の実施形態は、ProducerPivotedの関係を記憶してこれにクエリを行い、ConnectionNetworkJOINProducerPivotedの統合のビューとしてConsumerPivotedを具現化することができる。上述したように、特定の実施形態は、どの作成者が作成したコンテンツをどの消費者がフォローしているかを示すフォローエッジごとに、プッシュ方式とプル方式の間で個別に選択を行う。換言すれば、特定の実施形態は、ConsumerPivotedに具現化されるコンテンツもあれば、ProducerPivotedに記憶だけされて必要時にプルされるコンテンツもあるというハイブリッド方式を検討する。ここでも、接続ネットワーク内の消費者/作成者ペアごとにこの決定が行われる。特定の実施形態は、コンテンツが例えば、消費者が使用するネットワーク装置を介して消費者に配信又は表示された場合には常に、消費者がそのコンテンツフィード又は単純にフィードを検索したと言うことができる。このコンテンツ検索は、消費者がウェブサイトにログオンすること、又はウェブサイト上のページをリフレッシュすることなどの様々な要因によってトリガすることができる。特定の実施形態では、例えば、Ajax、Flash又は他のいずれかの適当な技術を使用して、消費者の更新されたフィードを自動的に検索することができる。特定の実施形態では、このフィード自体が、消費者によりフォローされる作成者の1又はそれ以上からの順序付けられた一群のコンテンツを表示する。通常、フィードは、N個の最新のコンテンツしか表示しないが、消費者は、例えば、次をクリックすることにより以前のコンテンツを要求することができる。特定の実施形態は、自身のフィードに関する消費者の期待値を獲得するいくつかの特性を定義することができる。まず、フィードは時系列で並ぶべきであり、すなわちフィード内のコンテンツをタイムスタンプ順に表示して、フィード内のいずれか2つのコンテンツct1及びct2に関して、Timestampct1<Timestampct2の場合、コンテンツを古い順で表示した場合には、フィード内でct1がct2の前に表示され、コンテンツを新しい順で表示した場合には、フィード内でct2がct1の前に表示されるようにすべきである。例えば、コンテンツがウェブページ内に表示される場合、先に表示されたコンテンツの方が、後から表示されたコンテンツよりもウェブページの上部に近い。次に、フィード内のコンテンツはギャップレスとすべきであり、すなわち特定の作成者からのコンテンツをギャップなしで表示して、作成者pからのコンテンツにct1及びct2の2つが存在し、フィード内でct1がct2に先行し、ct1の後に続きct2に先行するpからのコンテンツがフィード内にない場合、pが作成したコンテンツにct1よりも大きくct2よりも小さなタイムスタンプを有するものがない古い順で表示した場合ようにすべきである。3番目に、フィード内にコンテンツの複製が存在してはならず、すなわちフィード内に2回以上現れるコンテンツctkは存在してはならない。消費者が、自身のフィードを2回検索した場合、1回目の検索と2回目の検索の間でフィードがどのように変化したかに関する何らかの期待が存在し得る。例えば、消費者が、1回目の検索から特定の順序のいくつかのコンテンツを確認した場合、この消費者は、通常、2回目の検索からもこれらのコンテンツが同じ順序で表示されることを期待する。例えば、N=5個のコンテンツを含むフィード例について検討する。午後2時に検索された消費者のフィードは、以下を含むことができる。表2:第1のフィード例消費者は、午後2:02に、自身のウェブページをリフレッシュして新たなバージョンのフィード検索されるようにすることができる。午後2:00から午後2:02の間に、アリスからの2つの新たなコンテンツが作成されたと仮定する。表3:第2のフィード例全体的一貫性を使用第2のフィード例では、アリスが作成した2つの新たなコンテンツct6及びct7により、2つの最も古いコンテンツct1及びct2がフィードから消される一方で、全てのコンテンツの全体的な順序が、消費者の作成者全体にわたって保たれている。この特性すなわち、全てのコンテンツの全体的な順序を保つことを全体的一貫性と呼ぶことができ、すなわちフィード内のコンテンツの順序は、消費者の作成者からの全てのコンテンツの潜在的なタイムスタンプ順に一致し、1つのフィードのビューから次のビューまでにコンテンツの順序は入れ替わられない。このモデルは、電子メールを時系列で表示するほとんどの電子メールリーダに類似しており、Twitterなどのフォローアプリケーションで使用されている。しかしながら、場合によっては、全体的一貫性が望ましくないこともある。表3のフィード例について検討する。アリスのコンテンツは多いが、ボブのコンテンツはない。一部の作成者のコンテンツ率が、他の作成者よりも一時的に又は持続的に高くなった場合、異なる作成者が作成したコンテンツという意味におけるこのような多様性の欠如が生じ得る。フィードの多様性については、以下でより詳細に説明する。多様性を保つために、消費者は、作成者ごとの一貫性を選ぶことができ、この場合、所与の作成者からのコンテンツの順序は保たれるが、異なる作成者間のコンテンツの相対的順序に関する保証はされない。作成者ごとの一貫性の下では、消費者が自身のフィードを午後2:02にリフレッシュした場合、消費者が目にするのは以下の通りである。表4:第3のフィード例作成者ごとの一貫性を使用この第3のフィード例は、追加されたアリスのコンテンツct6及びct7によってボブのコンテンツct2が第3のフィード例から消されていないので多様性を保っている。しかしながら、第2のフィード例では、ボブのコンテンツct2とチャドのコンテンツct4の間にアリスのコンテンツct3が存在するが、第3のフィード例では存在しない。このコンテンツの消失は、全体的一貫性の下では可能でないが、多様性の保持に役立てるために作成者ごとの一貫性の下では可能となる。コンテンツ作成率又はコンテンツ消費率には、多くの消費者/作成者アプリケーションフォローアプリケーションなどに固有のスキューが存在するので、特定の実施形態は、多様性を保つための明示的なステップをとる必要がある。例えば、1日に1回アプリケーションにログインするユーザユーザは、消費者/作成者アプリケーションのユーザを意味し、作成者又は消費者又はこれらの両方のいずれであってもよい、デービッドについて検討する。彼の父親例えば、第2のユーザボブは、1日に1回だけコンテンツを作成することができ、彼の姉例えば、第3のユーザアリスは、1時間に1回新たなコンテンツを生成する。デービッドは、ログインすると、アリスからの最近のコンテンツの方がはるかに多いにもかかわらず、父親ボブの最新のコンテンツを見たいと思う。特定の実施形態では、多様性を定義するための単純な方法は、消費者のフィードが、消費者がフォローする作成者の各々からのコンテンツを一般的には少なくとも1個又はそれ以上、少なくともk個含まなければならないと指定することである。しかしながら、消費者は、フィードのスロットよりも多くの作成者をフォローすることがあり、全ての作成者からのコンテンツを少なくともk個表示することは不可能である。さらに、特定の実施形態は、この制約を満たすだけのために、必ずしも極端に古いコンテンツを表示したいとは思わない。例えば、ボブの最新のコンテンツが1年前のものである場合、極端に古いコンテンツは消費者にとって陳腐な又は無意味なものとなりがちであるため、特定の実施形態は、たとえボブのコンテンツがゼロであることが示されるとしても、デービッドのフィードにこれを含めたいとは思わない。従って、特定の実施形態は、k,t-多様性の概念を定義する。特定の実施形態では、上記の例を非形式的に使用して、k,t-多様性により、最後のt個の時間単位内にボブからのコンテンツが存在する場合、ボブのコンテンツがフィード内に表示されない場合にはフィード内にアリスからのコンテンツをk個しか表示しないようにすべきであると指定する。より形式的には、消費者cがフォローする2つの作成者pj及びpjについて検討する。特定の実施形態は、t秒よりも古くない作成者pからのコンテンツの数としてCandidatep,tを、cのフィード内に表示される作成者pからのコンテンツの数としてCountpを定義する。次に、k,t-多様性を、Candidatepi,t>0、かつCountpi=0の場合、Countpj≦k、と定義することができる。再び、第1、第2、及び第3のフィード例について検討する。t=600秒及びk=1と指定されていると仮定する。この場合、表3に示す第2のフィード例は、Candidateボブ,600秒=1及びCountボブ=0であるが、Countアリス>1となるので認められない。しかしながら、第3のフィード例は認められる。なお、場合によっては、より強力な多様性の概念が好ましい。例えば、実際にボブのコンテンツが多く存在する場合、フィード内にアリスのコンテンツを10個表示し、ボブのコンテンツを1個しか表示しないのは好ましくない場合がある。従って、特定の実施形態は、表示するコンテンツ内で何らかのエントロピーの概念を最大化したいと望むことができる。しかしながら、本開示では、k,t-多様性が最小の多様性概念を捉え、最小の多様性概念でさえ全体的一貫性の保証と衝突することを示している。フィードの生成にはシステム処理が必要である。例えば、プルの場合はクエリ時に、又はプッシュの場合はコンテンツ作成時に作業が行われる。この処理によってシステムにかかる作業負荷の種類すなわち、必要なシステムリソースの量はアーキテクチャに依存する。例えば、データをディスク上で具現化する場合、主なコストは、メモリとの間でデータの読み取り及び書き込みを行うことから生じる入力/出力I/Oコストとなる可能性が高い。一方、多くの消費者/作成者アプリケーションフォローアプリケーションなどでは、データが、実行のためにランダムアクセスメモリRAM内でのみ具現化される。この場合、主なコストは、プロセッサCPUなどコストとなる可能性が高い。特定の実施形態は、システムのボトルネックリソースI/O又はCPUなどの総使用量としてCostを形式的に定義する。この使用量は、作成時におけるコンテンツの処理、及びクエリ時におけるフィードの生成をいずれも含むことができる。この場合、特定の実施形態では、消費者/作成者アプリケーションの一般的な最適化問題を、Costを最小化する一方で、1時系列の、ギャップレスな、複製されていないフィードを提供すること、2選択した一貫性レベル全体的又は作成者ごとなどを尊重すること、及び3作成者ごとの一貫性を使用する場合にはk,t-多様性を保証すること、として定義することができる。また、特定の実施形態は、消費者/作成者アプリケーションを最適化する際にレイテンシを例えば、付加的な制約として考慮することができ、この場合、レイテンシを短縮するために何らかの追加のシステムコストを取引することができる。消費者/作成者アプリケーションのレイテンシ制約の最適化問題は、Costを最小化する一方で、1時系列の、ギャップレスな、複製されていないフィードを提供すること、2選択した一貫性レベル全体的又は作成者ごとなどを尊重すること、3作成者ごとの一貫性を使用する場合にはk,t-多様性を保証すること、及び4NパーセンタイルレイテンシがL未満であることを保証すること、として定義することができる。1つの事例では、99パーセンタイルレイテンシが50ミリ秒未満となるように指定することができる。この制約は、コンテンツをプッシュするか、それともプルするかに関する様々な決定を行うこと例えば、より多くのコンテンツをプッシュして、クエリ時間レイテンシが制約を満たすようにすることにつながり得る。作成者は、原子エンティティアプリケーションユーザ又はニュースウェブサイトなどであっても、又は他の複数のサイトのアグリゲータであってもよい。アグリゲータは、複数のソースからの所与のトピックに関する単一のコンテンツストリームを作成できるので、一部の消費者/作成者アプリケーションにとっては重要である。さらに、アグリゲータは、通常は新たなコンテンツをプッシュしないソースから情報を抽出することができる。特定の実施形態は、原子作成者とアグリゲート作成者を同様に扱い、これらのコンテンツ作成率及びファンアウトのみを考慮する。しかしながら、特定の実施形態では、より一般的な問題を、アグリゲータが行わなければならない決定、すなわち、所与のアップストリームソースに関して、アグリゲータがプッシュを使用すべきか、それともプルを使用すべきかを調査することとすることができる。この決定は、ある消費者/作成者ペアに関してプッシュするか、それともプルするかを決定するときに特定の実施形態が行う決定に類似する場合もあるが、例えば、どれほど頻繁にプルするか、及びプッシュコスト又はプルコストが異なるアップストリームソースをどのように処理するかなどのさらなる複雑性も存在する。上述したように、特定の実施形態は、コンテンツを処理するために、プッシュ及びプルという2つの方式を考慮することができる。特定の実施形態では、これらの方式を細かい粒度で選択することが取り組みとなる。特定の実施形態は、所与の消費者に関して、コンテンツ作成の観点から比較的頻度の低い作成者の場合はプッシュすることを選択し、コンテンツ作成の観点から比較的頻度の高い作成者の場合はプルすることを選択することができる。コンテンツ消費頻度又はコンテンツクエリ頻度は異なるが作成者は同じであるという消費者に関しては、異なる決定を行うことができる。特定の実施形態は、所与の消費者、作成者ペアに関して、作成者のコンテンツ作成頻度と消費者のコンテンツ消費頻度の間の比率を調べることができる。この比率の値が閾値要件を満たすかどうかに応じて、特定の実施形態は、この特定の消費者、作成者ペアに関してプッシュ方式又はプル方式のいずれかを選択することができる。特定の実施形態では、この比率に関する閾値要件を実験に基づいて決定することができる。例えば、1つの実施構成では、実験結果に基づいて、ある消費者、作成者ペアに関して、コンテンツ作成頻度とコンテンツ消費頻度の比率が約3よりも大きい場合にはプッシュ方式が選択され、それ以外はプル方式が選択される。時には、特定の消費者又は作成者が、ある期間例えば、1日又は1週間にわたり、そのコンテンツ消費又はコンテンツ作成活動に関して、異なるけれども予測可能な行動パターンを示すことがある。特定の実施形態は、各消費者、作成者ペアに関してプッシュ方式とプル方式の間で選択を行うときに、このような行動パターンを考慮することができる。より詳細には、特定の実施形態は、コンテンツ作成頻度又はコンテンツ消費頻度とともに、又はこれの代わりに時間に基づいてプッシュとプルの間で決定を行うことができる。例えば、ある消費者が、通常は頻繁にコンテンツを消費していると仮定すると、この相対的に高いコンテンツ消費頻度からは、一般にこの消費者に関してはプッシュ方式を使用すべきであると提案がなされる。しかしながら、消費者の行動パターンが、消費者が毎日深夜から午前7:00の間にはコンテンツを全く要求すなわち、消費しないことを示すこともある。従って、いずれかのコンテンツが深夜から午前7:00の間に作成された場合には、プル方式を使用してこのコンテンツを配信することができる。さらに、消費者が午前7:00以降に行う最初の要求に関してもプル方式を使用することができる。作成者は、1又はそれ以上のコンテンツを、例えば、1日にnj個のコンテンツを作成するなどの特定のコンテンツ作成頻度のペースφpjで作成することができ、消費者は、必ずしも同じ作成者が作成したものではない1又はそれ以上のコンテンツを、例えば、1日にni個のコンテンツを消費するなどの特定のコンテンツ消費頻度のペースφciで消費することができる。当然ながら、現実的には、作成者及び消費者は、必ずしもこのような一貫したルーチンには従わず、各エンティティが作成又は消費する実際のコンテンツ数は、その日その日で異なることがある。従って、特定の実施形態は、ある期間にわたる各作成者及び消費者の統計値を表す平均的又は中間的コンテンツ作成頻度又はコンテンツ消費頻度を使用することができる。特定の実施形態では、各作成者、消費者ペアにプッシュ又はプルの決定を割り当てることにより、上記で定めたCostを最小化するという課題を、作成者ごとの一貫性及び全体的一貫性の場合の両方に関して解決することができる。特定の実施形態では、次にクエリレイテンシを制約として加えることができ、この制約を満たすために必要な追加コストを最小化する。最後に、特定の実施形態は、エンティティが上流の作成者の消費者及び下流の消費者への作成者の両方として機能するようにする消費者/作成者アプリケーションの最適化問題のより一般的な公式化を検討することができる。特定の実施形態では、接続ネットワークGV,Fが、作成者から消費者への2部グラフである。消費者ciがコンテンツを求めるクエリを実行した場合、ciのフィードにいくつかのコンテンツを提供する必要がある。このシナリオに関して、上述した両方の一貫性の場合について検討する。全体的一貫性の場合には、特定の実施形態は、Fiすなわち、ciがフォローする作成者の組内の全ての作成者にわたる最新のπg個のコンテンツを供給する。作成者ごとの一貫性の場合には、特定の実施形態は、Fi内の各作成者の最新のπp個のコンテンツを供給する。あらゆるシステムには、ProducerPivotedのコンテンツストア及びConsumerPivotedのフィードビューストアの記憶量の決定に応じて独自のプッシュ及びプルコストが伴う。ciのフィードにコンテンツをプッシュするコストをHiとし、作成者pjから一定数のコンテンツをプルするコストをLjとする。大抵の場合、特定の実施形態は、πgとπpがいずれも十分に小さいので、Ljが各々にとって同じになると仮定することができる。特定の実施形態は、プルを使用して単一の作成者から複数のコンテンツを検索できるとさらに仮定することができる。これにより、コンテンツが作成者によってクラスタ化され、単一の遠隔手順呼出しによって複数のコンテンツを検索でき、例えば、ディスク検索がコストを占めるので少数のコンテンツの場合にはコンテンツを検索するためのディスクコストあるとすればが一定であると仮定する。特定の実施形態は、コンテンツが個別にシステムに到着し、コンテンツを取り込んでProducerPivotedテーブルに書き込むためのコストを考慮せず、このコストを、考えられる全てのポリシーに関して同じとすることができる単純なモデルを仮定することができる。従って、プッシュ/プルの決定を行うことができる粒度は、コンテンツごと、消費者ごとであり、特定の実施形態は、このようなペアごとにプッシュ又はプルを個別に選択することができる。同様に、システムコストもこの粒度で分析することができる。さらに、特定の実施形態は、システム内で負荷が増加した場合でも、Hi及びLjのコストが一定であると仮定することができる。しかしながら、コンテンツ率又は作成者のファンアウトが増えるにつれてシステムボトルネックが変化した場合、この仮定は真でなくなることもある。例えば、特定の実施形態は、メモリ内のデータを具現化すると決定することができる。一方で、メインメモリの量が制限されており、ConsumerPivotedの合計サイズがシステムの集約RAMを超えて増大した場合、データがディスクに溢れて、プッシュ及びプルコストがディスクアクセスを含むように変化する可能性がある。通常、実際のところは、消費者/作成者アプリケーションが十分なリソースメモリ、帯域幅、CPUなどを提供して、これらのボトルネックの変化を避けてHi及びLjを一定に保つことができる。特定の実施形態では、分析により、データが完全にメモリ内に存在すると仮定することはないが、システムが拡張するときにコストが一定であると仮定する。まず、作成者ごとの一貫性に関するコスト最適化について詳細に説明する。消費者ci、作成者pj、及びコンテンツctjkに関して、特定の実施形態は、ctjkをciに配信するための生涯コストを導出する。特定の実施形態では、ctjkの寿命は、これが作成されてから、pjが次のπp個のコンテンツを作成したときまでの時間である。特定の実施形態は、以下の観察を行う。観察1。プルコストが、1回のプルで取得した全てのコンテンツにわたって償却され、プッシュ及びプルコストが一定であると仮定する。pjによるciへのコンテンツのプッシュ及びプルの生涯コストは、消費者のコンテンツクエリ率φci及び作成者のコンテンツ作成率φpjに依存する。Push=HiPull=Ljφci/φpj観察1は、以下のように証明することができる。プッシュコストは、コンテンツの寿命を意識せず、特定のコンテンツに対してHiが1回支払われる。一方、プルコストは、コンテンツの寿命に依存する。コンテンツctjkは、πp/φpjという寿命を有する。この寿命にわたって、ciがctjkを見る回数は、φciπp/φpjである。ctjkをプルするためのコストは、Lj/πpであるLjは、個々のプルされたコンテンツにわたって償却される。従って、ctjkの生涯コストは、Ljφci/φpj=Lj/πpφciπp/φpjとなる。この結果、特定の実施形態は、所与の作成者、消費者ペアに関して、プッシュコストの方がプルコストよりも低い場合にはコンテンツをプッシュすべきであり、プルコストの方がプッシュコストよりも低い場合にはコンテンツをプルすべきであると結論付けることができる。特定の実施形態は、結果として生じる不均衡から、以下のような最適な決定ルールを導出することができる。補助定理1。φci/φpj≧Hi/Ljの場合、pjによる全てのコンテンツをプッシュする。φci/φpj<Hi/Ljの場合、pjによる全てのコンテンツをプルする。この場合、プッシュかプルかの決定は、観察1におけるコストから直接引き出される。次に、全体的一貫性に関するコスト最適化についてより詳細に説明する。全体的一貫性要件では、消費者ciのフィードが、Fiすなわち、ciがフォローする全ての作成者の組内の全ての作成者にわたるπg個の最新コンテンツを含む。特定の実施形態は以下の観察を行う。観察2。プッシュコスト及びプルコストが一定であると仮定する。Push=Hi観察2は、いくつかの重要な違いはあるが、作成者ごとの場合と同様に証明することができる。作成者のコンテンツ作成頻度は、Fi:の全てにわたる集合である。コンテンツctjkの寿命はπg/φFiであり、その償却されるプルコストはLj/πgである。これらの項を、作成者ごとの分析に代入して、全体的一貫性のプッシュコスト及びプルコストに至ることができる。次に、特定の実施形態は、全体的一貫性の場合における最適な作成者、消費者ペアの決定ルールを以下のように導出することができる。補助定理2。の場合、pjによる全てのコンテンツをプッシュする。の場合、pjによる全てのコンテンツをプルする。この場合、プッシュかプルかの決定は、観察2におけるコストから直接引き出される。補助定理1及び2からの主な発見は、以下のように要約することができる。作成者ごとの一貫性の下では、特定の消費者にコンテンツを配信するための生涯コストが、消費者のコンテンツ消費頻度及びコンテンツの作成者のコンテンツ作成頻度の両方に依存する。全体的一貫性の下では、消費者にコンテンツを配信するための生涯コストが、消費者のコンテンツ消費頻度及び消費者がフォローする作成者の集約コンテンツ作成頻度の両方に依存する。この結果、特定の実施形態は、以下の2つの定理を提案する。定理1。作成者ごとの一貫性では、補助定理1により決定された作成者、消費者ペアごとのプッシュとプルの比較を使用して、各作成者、消費者ペアに関してプッシュ又はプルを別個に選択することにより、システムコストを最小化する全体的最適計画が導出される。作成者ごとの一貫性の場合、特定の実施形態は、コンテンツごとに支払われるコストを最小化することによって全体的コストを最小化する。同様に、特定の実施形態は、そのコンテンツに支払われるコストを消費者ごとに最小化することによってコンテンツのコストを最小化する。補助定理1は、消費者と作成者の間のエッジ上にある単一のコンテンツに支払われるコストを最小化するように各エッジを割り当てる。さらに、いずれか1つのエッジに割り当てが行われなければ、他のいずれかのエッジに行うことができる割り当てにいずれかの制約が課される。従って、消費者及びコンテンツごとのコストを最小化することにより、全体的コストが最小化される。定理2。全体的一貫性では、補助定理2により決定された消費者ごとのプッシュとプルの比較を使用して、各消費者に関してプッシュ又はプルを別個に選択することにより、システムコストを最小化する全体的最適計画が導出される。全体的一貫性の場合、補助定理1は、全てのエッジをプッシュ又はプルのいずれかに割り当てる。ここでも、エッジ割り当てがなければ、他のいずれかのエッジの割り当てが制限される。従って、消費者及びコンテンツごとのコストを最小化することにより、全体的コストが最小化される。以下、MinCostは、最小コストを表すものとする。定理1及び2は、重要な実用的意義を有する。いずれのシステムも、異なるコンテンツクエリ率及びコンテンツ作成率、及びこれらの率にいずれの消費者又は作成者が最も多く貢献するかを制御するスキューの影響を受ける可能性がある。実際には、システムコストを最適化するために、これらのパターンを抽出又は理解する必要はない。代わりに、プッシュかプルかの決定を最適に行うために、特定の実施形態は、消費者のコンテンツクエリ率を個別に測定し、消費者がフォローする作成者のコンテンツ作成率と個別に又は全体的に比較すればよい。3番目に、コスト最適化問題が、追加のクエリレイテンシ制約すなわち、クエリレイテンシを最適化するとともにコストを最小化するの下で分析され、これをレイテンシサービスレベル合意SLAを満たすものとして表すことができる。コンピュータネットワークの背景では、SLAを使用して、個々のネットワークエンティティ又は構成要素によるコンピューティングリソースの割り当て及び使用を制御することができる。例えば、特定のフォローアプリケーションは、フィードクエリの95が100ms未満で実行することを強要することができる。場合によっては、最小のプッシュコスト対プルコスト方式がSLAを満たすことも可能である。しかしながら、場合によってはそうでないこともあり、この場合、特定の実施形態は、プッシュとプルを取引コンテンツクエリ時にはプッシュがあまり機能しないように撤回し、従ってシステムコストは上がるがレイテンシを下げることができる。いくつかの事例では、特定の実施形態が、プッシュのみの方式に移行して、極めて厳しいSLAを満たさなくてもよい。以下、LatencyConstrainedMinCostは、クエリレイテンシ制約も満たす最小コストを表すものとする。フォローイング分析は、プッシュすることが役立つけれどコストがかかるという中間の場合を対象とする。実際には、所与のシステムがSLAを満たすためにどれほどの追加プッシュを行うかを推測的に予測するのは困難である。従って、特定の実施形態は、結果がSLAに収束するまで、追加プッシュの量を増分的に調整できる欲張りアルゴリズムを利用することができる。最適ではないが、多くの実際の設定ではこの方法が合理的である。フォローイング分析では、特定の実施形態において、目標プッシュ量の認識を仮定する。Mincostがλmのレイテンシを生み出すものとする。この分析は、SLAを満たすためには、全てのクエリが行われた消費者、作成者ペアの一部λlをプッシュする必要があり、最小コストの解決策がペアの一部λoをプッシュし、この場合λo≦λlであるという仮定に基づくものである。特定の実施形態は、消費者、作成者ペアをプルからプッシュに移行させるときに支払われるコスト面でのペナルティとしてεを定義する。形式的には、作成者ごとの一貫性では、εij=φpjH-Ljφci/φpjとなる。これは、コンテンツごとに支払われる、プルの代わりにプッシュを行うための追加コストにpjのコンテンツ作成率を乗じたものである。消費者/作成者エッジfijをプルからプッシュに移行させる利点は、コンテンツクエリ時すなわち、消費者がコンテンツを消費する時点にコンテンツの取得にかかる時間を短縮することによってもたらされ、φciが全体的なコンテンツクエリ率に寄与するクエリの割合に依存する。直観的には、コンテンツクエリ頻度の低い消費者よりもコンテンツクエリ頻度の高い消費者に対してプッシュを行った方が多くの利益を得ることができる。なお、このことは、λlの値を推測できないことを意味するが、これはλlのサイズが、いずれのエッジが最終的にプッシュに変換されるかに依存するためである。特定の実施形態では、いずれの消費者、作成者ペアをプルからプッシュに移行させるかを選択することが問題である。特定の実施形態は、この問題をナップサック問題の例に単純化することができる。通常、ナップサック問題の目標は、各々が特定のスコアに貢献するオブジェクトでナップサックを満たすことである。各オブジェクトは重みを有し、この重み制限を超えずにスコアの和を最大にすることが目的である。特定の実施形態は、作成者、消費者ペアをオブジェクトとして概念化するすなわち、各作成者、消費者ペアをオブジェクトと見なす。オブジェクトοkはスコアφk及び重みεkを有し、この場合、φkは、消費者のコンテンツクエリ率に等しく、εkはプルからプッシュに移行することにより生じる追加コストなどのペナルティである。全てのオブジェクトのλlの割合がプッシュされるように、十分なオブジェクトをプルからプッシュに移行することが目標となる。従って、特定の実施形態は、最適解でプルされるオブジェクトのうち、総スコアがλl-λoのオブジェクトをプッシュに移行させる必要がある。Mincostでプルされるエッジの組について検討する。LatencyConstrainedMinCostを発見するには、プッシュに移行させるためのこれらのエッジのサブセットSを、及びが最小化されるように選択することが課題となる。Sの値を直接求める問題は、ナップサック問題に類似しているが、微妙に異なる。容量の制約はない。レイテンシを少なくともλm-λlだけ減少させる必要がある一方で、レイテンシをさらに減少させることもできる。この問題はナップサック問題に類似する。検討していない実施上の問題が2つある。まず、ナップサック問題はNP困難である。次に、理論上は、fijをプッシュに移行させることによるレイテンシの短縮としてσijが定義されるが、実際には、エッジをプッシュに移行させることによって得られる利益を正確に予測するのは非常に困難である。特定の実施形態は、これらの2つの問題を適応的アルゴリズムで解決することができる。エッジをプッシュに移行させることによる正確なレイテンシの短縮を把握することは難しいが、直観では、コンテンツ消費頻度の高い消費者を選択すれば、より多くのフィード検索のレイテンシが短縮されるので、短縮が大きくなるはずであると考えられる。次に、特定の実施形態は、プロキシとしてσij=φciを設定する。このプロキシを使用した結果、エッジの相対的利益は分かるが、エッジの組の候補Sがレイテンシをλm-λlだけ短縮するかどうかは直接的には分からない。従って、特定の実施形態は、レイテンシをλm-λlだけ短縮するΣφciを推定してSの値を求めることから開始し、次に、SからLatencyConstrainedMinCostの解が得られるすなわち、SLAを厳密に満たすかどうかを実際に測定する。レイテンシが依然として高すぎる場合には、より大きなΣφciの値を求める必要があり、レイテンシがSLAよりも低い場合には、より小さなΣφciの値を求める必要がある。従って、直ぐに正しい解が得られる可能性は低い。特定の実施形態は、目標のΣφciが調整されたときにのみ増分コストを負担する解を探す。さらに、ナップサック問題はNP困難であるため、この解が、最適解の好適な近似をもたらす必要がある。特定の実施形態は、この両方の問題に対処するために、最適解の欲張り近似を生成する適応的アルゴリズムを使用する。このような欲張り近似は、実際に有効であると期待される。特定の実施形態は、φci/σijによってプルエッジを降順にソートし、次に上位にランクされたいくつかのエッジをプッシュに移行させることができる。レイテンシがSLAよりも高い場合、上位にランクされたプルエッジを増分的にプッシュに移行させることができる。レイテンシがSLAよりも低い場合、下位にランクされたプッシュエッジを増分的にプルに移行させることができる。なお、特定の実施形態は、エッジがMincostでプッシュに割り当てられている場合には、決してこれらのエッジをプルに移行させることはない。適応的アルゴリズムは、開始点としてMincostから実行することができる。特定の実施形態は、このアルゴリズムを定期的に繰り返して、LatencyConstrainedMinCostの解が得られることを確実にする。例えば、複数の消費者が新たな関心例えば、新たな作成者、消費者ペアを追加し、Mincostのために最適化を行うシステムが、これらに対してプル方式を選択したと仮定する。これらの新たな作成者、消費者ペアは、たとえ既存の作成者、消費者ペアに関してプッシュ/プルの決定が変更されなかった場合でも、レイテンシを増大させる可能性がある。従って、システムを再度LatencyConstrainedMinCostに移行させるために、適応的アルゴリズムを繰り返してエッジをプッシュに移行させる必要がある。このアルゴリズムが常に最適解を発見するとは限らないが、実際に適切かつはるかに実用的である可能性が最も高い。特定の実施形態では、プッシュかプルかの決定がシステムに組み込まれる。欲張り解は、異なる目標レイテンシに効率的に適合するという利点を有する。SLAを満たすために、このシステムは、所望のレイテンシに達するまで単純にSにオブジェクトを追加することができる。また、欲張りアルゴリズムにより発見される解は、接続ネットワークの特定のインスタンスに特有のものである。具体的には、レイテンシのために最適化が行われた後、消費者が、例えば、新たな消費者/作成者ペアを設定して新たな関心を示すことがあり、システムが、プッシュかプルかの決定基準に基づいて、これらのペアに関してプル方式を選択することがある。このような場合、これらの新たな消費者/作成者ペアは、既存の消費者/作成者ペアに関してプッシュ/プルの決定が変化していなくても、平均又は95パーセンタイルレイテンシを増加させることがある。従って、特定の実施形態は、欲張りアルゴリズムを定期的に繰り返して、接続ネットワークが変化したときにもレイテンシSLAが満たされることを確実にする。個々の消費者、作成者ペアをプルからプッシュに移行させることに代わる特定の実施形態では、消費者をプルからプッシュにブロックとして移動させることができる。すなわち、消費者、作成者ペアをプルからプッシュに移動させる場合、特定の実施形態は、いくつかのプル消費者、作成者ペアを有する消費者を選択し、これらの全てを一気にプルからプッシュに移動させる。より詳細には、消費者は、各々がこの消費者によりフォローされる複数の作成者が作成したコンテンツを消費できるので、消費者、作成者ペアが存在する。従って、特定の消費者に関して、その消費者、作成者ペアのいくつかがプル方式を有するように決定し、その消費者、作成者ペアの残りがプッシュ方式を有するように決定することができる。特定の実施形態は、このような消費者を選択し、その消費者、作成者ペアを全てプッシュに移行させることができる。直観では、単一の消費者コンテンツクエリを低レイテンシで実行するには、この消費者に関する全ての作成者をプッシュに移動させる必要があり、そうでなければ、たった1つの作成者であっても、この作成者からプルする時間が消費者のコンテンツクエリ時間を占めるようになる。この場合、特定の実施形態は、消費者ci全体のεをとして計算する。さらに、λlは、全てのクエリが行われた消費者、作成者ペアの一部であることから、全ての消費者クエリの一部であることに移行する。これらの変化でも、ナップサックの低減は変わらない。消費者を大規模に移動させることは、クエリ時に各消費者にわずかなロングポールしか残さないという利点を有する。しかしながら、その弱点は、自由度が減少してしまうので、レイテンシを最適化するのが困難になる可能性があるという点である。具体的には、場合によっては、特定の作成者、消費者ペアをプッシュに移動させたいと望むことはできるが、消費者全体を移動させるとシステムコストが過度に増加するので、これを行うのが不可能な場合もある。なお、方式の区別は、消費者がフォローする作成者を特定の実施形態が別個のオブジェクトに分解するか、それともブロックとして処理するかによってもたらされる。従って、この議題は、作成者ごとの一貫性にのみ存在する。全体的一貫性では、コンテンツの寿命が、消費者の作成者全てのコンテンツ作成頻度の関数であるため、消費者の作成者は全て、同じ利点すなわち、消費者のコンテンツ消費頻度及び同じペナルティすなわち、プルされた作成者の集約コンテンツ作成頻度を有する。従って、全体的一貫性の場合、特定の実施形態がオブジェクトを消費者、作成者ペアとして定義するか、それとも消費者ブロックとして定義するかは重要でない。最後に、エンティティが消費者例えば、上流の作成者に対してでもあり作成者例えば、下流の消費者に対してでもある状況について簡単に説明する。ここまでは、主に各ノードが作成者又は消費者のいずれかである単純な接続ネットワークに焦点を当てて分析してきた。すなわち、このネットワークは2部グラフである。最適化の基本は、このグラフ内の各エッジを個別に最適化し、さらに全体的な最適化を達成できるようにすることである。代わりに、いくつかのノードが、上流のコンテンツソースすなわち、上流の作成者に対する消費者でもあり、下流の消費者に対する作成者でもあることができる複合接続ネットワークが存在すると仮定する。例えば、いくつかのソースからマドンナのコンテンツを集約し、次にこれらをダウンストリーム消費者が利用できるようにするノードがグラフ内に存在することがある。特定の実施形態では、エッジにプッシュ又はプルを割り当ててシステムコストを最小化することが依然として最適化問題である。しかしながら、プッシュかプルかの決定をエッジごとに個別に行うことができないというリスクがある。このリスクの特徴を明らかにするために、ネットワーク実行可能性の特性について検討する。特定の実施形態では、ネットワークが、プッシュが割り当てられている各エッジに関して、各隣接する上流のエッジにもプッシュが割り当てられている場合かつこの場合に限り実行可能である。実行不可能なネットワークの例として、プッシュエッジの上流にプルエッジが存在するエッジのペアについて検討する。プッシュエッジは、その関連する作成者からのコンテンツを、これらが生成されたときにその関連する消費者へ送信するつもりであるが、上流のプルエッジは、コンテンツが生成されたときにこれらを配信しない。特定の実施形態では、このリスクに対処するために追加の制約を加えて、プッシュコストとプルコスト、及びコンテンツ作成頻度とコンテンツ消費頻度のいずれかを解決することで実行可能な解も保証し、或いは最小コストの実行可能解の近似を発見するようにする。図3に、本開示の実施形態を実施するのに適したシステムアーキテクチャ例300を示す。特定の実施形態では、システム300が、ビューメンテナなどのビューメンテナンス機構310及びウェブサービングデータベース330を含む。特定の実施形態では、具現化の決定がビューメンテナンス機構310にカプセル化され、ウェブサービングデータベース330が、更新及びフィードビューの処理などのその他のタスクを処理する。特定の実施形態では、ウェブサービングデータベース330が、弾性的にスケーリング可能であり、あらゆる数の記憶サーバを含むことができる。作成者がコンテンツを生成すると、このコンテンツは、作成者によりクラスタ化された記憶サーバに記憶される。作成者は、例えば、アプリケーション層例えば、ユーザが直接コンテンツを生成する場合であっても、又はクローラ/インジェスト層例えば、外部ソースからコンテンツを検索するためのであってもよい。コンテンツがシステム300に入ると、システム300は、ビューメンテナ310に通知を送ることができる。ビューメンテナ310は、この新たなコンテンツを1又はそれ以上の消費者フィード記録にプッシュするかどうかを決定することによってこの通知に応答する。特定の実施形態では、この決定が作成者のコンテンツ作成率及び消費者のコンテンツクエリ率に依存するので、ビューメンテナ310は、ウェブサービングデータベース330からこの情報を読み取ることができる。コンテンツがプッシュされた場合、これが再び記憶サーバに書き込まれ、この時刻が消費者クラスタ化フィードビューに書き込まれる。特定の実施形態は、主にインデックス及びビューメンテナンスを駆動するために、更新が約束されたときは常に発射されるという理由で単純なトリガに類似する通知機構を使用する。代替の実施形態は、元々の更新トランザクションの一部としてビューを更新すること、データベースログを探索することなどの他の機構を使用してビューメンテナ310を変更することができる。通知には、ビューメンテナンスが非同期的に行われるという利点があり、従って特定の実施形態は、元々の更新トランザクションにレイテンシを加えることなく、作成者及び消費者の率を読み取ることを含む潜在的にコストのかかる具現化を行うことができる。この通知方法の欠点は、具現化されるビューが、基本コンテンツストアに比べてわずかに古くさいかもしれない点であるが、通常、ウェブアプリケーションフォローアプリケーションを含むでは、わずかな程度の古くささであれば許容することができる。特定の実施形態では、消費者がそのビューを検索すると例えば、ユーザがユーザのページにログインし、又はこれをリフレッシュすると、クエリプロセッサ320にクエリが行われる。クエリプロセッサ320は、1既に具現化されたプッシュされたコンテンツを検索し、2いずれの作成者からコンテンツをプルする必要があるかを決定するために、ConsumerPivotedから消費者の記録を読み取る。次に、ProducerPivotedに対して平行読み取りを行って、これらのコンテンツをプルすることができる。特定の実施形態では、消費者のフィードビュー記録が、具現化されたコンテンツ、及び消費者がフォローしている具現化されていない作成者のリストの両方を含む。特定の実施形態は、作成者がクラスタ化した基本コンテンツストア、及び消費者がクラスタ化した具現化されたフィードビューを、いずれも同じデータベースインフラストラクチャに記憶することができる。或いは、特定の実施形態は、ProducerPivotedを一方のデータベースに、ConsumerPivotedをもう一方のデータベースに記憶することができる。特定の実施形態では、ウェブサービングデータベース330が、個々の記録の読み取り及び書き込みを低レイテンシで行うように設計される。このような多くの読み取り及び書き込み動作を処理するスループットは、スケールアウトを通じて、すなわちシステムにより多くのサーバを追加することによって増加する。特定の実施形態では、システム300が、記録を順序付けて記憶することにより、狭い範囲の記録を効率的に検索できるようになる。効率的なプッシュ及びプル動作にとっては、範囲スキャンが特に重要となり得る。特定の実施形態は、関連データを記憶するのに十分なメインメモリを準備することを選択して低レイテンシを保証することができるが、データは、故障に耐え抜くためにディスクにも保持される。特定の実施形態では、作成者がコンテンツを生成した場合、このコンテンツをProducerPivotedテーブルに書き込む必要がある。場合によっては、作成者が、コンテンツを記憶層に直接書き込むことができる。その他の場合には、作成者が、上流のコンテンツのアグリゲータとなることができる。上流のソースが、コンテンツをアグリゲータにプッシュすることもあり、或いはアグリゲータがコンテンツをプルする必要がある場合もあり、いずれの場合にも、例えば適当なアプリケーションプログラムインターフェイスAPIを使用する。特定の実施形態では、作成者が新たなコンテンツを作成した場合、このコンテンツを1又はそれ以上の消費者記録内で具現化することによってプッシュするかどうかを決定するのはビューメンテナ310の責任である。従って、ビューメンテナ310は、補助定理1及び補助定理2の決定ルールをカプセル化する。特定の実施形態では、ビューメンテナ310が、データベース330からのテーブルの更新を定期的に読み取り、必要時に再びデータベース330に記録を書き込む。特定の実施形態は、限定ではなく一例として、テーブルなどの適当なデータ構造に関連データConnectionNetwork、ProducerPivoted、又はConsumerPivotedなどを記憶することができる。例えば、ConnectionNetworkテーブルを使用して、消費者と作成者の間の接続グラフを記憶することができる。このテーブルの要点は、合成作成者、優先度、消費者である。補助定理1及び2に従って、消費者のコンテンツクエリ率及び作成者のコンテンツ作成率から優先度が計算される。ConnectionNetworkテーブルを作成者ごとに、次に優先度ごとにソートして、コンテンツをプッシュするかどうかに関する意思決定を容易にすることができる。新たなコンテンツが到着すると、特定の実施形態は、導出された最適な閾値Hi/LjなどをRとする優先度Rから開始するプレフィクスをコンテンツの作成者によって付けられた記録にわたって範囲クエリを行う。これにより、コンテンツを具現化すべき対象消費者の組である、Rよりも優先度の高い作成者、消費者ペアのみを迅速に検索できるようになる。別の例として、コンテンツをContentsByProducerテーブルに記憶することができる。このテーブルの要点は、コンテンツが作成者ごとにクラスタ化され、作成者の中の作成時刻によって順序付けられるようにする作成者、タイムスタンプである。このような順序付けにより、所与の作成者から最新コンテンツを効率的に検索できるようになる。通常、フィードは、最新のN個のコンテンツしか表示しないのでこの検索は、検索するコンテンツ数の制限が指定された範囲スキャンによって実施することができる。さらに別の例として、各消費者の具現化されたフィード記録をFeedテーブルに記憶することができる。このテーブルの要点は、消費者がフォローする作成者ごとに別個の記録が存在するようにする消費者、作成者である。消費者が新たな作成者をフォローすると決めた場合、最初はコンテンツを含まない新たなFeed記録が挿入される。ビューメンテナ310は、新たなコンテンツを通知されると、ConnectionNetworkテーブルに範囲スキャンを行って、コンテンツをプッシュすべき消費者のリストを発見し、消費者ごとに適当なFeed記録を更新する。この結果、いくつかのフィード記録は具現化されたコンテンツを有し、その他のフィード記録はヌルを有するようになる。このFeed記録は、消費者、作成者ペアに関する優先度を含むこともでき、この優先度は、ConnectionNetworkテーブルに記憶された優先度と同じものである。Feed記録がコンテンツを有していない例えば、ヌル場合、特定の実施形態は、優先度が閾値Hi/Lj未満の場合には、ContentsByProducerからのみプルすればよい。優先度が閾値よりも高いヌル記録は、コンテンツがプッシュされることを示すが、作成者はまだ何も作成していない。また、Feedテーブル内のコンテンツのために確保されている列には、潜在的に複数のコンテンツが記憶され、作成者のファンアウトによって生じた複数の消費者のために同じコンテンツを記憶することができる。作成者のコンテンツ作成率及び消費者のコンテンツクエリ率が変化するにつれ、特定の実施形態は、消費者、作成者ペアに関する優先度を適応させることができる。各作成者の率の統計値は、対応するContentsByProducer記録内に保持することができ、各消費者の率の統計値は、対応するFeed記録内に保持することができる。統計値及び優先度を更新する際には、観察を緩めるべきである。統計値を更新するための書き込み数を低減するために、特定の実施形態は近似統計値を保持し、各コンテンツ又はクエリに関する何らかの確率でのみ、これらを更新することができる。優先度を更新するための書き込み数を低減するために、特定の実施形態は、古い優先度と新しい優先度がプッシュ閾値をまたいで存在する場合にのみ更新を行うことができる。特定の実施形態は、ネットワーク環境で実施することができる。図4に、ソフトウェアの妥当性確認をサービスとして行うのに適したネットワーク環境例400を示す。ネットワーク環境400は、1又はそれ以上のサーバ420と1又はそれ以上のクライアント430を互いに接続するネットワーク410を含む。特定の実施形態では、ネットワーク410が、イントラネット、エクストラネット、仮想プライベートネットワークVPN、ローカルエリアネットワークLAN、無線LANWLAN、ワイドエリアネットワークWAN、メトロポリタンエリアネットワークMAN、インターネットの一部、又は別のネットワーク410、或いは2又はそれ以上のこのようなネットワーク410の組み合わせである。本開示は、あらゆる適当なネットワーク410を考慮する。1又はそれ以上のリンク450が、サーバ420又はクライアント430をネットワーク410に接続する。特定の実施形態では、1又はそれ以上のリンク450の各々が、1又はそれ以上の有線、無線、又は光学リンク450を含む。特定の実施形態では、1又はそれ以上のリンク450の各々が、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、MAN、インターネットの一部、又は別のリンク450、或いは2又はそれ以上のこのようなリンク450の組み合わせを含む。本開示は、サーバ420及びクライアント430をネットワーク410に接続するあらゆる適当なリンク450を考慮する。特定の実施形態では、各サーバ420が、単一のサーバであってもよく、或いは複数のコンピュータ又は複数のデータセンタにわたる分散サーバであってもよい。サーバ420は、限定ではなく一例として、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、交換サーバ、データベースサーバ、又はプロキシサーバなどの様々なタイプであってよい。特定の実施形態では、各サーバ420が、ハードウェア、ソフトウェア、又は組み込み論理要素、或いはサーバ420により実施又はサポートされる適当な機能を実行するための2又はそれ以上のこのような構成要素の組み合わせを含むことができる。例えば、ウェブサーバは、一般にウェブページ又は特定のウェブページ要素を含むウェブサイトをホストすることができる。より詳細には、ウェブサーバは、HTMLファイル又はその他のファイルタイプをホストすることができ、或いは要求時にファイルを動的に作成又は構成し、クライアント430からのHTTP又はその他の要求に応じてこれらをクライアント430に通信することができる。メールサーバは、一般に様々なクライアント430に電子メールサービスを提供することができる。データベースサーバは、一般に1又はそれ以上のデータストアに記憶されたデータを管理するためのインターフェイスを提供することができる。特定の実施形態では、1又はそれ以上のデータ記憶装置440を、1又はそれ以上のリンク450を介して1又はそれ以上のサーバ420に通信可能にリンクさせることができる。特定の実施形態では、データ記憶装置440を使用して、様々な種類の情報を記憶することができる。特定の実施形態では、データ記憶装置440に記憶された情報を、特定のデータ構造に従って体系化することができる。特定の実施形態では、各データ記憶装置440をリレーショナルデータベースとすることができる。特定の実施形態は、サーバ420又はクライアント430が、データ記憶装置440に記憶された情報を管理例えば、検索、修正、追加、又は削除できるようにするインターフェイスを提供することができる。特定の実施形態では、各クライアント430を、ハードウェア、ソフトウェア、又は組み込み論理要素、或いは2又はそれ以上のこのような構成要素の組み合わせを含み、クライアント430が実施又はサポートする適当な機能を実行できる電子装置とすることができる。限定ではなく一例として、クライアント430は、デスクトップコンピュータシステム、ノートブックコンピュータシステム、ネットブックコンピュータシステム、ハンドヘルド電子装置、又は携帯電話であってもよい。本開示は、あらゆる好適なクライアント430を考慮する。クライアント430は、クライアント430のネットワークユーザがネットワーク430にアクセスできるようにすることができる。クライアント430は、そのユーザが、他のクライアント430の他のユーザと通信できるようにすることができる。クライアント430は、MICROSOFTINTERNETEXPLORER、GOOGLECHROME又はMOZILLAFIREFOXなどのウェブブラウザ432を有することができ、TOOLBAR又はYAHOOTOOLBARなどの、1又はそれ以上のアドオン、プラグイン、又はその他の拡張機能を有することができる。クライアント430のユーザは、ユニフォームリソースロケータURL、又はウェブブラウザ432をサーバ420に向けるその他のアドレスを入力することができ、ウェブブラウザ432は、ハイパーテキスト転送プロトコルHTTP要求を生成して、このHTTP要求をサーバ420に通信することができる。サーバ420は、HTTP要求を受け入れ、このHTTP要求に応答してクライアント430に1又はそれ以上のハイパーテキストマークアップ言語HTMLファイルを通信することができる。クライアント430は、サーバ420からのHTMLファイルに基づいて、ユーザに提示するためのウェブページを表示することができる。本開示は、あらゆる好適なウェブページファイルを考慮する。限定ではなく一例として、ウェブページは、特定の必要性に基づいて、HTMLファイル、拡張可能ハイパーテキストマークアップ言語XHTMLファイル、又は拡張可能マークアップ言語XMLファイルから表示を行うことができる。このようなページは、限定ではなく一例として、JAVASCRIPT登録商標、JAVA登録商標、MICROSOFTSILVERLIGHT、AJAX非同期JAVASCRIPT登録商標及びXMLなどのマークアップ言語とスクリプトの組み合わせなどで書かれたようなスクリプトを実行することもできる。本明細書では、必要に応じて、ウェブページへの言及は、ブラウザがウェブページを表示するために使用できる1又はそれ以上の対応するウェブページファイルを含み、逆もまた同様である。特定の実施形態は、1又はそれ以上のコンピュータシステム上で実施することができる。図5に、コンピュータシステム例500を示す。特定の実施形態では、1又はそれ以上のコンピュータシステム500が、本明細書で説明又は例示した1又はそれ以上の方法の1又はそれ以上のステップを実行する。特定の実施形態では、1又はそれ以上のコンピュータシステム500が、本明細書で説明又は例示した機能を提供する。特定の実施形態では、1又はそれ以上のコンピュータシステム500上で実行されるソフトウェアが、本明細書で説明又は例示した1又はそれ以上の方法の1又はそれ以上のステップを実行し、又は本明細書で説明又は例示した機能を提供する。特定の実施形態は、1又はそれ以上のコンピュータシステム500の1又はそれ以上の部分を含む。本開示は、あらゆる好適な数のコンピュータシステム500を考慮する。本開示は、コンピュータシステム500があらゆる好適な物理的形状をとることを考慮する。限定ではなく一例として、コンピュータシステム500は、埋め込みコンピュータシステム、システムオンチップSOC、例えば、コンピュータオンモジュールCOM又はシステムオンモジュールSOMなどの単一基板コンピュータシステムSBC、デスクトップコンピュータシステム、ラップトップ又はノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末PDA、サーバ、又はこれらの2又はそれ以上の組み合わせであってもよい。必要に応じて、コンピュータシステム500は、1又はそれ以上のコンピュータシステム500を含むことができ、単一又は分散型とすることができ、複数の場所にわたることができ、複数の機械にわたることができ、或いは1又はそれ以上のネットワーク内の1又はそれ以上のクラウド構成要素を含むことができるクラウド内に常駐することができる。必要に応じて、1又はそれ以上のコンピュータシステム500は、本明細書で説明又は例示した1又はそれ以上の方法の1又はそれ以上のステップを、大きな空間的又は時間的制限を伴わずに実行することができる。限定ではなく一例として、1又はそれ以上のコンピュータシステム500は、本明細書で説明又は例示した1又はそれ以上の方法の1又はそれ以上のステップをリアルタイムで又はバッチモードで実行することができる。1又はそれ以上のコンピュータシステム500は、必要に応じて、本明細書で説明又は例示した1又はそれ以上の方法の1又はそれ以上のステップを異なる時点又は異なる場所で実行することができる。特定の実施形態では、コンピュータシステム500が、プロセッサ502、メモリ504、記憶装置506、入力/出力I/Oインターフェイス508、通信インターフェイス510、及びバス512を含む。本開示では、特定の構成内に特定の数の特定の構成要素を有する特定のコンピュータシステムを説明及び例示しているが、本開示は、あらゆる好適な構成内にあらゆる好適な数のあらゆる好適な構成要素を有するあらゆる好適なコンピュータシステムを考慮する。特定の実施形態では、プロセッサ502が、コンピュータプログラムを構築するような命令を実行するためのハードウェアを含む。限定ではなく一例として、プロセッサ502は、命令を実行するために、内部レジスタ、内部キャッシュ、メモリ504、又は記憶装置506から命令を検索又はフェッチし、これらの命令を復号して実行し、さらに1又はそれ以上の結果を、内部レジスタ、内部キャッシュ、メモリ504、又は記憶装置506に書き込むことができる。特定の実施形態では、プロセッサ502が、データ、命令又はアドレスのための1又はそれ以上の内部キャッシュを含むことができる。本開示は、プロセッサ502が、必要に応じてあらゆる好適な数のあらゆる好適な内部キャッシュを含むことを考慮する。限定ではなく一例として、プロセッサ502は、1又はそれ以上の命令キャッシュ、1又はそれ以上のデータキャッシュ、及び1又はそれ以上の変換索引バッファTLBを含むことができる。命令キャッシュ内の命令は、メモリ504又は記憶装置506内の命令の複製であってもよく、この命令キャッシュは、プロセッサ502によるこれらの命令の検索を迅速化することができる。データキャッシュ内のデータは、メモリ504又は記憶装置506内の、プロセッサ502で実行される命令のためのデータの複製、プロセッサ502で実行される次の命令がアクセスするための、或いはメモリ504又は記憶装置506に書き込むための、プロセッサ502で実行された以前の命令の結果、又はその他の好適なデータであってもよい。データキャッシュは、プロセッサ502による読み取り又は書き込み動作を迅速化することができる。TLBは、プロセッサ502の仮想アドレス変換を迅速化することができる。特定の実施形態では、プロセッサ502が、データ、命令、又はアドレスのための1又はそれ以上の内部レジスタを含むことができる。本開示は、プロセッサ502が、必要に応じてあらゆる好適な数のあらゆる好適な内部レジスタを含むことを考慮する。必要に応じて、プロセッサ502は、1又はそれ以上の演算論理ユニットALUを含むことができ、マルチコアプロセッサであってもよく、或いは1又はそれ以上のプロセッサ502を含むこともできる。本開示では、特定のプロセッサを説明及び例示しているが、本開示は、あらゆる好適なプロセッサを考慮する。特定の実施形態では、メモリ504が、プロセッサ502が実行する命令又はプロセッサ502が作用するデータを記憶するためのメインメモリを含む。限定ではなく一例として、コンピュータシステム500は、記憶装置506又は例えば、別のコンピュータシステム500などの別のソースからメモリ504に命令をロードすることができる。次に、プロセッサ502は、メモリ504からの命令を内部レジスタ又は内部キャッシュにロードすることができる。プロセッサ502は、これらの命令を実行するために、内部レジスタ又は内部キャッシュから命令を検索してこれを復号することができる。プロセッサ502は、命令の実行中又は実行後に、中間結果であっても又は最終結果であってもよい1又はそれ以上の結果を内部レジスタ又は内部キャッシュに書き込むことができる。その後、プロセッサ502は、これらの結果の1又はそれ以上をメモリ504に書き込むことができる。特定の実施形態では、プロセッサ502が、記憶装置506又はその他の場所とは対照的に1又はそれ以上の内部レジスタ又は内部キャッシュ、或いはメモリ504内の命令のみを実行し、記憶装置506又はその他の場所とは対照的に1又はそれ以上の内部レジスタ又は内部キャッシュ、或いはメモリ504内のデータのみに作用する。各々がアドレスバス及びデータバスを含むことができる1又はそれ以上のメモリバスが、プロセッサ502をメモリ504に接続することができる。バス512は、以下で説明するような1又はそれ以上のメモリバスを含むことができる。特定の実施形態では、プロセッサ502とメモリ504の間に1又はそれ以上のメモリ管理ユニットMMUが存在して、プロセッサ502が要求するメモリ504へのアクセスを容易にする。特定の実施形態では、メモリ504が、ランダムアクセスメモリRAMを含む。必要に応じて、このRAMを不揮発性メモリとすることができる。必要に応じて、このRAMを動的RAMDRAM又は静的RAMSRAMとすることもできる。さらに、必要に応じて、このRAMを単一ポート又はマルチポートRAMとすることもできる。本開示は、あらゆる好適なRAMを考慮する。必要に応じて、メモリ504は、1又はそれ以上のメモリ504を含むことができる。本開示では、特定のメモリを説明及び例示しているが、本開示はあらゆる好適なメモリを考慮する。特定の実施形態では、記憶装置506が、データ又は命令のための大容量記憶装置を含む。限定ではなく一例として、記憶装置506は、HDD、フロッピー登録商標ディスクドライブ、フラッシュメモリ、光学ディスク、磁気光学ディスク、磁気テープ、又はユニバーサルシリアルバスUSBドライブ、或いはこれらの2又はそれ以上の組み合わせを含むことができる。必要に応じて、記憶装置506は、取り外し可能又は取り外し不能すなわち固定媒体を含むことができる。必要に応じて、記憶装置506は、コンピュータシステム500の内部又は外部に存在することができる。特定の実施形態では、記憶装置506が不揮発性固体メモリである。特定の実施形態では、記憶装置506が読出し専用メモリROMを含む。必要に応じて、このROMを、マスクプログラム化ROM、プログラム可能ROMPROM、消去可能PROMEPROM、電気的消去可能PROMEEPROM、電気的変更可能ROM、又はフラッシュメモリ、或いはこれらの2又はそれ以上の組み合わせとすることができる。本開示は、大容量記憶装置506があらゆる好適な物理的形式をとることを考慮する。必要に応じて、記憶装置506は、プロセッサ502と記憶装置506の間の通信を容易にする1又はそれ以上の記憶制御ユニットを含むことができる。必要に応じて、記憶装置506は、1又はそれ以上の記憶装置506を含むことができる。本開示では、特定の記憶装置を説明及び例示しているが、本開示は、あらゆる好適な記憶装置を考慮する。特定の実施形態では、I/Oインターフェイス508が、コンピュータシステム500と1又はそれ以上のI/O装置の間の通信のための1又はそれ以上のインターフェイスを提供するハードウェア、ソフトウェア、又はこれらの両方を含む。必要に応じて、コンピュータシステム500は、これらのI/O装置の1又はそれ以上を含むことができる。これらのI/O装置の1又はそれ以上は、人とコンピュータシステム500の間の通信を可能にすることができる。限定ではなく一例として、I/O装置は、キーボード、キーパッド、マイク、モニタ、マウス、プリンタ、スキャナ、スピーカ、静止カメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なI/O装置、或いはこれらの2又はそれ以上の組み合わせを含むことができる。I/O装置は、1又はそれ以上のセンサを含むことができる。本開示は、あらゆる好適なI/O装置、及びこれらの装置のためのあらゆる好適なI/Oインターフェイス508を考慮する。必要に応じて、I/Oインターフェイス508は、プロセッサ502がこれらのI/O装置の1又はそれ以上を駆動できるようにする1又はそれ以上の装置又はソフトウェアドライバを含むことができる。必要に応じて、I/Oインターフェイス508は、1又はそれ以上のI/Oインターフェイス508を含むことができる。本開示では、特定のI/Oインターフェイスを説明及び例示しているが、本開示はあらゆる好適なI/Oインターフェイスを考慮する。特定の実施形態では、通信インターフェイス510が、コンピュータシステム500と1又はそれ以上の他のコンピュータシステム500、或いは1又はそれ以上のネットワークとの間の通信例えば、パケットベースの通信などのための1又はそれ以上のインターフェイスを提供するハードウェア、ソフトウェア、又はこれらの両方を含む。限定ではなく一例として、通信インターフェイス510は、イーサネット登録商標又は他の配線に基づくネットワークと通信するためのネットワークインターフェイスコントローラNIC又はネットワークアダプタ、或いはWI-FIネットワークなどの無線ネットワークと通信するための無線NICWNIC又は無線アダプタを含むことができる。本開示は、あらゆる好適なネットワーク、及びこのネットワークのためのあらゆる好適な通信インターフェイス510を考慮する。限定ではなく一例として、コンピュータシステム500は、アドホックネットワーク、パーソナルエリアネットワークPAN、ローカルエリアネットワークLAN、ワイドエリアネットワークWAN、メトロポリタンエリアネットワークMAN、又はインターネットの1又はそれ以上の部分、或いはこれらの2又はそれ以上の組み合わせと通信することができる。これらのネットワークの1又はそれ以上の1又はそれ以上の部分は、有線であっても又は無線であってもよい。一例として、コンピュータシステム500は、例えば、BLUETOOTHWPANなどの無線PANWPAN、WI-FIネットワーク、WI-MAXネットワーク、例えば、グローバルシステムフォーモバイルコミュニケーションズGSM登録商標ネットワークなどの携帯電話ネットワーク、又はその他の好適な無線ネットワーク、或いはこれらの2又はそれ以上の組み合わせと通信することができる。必要に応じて、コンピュータシステム500は、これらのネットワークのいずれかのためのあらゆる好適な通信インターフェイス510を含むことができる。必要に応じて、通信インターフェイス510は、1又はそれ以上の通信インターフェイス510を含むことができる。本開示では、特定の通信インターフェイスを説明及び例示しているが、本開示は、あらゆる好適な通信インターフェイスを考慮する。特定の実施形態では、バス512が、コンピュータシステム500の構成要素を互いに接続するハードウェア、ソフトウェア、又はこれらの両方を含む。限定ではなく一例として、バス512は、アクセラレーティッドグラフィクスポートAGP又はその他のグラフィクスバス、拡張業界標準アーキテクチャEISAバス、フロント側バスFSB、ハイパートランスポートHT相互接続、業界標準アーキテクチャISAバス、INFINIBAND相互接続、ローピンカウントLPCバス、メモリバス、マイクロチャネルアーキテクチャMCAバス、周辺構成要素相互接続PCIバス、PCIエクスプレスPCIXバス、シリアルアドバンスドテクノロジアタッチメントSATAバス、ビデオ電子機器標準アソシエーションローカルVLBバス、又は別の好適なバス、或いはこれらの2又はそれ以上の組み合わせを含むことができる。必要に応じて、バス512は、1又はそれ以上のバス512を含むことができる。本開示では、特定のバスを説明及び例示しているが、本開示は、あらゆる好適なバス又は相互接続を考慮する。本明細書では、コンピュータ可読記憶媒体への言及が、1又はそれ以上の非一時的有形コンピュータ可読記憶媒体処理構造を含む。限定ではなく一例として、必要に応じて、コンピュータ可読記憶媒体は、例えば、フィールドプログラマブルゲートアレイFPGA又は特定用途向けICASICなどの半導体に基づく又はその他の集積回路IC、ハードディスク、HDD、混合ハードドライブHHD、光学ディスク、光学ディスクドライブODD、磁気光学ディスク、磁気光学ドライブ、フロッピー登録商標ディスク、フロッピー登録商標ディスクドライブFDD、磁気テープ、ホログラフィック記憶媒体、固体ドライブSSD、RAMドライブ、SECUREDIGITALカード、SECUREDIGITALドライブ、又は別の好適なコンピュータ可読記憶媒体、或いはこれらの2又はそれ以上の組み合わせを含むことができる。本明細書では、コンピュータ可読記憶媒体への言及は、米国特許法第101条における特許権保護の資格がないあらゆる媒体を除外する。本明細書では、コンピュータ可読記憶媒体への言及は、米国特許法第101条における特許権保護の資格がない限り、伝搬電気又は電磁信号単独などの一時的な信号送信の形を除外する。本開示は、あらゆる好適な記憶媒体を実装する1又はそれ以上のコンピュータ可読記憶媒体を考慮する。特定の実施形態では、必要に応じて、コンピュータ可読記憶媒体が、プロセッサ502の例えば、1又はそれ以上の内部レジスタ又はキャッシュなどの1又はそれ以上の部分、メモリ504の1又はそれ以上の部分、記憶装置506の1又はそれ以上の部分、或いはこれらの組み合わせを実装する。特定の実施形態では、コンピュータ可読記憶媒体はRAM又が、ROMを実装する。特定の実施形態では、コンピュータ可読記憶媒体が、揮発性又は永続メモリを実装する。特定の実施形態では、1又はそれ以上のコンピュータ可読記憶媒体が、ソフトウェアを具体化する。本明細書では、ソフトウェアへの言及が、必要に応じて、1又はそれ以上のアプリケーション、バイトコード、1又はそれ以上のコンピュータプログラム、1又はそれ以上の実行ファイル、1又はそれ以上の命令、論理、機械コード、1又はそれ以上のスクリプト、又はソースコードを含むことができ、逆もまた同様である。特定の実施形態では、ソフトウェアが、1又はそれ以上のアプリケーションプログラミングインターフェイスAPIを含む。本開示は、あらゆる好適なプログラミング言語又はプログラミング言語の組み合わせで書かれた又は別様に表現されたあらゆる好適なソフトウェアを考慮する。特定の実施形態では、ソフトウェアが、ソースコード又はオブジェクトコードとして表現される。特定の実施形態では、ソフトウェアが、例えば、C、Peal、又はこれらの適当な拡張などの高水準プログラミング言語で表現される。特定の実施形態では、ソフトウェアが、アセンブリ言語又は機械コードなどの低水準プログラミング言語で表現される。特定の実施形態では、ソフトウェアがJAVA登録商標で表現される。特定の実施形態では、ソフトウェアが、ハイパーテキストマークアップ言語HTML、拡張可能マークアップ言語XML、又はその他の好適なマークアップ言語で表現される。本開示は、本明細書の実施形態例に対する、当業者が把握する全ての変更、置換、変形、改変、及び修正を含む。同様に、必要に応じて、添付の特許請求の範囲は、本明細書の実施形態例に対する、当業者が把握する全ての変更、置換、変形、改変、及び修正を含む。"