(57)【要約】【課題】ユーザが自分の目標を達成する可能性を高めるオンライン支援グループを管理する方法を提供すること。【解決手段】方法（４００）は、支援グループへの加入要求をユーザから受信すること（４０２）、支援グループの種類に関するユーザの選好を受信すること（４０４）、ユーザの選好および支援グループの会員の選好に基づいて複数の支援グループの中から支援グループを選択すること（４０６）、及びユーザによる支援グループに参加するオプションの受入れに基づいて複数の支援グループを再編成すること（４０８）を備える。【選択図】      図４
2015197908.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサによって実現されるモジュールであって、
ユーザから支援グループへの加入要求を受信し、
前記支援グループの種類に関する前記ユーザの選好を識別し、
前記ユーザの選好および前記支援グループの会員の選好に基づいて、複数の支援グループの中から支援グループを選択し、
前記ユーザによる前記支援グループに加入するオプションの受入れに基づいて、前記複数の支援グループを基準に基づき再編成する
ように構成された前記モジュールと、
を備えたシステム。
【請求項２】
前記モジュールがさらに、
前記ユーザの目標を決定し、
前記支援グループの会員の目標を決定する
ように構成され、
前記支援グループの種類に関する前記ユーザの選好が、前記ユーザの目標および前記支援グループの会員の目標に関係する、
請求項１に記載のシステム。
【請求項３】
前記ユーザの目標がウェルネス目標である、
請求項２に記載のシステム。
【請求項４】
前記基準は、前記複数の支援グループの各々がファシリテーションを有することであり、前記再編成することが、前記支援グループの少なくとも１人の会員を前記支援グループのファシリテータとして選択することを含む、
請求項１に記載のシステム。
【請求項５】
前記支援グループの複数の会員のうち少なくとも１人の会員を前記支援グループのファシリテータとして選択することが、前記複数の支援グループに対する前記ユーザの参加レベルに基づく、
請求項４に記載のシステム。
【請求項６】
前記支援グループの複数の会員のうち少なくとも１人の会員を前記支援グループのファシリテータとして選択することがさらに、前記支援グループの複数の会員の目標達成の成功率に基づく、
請求項５に記載のシステム。
【請求項７】
前記基準が、前記支援グループの複数の会員の各々の匿名性を維持することを含む、
請求項１に記載のシステム。
【請求項８】
ユーザから支援グループへの加入要求を受信すること、
前記支援グループの種類に関する前記ユーザの選好を識別すること、
前記ユーザの選好および前記支援グループの会員の選好に基づいて、複数の支援グループの中から支援グループを選択すること、
前記ユーザによる前記支援グループに加入するオプションの受入れに基づいて、前記複数の支援グループを基準に基づき再編成することを備え、
前記再編成することがプロセッサによって実行される、方法。
【請求項９】
前記ユーザの目標を決定すること、
前記支援グループの会員の目標を決定すること
をさらに備え、
前記支援グループの種類に関する前記ユーザの選好が、前記ユーザの目標および前記支援グループの会員の目標に関係する、
請求項８に記載の方法。
【請求項１０】
前記ユーザの目標がウェルネス目標である、請求項９に記載の方法。
【請求項１１】
前記基準は、前記複数の支援グループの各々がファシリテーションを有することであり、前記再編成することが、前記支援グループの少なくとも１人の会員を前記支援グループのファシリテータとして選択することを含む、
請求項８に記載の方法。
【請求項１２】
前記支援グループの複数の会員のうち少なくとも１人の会員を前記支援グループのファシリテータとして選択することが、前記複数の支援グループに対する前記ユーザの参加レベルに基づく、
請求項１１に記載の方法。
【請求項１３】
前記支援グループの複数の会員のうち少なくとも１人の会員を前記支援グループのファシリテータとして選択することがさらに、前記支援グループの複数の会員の目標達成の成功率に基づく、
請求項１２に記載の方法。
【請求項１４】
前記基準が、前記支援グループの複数の会員の各々の匿名性を維持することを含む、
請求項８に記載の方法。
【請求項１５】
少なくとも１つのプロセッサによって実行されたとき前記少なくとも１つのプロセッサに処理を実行させる１組の命令を格納する非一時的機械可読記憶媒体であって、
前記処理が、
ユーザから支援グループへの加入要求を受信すること、
前記支援グループの種類に関する前記ユーザの選好を識別すること、
前記ユーザの選好および前記支援グループの会員の選好に基づいて、複数の支援グループの中から支援グループを選択すること、
前記ユーザによる前記支援グループに加入するオプションの受入れに基づいて、前記複数の支援グループを基準に基づき再編成すること、
を含み、前記再編成することがプロセッサによって実行される、
非一時的機械可読記憶媒体。
【請求項１６】
前記処理がさらに、
前記ユーザの目標を決定すること、
前記支援グループの会員の目標を決定すること、
を含み、
前記支援グループの種類に関する前記ユーザの選好が、前記ユーザの前記目標および前記支援グループの会員の目標に関係する、
請求項１５に記載の非一時的機械可読記憶媒体。
【請求項１７】
前記ユーザの目標がウェルネス目標である、
請求項１６に記載の非一時的機械可読記憶媒体。
【請求項１８】
前記基準は、前記複数の支援グループの各々がファシリテーションを有することであり、前記再編成することが、前記支援グループの少なくとも１人の会員を前記支援グループのファシリテータとして選択することを含む、
請求項１５に記載の非一時的機械可読記憶媒体。
【請求項１９】
前記支援グループの複数の会員のうち少なくとも１人の会員を前記支援グループのファシリテータとして選択することが、前記複数の支援グループに対する前記ユーザの参加レベルに基づく、
請求項１８に記載の非一時的機械可読記憶媒体。
【請求項２０】
前記支援グループの複数の会員のうち少なくとも１人の会員を前記支援グループのファシリテータとして選択することがさらに、前記支援グループの複数の会員の目標達成の成功率に基づく、
請求項１９に記載の非一時的機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが自分の目標を達成するのを支援するシステム、方法、及び非一時的機械可読記憶媒体に関する。
【背景技術】
【０００２】
人々の身体支援グループへの参加、またはその充分な利用を妨げる様々な問題が存在する。そのような問題は、グループが会合する時間がユーザのスケジュールに合わないこと、会合の場所が（例えば移動量に基づいて）ユーザにとって不便であること、追い求める目標、目標達成への進展、または他の要因に関して参加者がユーザに適合しないことなどに関連する。さらに、既存のオンライン支援グループには、ユーザが身体支援グループで探し求めるものに近づけるファシリテーションの構造または手段が欠如している。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明は、ユーザが自分の目標を達成することを支援する支援グループを管理するシステム、方法、及び非一時的機械可読記憶媒体を提供することにある。
【課題を解決するための手段】
【０００４】
本発明の一側面はシステムである。当該システムは、少なくとも１つのプロセッサと、前記少なくとも１つのプロセッサによって実現されるモジュールとを備え、前記モジュールは、前記ユーザから支援グループへの加入要求を受信し、前記支援グループの種類に関する前記ユーザの選好を識別し、前記ユーザの選好および前記支援グループの会員の選好に基づいて、複数の支援グループの中から支援グループを選択し、前記ユーザによる前記支援グループに加入するオプションの受入れに基づいて、前記複数の支援グループを基準に基づき再編成するように構成されている。
【０００５】
本発明の他の側面は方法である。当該方法は、ユーザから支援グループへの加入要求を受信すること、前記支援グループの種類に関する前記ユーザの選好を識別すること、前記ユーザの選好および前記支援グループの会員の選好に基づいて、複数の支援グループの中から支援グループを選択すること、前記ユーザによる前記支援グループに加入するオプションの受入れに基づいて、前記複数の支援グループを基準に基づき再編成することを備え、前記再編成することがプロセッサによって実行される。
【０００６】
本発明の更なる側面は非一時的機械可読記憶媒体である。当該記憶媒体は、少なくとも１つのプロセッサによって実行されたとき前記少なくとも１つのプロセッサに処理を実行させる１組の命令を格納する。当該処理は、ユーザから支援グループへの加入要求を受信すること、前記支援グループの種類に関する前記ユーザの選好を識別すること、前記ユーザの選好および前記支援グループの会員の選好に基づいて、複数の支援グループの中から支援グループを選択すること、前記ユーザによる前記支援グループに加入するオプションの受入れに基づいて、前記複数の支援グループを基準に基づき再編成すること、を含み、前記再編成することがプロセッサによって実行される。
【図面の簡単な説明】
【０００７】
【図１】種々の例示的実施形態を展開することのできるクライアント‐サーバシステムを表すネットワーク図である。
【図２Ａ】クライアントアプリケーション１１２の例示的モジュールを示すブロック図である。
【図２Ｂ】図１のサーバアプリケーション１２２の例示的モジュールを示すブロック図である。グループモジュール２５２は、支援グループの形成、再編成、または除去を含め、オンライン支援グループを管理するように構成することができる。
【図３】ユーザがオンライン支援グループに加入することを可能にする方法３００の例示的処理を示すフローチャートである。
【図４】ユーザからのオンライン支援グループへの加入要求を処理する方法４００の例示的処理を示すフローチャートである。
【図５】オンライン支援グループの会員間の積極的な対話を助長する方法５００の例示的処理を示すフローチャートである。
【図６】オンライン支援グループのダイナミックスを向上するようにファシリテーションを使用する方法６００の例示的処理を示すフローチャートである。
【図７】ユーザがオンライン支援グループと対話することを可能にするユーザインタフェース例のスクリーンショットである。
【図８】ユーザがオンライン支援グループと対話することを可能にするユーザインタフェース例のスクリーンショットである。
【図９】ユーザがオンライン支援グループと対話することを可能にするユーザインタフェース例のスクリーンショットである。
【図１０】ユーザがオンライン支援グループと対話することを可能にするユーザインタフェース例のスクリーンショットである。
【図１１】ユーザがオンライン支援グループと対話することを可能にするユーザインタフェース例のスクリーンショットである。
【図１２】ユーザがオンライン支援グループと対話することを可能にするユーザインタフェース例のスクリーンショットである。
【図１３】ユーザがオンライン支援グループと対話することを可能にするユーザインタフェース例のスクリーンショットである。
【図１４】ユーザがオンライン支援グループと対話することを可能にするユーザインタフェース例のスクリーンショットである。
【図１５】ユーザがオンライン支援グループと対話することを可能にするユーザインタフェース例のスクリーンショットである。
【図１６】ユーザがオンライン支援グループと対話することを可能にするユーザインタフェース例のスクリーンショットである。
【図１７】ユーザがオンライン支援グループと対話することを可能にするユーザインタフェース例のスクリーンショットである。
【図１８】ユーザがオンライン支援グループと対話することを可能にするユーザインタフェース例のスクリーンショットである。
【図１９】本明細書で説明する方法のいずれか１つ以上を機械に実行させるための命令を実行することのできるコンピュータシステムの例示的形態における機械のブロック図である。
【発明を実施するための形態】
【０００８】
以下、本発明の種々の実施形態についての理解をもたらすために、説明を目的として、多くの特定の態様を明記する。しかし、種々の実施形態をこれらの特定の態様なしに実施することは当業者には明らかである。
【０００９】
種々の実施形態において、ユーザが自分の目標を達成するのを助ける方法を開示する。当該方法は、オンライン支援グループを形成すること、ユーザのためのオンライン支援グループを選択すること、およびユーザがオンライン支援グループと対話し、オンライン支援グループのファシリテーションを提供し、オンライン支援グループのファシリテーションを受信することを可能にするメカニズムを提供することを含む。種々の実施形態では、処理はクライアントまたはサーバで行われ、一部は人間によって実行され、一部は自動的にまたはアルゴリズムによる誘導で自動的に実行される。この説明では、クライアント−サーバスプリットの１つの例示的実施形態を提示する。
【００１０】
種々の実施形態において、ウェルネスアプリケーションのユーザのためのオンライン支援グループは、ユーザが支援グループのダイナミックスにいかによく適合しそうであるか、ユーザの目標（例えば体重減少目標のようなウェルネス目標）が支援グループの他のユーザの目標にいかに近いか、ユーザの属性または選好がグループの会員の属性および選好にいかに近いか等々のような、種々の基準に基づいて選択することができる。
【００１１】
種々の実施形態において、グループ会員は、支援グループのファシリテータになるように、または支援グループのファシリテータになるための訓練に参加するように選択されることがあり、ファシリテータになる会員は（例えば、他の支援グループの会員による有効性の判定や参加レベル等のような種々の基準に基づいて、または非ファシリテータの支援グループを選択するために使用される基準などのような他の基準に基づいて）自分自身の支援グループまたは他の支援グループのファシリテータになるように選択されることがある。
【００１２】
種々の実施形態において、支援グループは、グループサイズ、グループ会員に対するファシリテータの比率、グループ会員のファシリテータへの昇格、ファシリテータのグループ会員への降格、（例えば適合性に基づく）グループ間のグループ会員の自動的または自発的移動、ユーザの目標、選好、または属性の変化等々のような種々の基準に基づいて、再編成することができる。
【００１３】
本明細書に開示する方法および種々の実施形態は、１つ以上のモジュール（例えばハードウェアモジュールまたはソフトウェアモジュール）を有するコンピュータシステムとして実現することができる。本明細書に開示する方法および種々の実施形態は、機械可読媒体に格納され、プロセッサによって実行されたときに、プロセッサに当該方法を実行させる命令として具現することができる。
【００１４】
図１は、種々の例示的実施形態を展開することのできるシステム１００を表すネットワーク図である。システム１００はサーバマシン１２０を含む。サーバアプリケーション１２２は、１つ以上のクライアントマシン１１０で実行される１つ以上のクライアントアプリケーション１１２に、（例えばネットワーク１０２を介して）サーバ側機能を提供することができる。クライアントマシン１１０の例として、ウェアラブルコンピューティング装置をはじめとする携帯装置が挙げられる。携帯装置は、持ち歩くことのできる任意の装置とすることができる。携帯装置の例として、ラップトップコンピュータ、タブレットコンピュータ（例えばｉＰａｄ（登録商標））、携帯電話またはスマートフォン（例えばｉＰｈｏｎｅ（登録商標））等々がある。ウェアラブルコンピューティング装置は、装着することのできる任意のコンピューティング装置とすることができる。ウェアラブルコンピューティング装置の例として、スマートウォッチ（例えばＰｅｂｂｌｅ  Ｅ‐Ｐａｐｅｒ  Ｗａｔｃｈ（登録商標））、拡張現実ヘッドマウントディスプレイ（例えばＧｏｏｇｌｅ  Ｇｌａｓｓ（登録商標））等々がある。そのような装置は、ユーザによるハンズフリー操作を支援するために自然言語認識を使用することができる。
【００１５】
種々の実施形態において、クライアントアプリケーションは、ウェブブラウザ（例えば米国ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎによって開発されたＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（登録商標）ブラウザのようなブラウザ）、ネイティブアプリケーション（例えばアンドロイド、ウィンドウズ（登録商標）、またはｉＯＳ（登録商標）のような装置のオペレーティングシステムによってサポートされるアプリケーション）、または他のアプリケーションを含むことができる。１つ以上のクライアントの各々が、より大きいシステムに特定のサービスまたは特徴を追加するモジュール（例えばプラグイン、アドイン、またはマクロ）を含むことができる。種々の実施形態において、ネットワーク１０２は、インターネット、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）の１つ以上を含む。
【００１６】
サーバアプリケーション１２２は、１つ以上のアプリケーションサーバにそれぞれプログラマチックまたはウェブインタフェースを提供するように構成されたＡＰＩサーバまたはウェブサーバを含むことができる。アプリケーションサーバは１つ以上のサーバアプリケーション１２２を提供することができる。アプリケーションサーバは次に、１つ以上のデータベースまたはＮｏＳＱＬすなわちノンリレーショナルデータストアへのアクセスを容易にする、１つ以上のデータサービスおよび／またはデータベースサーバに接続することができる。そのようなデータベースまたはデータストアは、データベース１３０を含むことができる。種々の実施形態において、データベース１３０は、ウェルネスシステム情報のユーザによって提供されたか、そうでなければウェルネスシステムのユーザについて決定された情報を含む。
【００１７】
そのような情報は、（例えばユーザによる食事の記録に基づく）ユーザが食した食事に関する情報、（例えば支援グループの文脈における）ユーザと他のユーザとの構造化されていない対話、ユーザと他のユーザとの構造化された対話（例えば、人が何回「ハイタッチ」をしたか、または受けたか）、ユーザがどれだけ一貫して良い習慣性行動を取ったか（例えばユーザが連続して何回の食事を記録したか、またはユーザが今日何回の食事を記録したか）、ユーザの属性（例えば性別、年齢、身長、体重等々）、ユーザの目標（例えば開始体重および目標体重に基づく体重減少目標）、ユーザの選好（例えばユーザが加入することに関心を持つ支援グループの種類、またはユーザが支援グループのファシリテータになることに関心があるか否か）、連絡先情報（例えば電子メールアドレス、自宅の住所、電話番号等々）、ユーザが他のユーザと共有することを希望する情報等々を含むことができる。
【００１８】
サーバアプリケーション１２２は、サーバマシン１２０にアクセスしたユーザに多くの機能およびサービスを提供することができる。図１では、サーバアプリケーション１２２はサーバマシン１２０に含まれるように示されているが、代替的実施形態では、サーバアプリケーション２１０は、サーバマシン１２０とは別個の異なるサービスの一部を形成することができる。
【００１９】
さらに、図１に示すシステム１００はクライアント−サーバアーキテクチャを使用するが、種々の実施形態は言うまでもなくそのようなアーキテクチャに限定されず、例えば分散型またはピアツーピアアーキテクチャシステムでも同等に適用することができる。種々のアプリケーションは、必ずしもコンピュータネットワーキング能力を持たないスタンドアロンソフトウェアプログラムとして実装することもできる。加えて、図１には示さないが、クライアントマシン１１０およびサーバマシン１２０を複数の追加的ネットワークシステムに接続することができることを当業者は容易に理解し得る。
【００２０】
図２Ａは、クライアントアプリケーション１１２の例示的モジュールを示すブロック図である。ユーザインタフェースモジュール２０２は、携帯装置のようなユーザのクライアントマシンにサーバアプリケーション１２２に関連するユーザインタフェースを提示するように構成することができる。例えばユーザインタフェースモジュール２０２は、図７〜図１８に示すユーザインタフェーススクリーンのいずれかを提示するように構成することができる。サーバ通信モジュール２０４は、サーバアプリケーション１２２と通信の送受信を行うように構成することができる。
【００２１】
図２Ｂは、図１のサーバアプリケーション１２２の例示的モジュールを示すブロック図である。グループモジュール２５２は、支援グループの形成、再編成、または除去をはじめ、オンライン支援グループを管理するように構成することができる。
【００２２】
ファシリテーションモジュール２５４は、ファシリテータを務めるかあるいはファシリテータとしての訓練を受けるグループ会員の推薦、そのような訓練の提供、グループ会員のファシリテータへの昇格、ファシリテータのグループ会員への降格、グループ会員によるファシリテータの民主的な選挙、ファシリテータが所属するグループ以外のグループを含め、特定のグループのための適格ファシリテータの選出等々をはじめ、オンライン支援グループのファシリテーションを管理するように構成することができる。
【００２３】
対話モジュール２５６は、後でさらに詳述するように、支援グループの文脈内で構造化された対話または構造化されていない対話を含め、ウェルネスシステムのユーザ間の対話を管理するように構成することができる。さらに、対話モジュール２５６はグループ会員間の匿名の対話をサポートするように構成することができる（例えば、支援グループの会員が（例えばアルコール中毒者更生会のように）その匿名性を維持することを容認しながら会員が通信することを可能にする）。
【００２４】
クライアント通信モジュール２５８は、クライアントアプリケーション１１２との通信の送受信を行うように構成することができる。
図３は、ユーザがオンライン支援グループに加入することを可能にする方法３００の例示的処理を示すフローチャートである。種々の実施形態において、方法３００は、１つ以上のクライアントアプリケーション１１２によって実現することができる。処理３０２で、ユーザインタフェースモジュール２０２は、ユーザからのオンライン支援グループへの加入要求を受信することができる。例えばユーザインタフェースモジュール２０２は、ユーザがユーザインタフェース要素（例えば図１０に示す「開始」ボタン）をクリックしたことを検出することができる。種々の実施形態において、要求は、ユーザが加入したいオンライン支援グループの種類に関してユーザの１つ以上の選好を含むことができる。例えば、要求は、ユーザがユーザの年齢、所在地、性別、体重目標、または他の選好の１つ以上に関してユーザに類似した会員を有するオンライン支援グループに加入したい旨を示すことができる。例えば、要求は、（例えば図１２に示すユーザインタフェースを介して）ユーザから受信した入力に基づいて生成することができる。種々の実施形態において、要求は、ユーザが特定の選好を持たないこと、またはユーザのためにどのオンライン支援グループが選択されるかに関して、ユーザが「幸運に恵まれる」ことを希望していることを示すことができる。種々の実施形態において、ユーザは、ユーザがどのグループに加入することを好むかを指定するためのオプションを提供されないことがある。代わりに、グループは、本明細書に記載する種々の要因（例えばクライアントアプリケーション内のユーザの行動、ユーザによってユーザプロフィールに提供された情報等々）に基づいて、ユーザに対し自動的に選択されることができる。
【００２５】
処理３０４で、サーバ通信モジュール２０４は１つ以上の通信をサーバアプリケーション１２２に送信することができる。例えば、サーバ通信モジュール２０４は、要求、要求を送信するユーザの身元確認、および要求に関するユーザの選好を送信することができる。
【００２６】
処理３０６で、サーバ通信モジュール２０４は、要求への応答をサーバアプリケーション１２２から受信することができる。応答は、ユーザに対して選択されたオンライン支援グループについての情報を含むことができる。種々の実施形態において、オンライン支援グループは、後でさらに詳述するように、ユーザから受信した情報またはユーザについて決定された情報、要求にある情報、およびユーザの選好についての情報に基づいて、ユーザに対して選択される。
【００２７】
処理３０８で、ユーザインタフェースモジュール２０２は、選択されたオンライン支援グループについての情報の少なくとも一部分をユーザに提示することができる。例えば、ユーザに対し、グループの現在の会員をはじめとするグループについての情報を提供することができる。グループの会員についての情報は、グループの会員によって提出されたプロフィールデータを含むことができる。プロフィールデータは写真、自己紹介、またはユーザが自分自身について共有する他のデータを含むことができる。種々の実施形態において、情報は、後でさらに詳述するように、各会員の目標および各会員の目標の達成に向けての進展についての情報を含むことができる。種々の実施形態において、支援グループが匿名の支援グループとして運営することができるように、ユーザの実際の身元は開示されない。代替的に、支援グループの会員の身元を他の会員に開示することもできる。
【００２８】
種々の実施形態において、支援グループが匿名であるか否かは、設定オプションによって管理することができる。種々の実施形態において、設定オプションは、グループの管理者またはファシリテータによって設定することができる。種々の実施形態において、支援グループが匿名であるか否かは、ユーザに対しグループを選択するための基準とすることができる。換言すると、ユーザは、匿名の支援グループに加入したいか否かを指定することができ、次いで、ユーザの指定に基づいて、ユーザのためのオンライン支援グループを選択することができる。グループについての情報をユーザに提示することのできる例示的ユーザインタフェースを、図１８に示す。
【００２９】
種々の実施形態において、ユーザインタフェースモジュール２０２はさらに、グループに加入するためのオプションをユーザに提示することができる。種々の実施形態において、異なるグループまたは１つ以上の追加グループに加入するための加入の流れを再び完了するように、ユーザにオプションを提供することができる。
【００３０】
図４は、ユーザからのオンライン支援グループへの加入要求を処理する方法４００の例示的処理を示すフローチャートである。種々の実施形態において、方法４００は１つ以上のサーバアプリケーション１２２によって実現することができる。
【００３１】
処理４０２で、クライアント通信モジュール２５８は、ユーザから支援グループ加入要求を受信することができる。
処理４０４で、クライアント通信モジュール２５８は、ユーザの身元確認、ユーザの選好等々のような、要求に関係する情報を受信することができる。例えば情報は、ユーザがユーザの年齢、所在地、性別、体重目標、または他の選好の１つ以上に関してユーザに類似した会員を有するオンライン支援グループへの加入を希望しているという指定を含むことができる。種々の実施形態において、そのような追加情報は、処理４０２で受信する要求に含めることができる。
【００３２】
処理４０６で、グループモジュール２５２はユーザのための支援グループを選択することができる。種々の実施形態において、グループモジュール２５２は、ユーザによって提供されたユーザについての情報（例えばユーザによるパブリックポスティング、ユーザによって提供されたプロフィールデータ等々）、またはウェルネスシステムによって（例えば検索データ、ユーザ行動データ等々に基づいて）決定されたユーザについての情報に基づいて選択を行うことができる。種々の実施形態において、グループモジュール２５２は、年齢、身長、体重、所在地、性別、目標（例えば目標体重）の類似性、目標に向けての進展（例えば開始体重に基づき目標体重に対しすでに達成された進展の百分率）、グループ参加レベル等々のような、ユーザについての情報と既存のグループの組の他のユーザについての情報との間の類似性に基づいて選択を行うことができる。種々の実施形態において、グループモジュール２５２は、ユーザにとって重要な類似性に関するユーザの選好、またはそのような類似性に関する既存のグループの現在の会員の選好に基づいて選択を行うことができる。
【００３３】
処理４０８で、グループモジュール２５２は、支援グループの現在の組を改変することができる。例えばグループモジュール２５２は新しいグループを形成することができる。あるいはグループモジュール２５２は、既存のグループの現在の会員を異なるグループに移動させることができる。あるいはグループモジュール２５２はグループを除去し、そのグループの現在の会員の全員を異なるグループに移動させることができる。種々の実施形態において、グループモジュール２５２は、ユーザに対する選択されたグループへの加入の招待の受入れに基づいて、グループを改変することができる。例えば、ユーザが既存のグループに加入する結果、グループのサイズがサイズ閾値を超えることに基づいて、グループモジュール２５２はグループを２つの異なるグループに分けることができる。あるいは、既存のグループの会員が新しいグループに移動する結果、既存のグループのサイズがサイズ閾値未満に低下することに基づいて、グループモジュール２５２はグループを除去し、残りの会員を異なるグループに移動させることができる。
【００３４】
種々の実施形態において、グループモジュール２５２は、ユーザ属性、選好、またはグループダイナミックスの変化に対応するように、支援グループを改変する。こうして、新しいユーザが支援グループに参加するか、あるいは既存のユーザが支援グループの間で移動し、目標を変更し、ウェルネスシステム内の活動が増減する等々につれて、グループモジュール２５２は、類似性、選好、および参加レベルをはじめとする種々の最適化基準に基づいて、ユーザを団結させるようにグループを最適化する。最適化の成功は、グループダイナミックスに対するユーザの満足度、グループ会員の参加レベル、ユーザの目標達成の成功率等々のような種々の測定基準に基づくことができる。こうして、新しい情報がウェルネスシステムによって受信または収集されるにつれて、支援グループをダイナミックに改変することができる。
【００３５】
種々の実施形態において、グループモジュール２５２は、個々の会員情報、個々のグループ情報、および特定の会員がどのグループに属しどんな役割を果たしているかについての情報を格納する永続層を管理する。この永続層は、ストレージのＡＣＩＤ特性を保証するために、商用ＳＱＬまたはｎｏＳＱＬデータベースを用いて実現することができる。
【００３６】
種々の実施形態において、グループモジュール２５２は、永続層から選択されるがダイナミックグループクラスタ化／検索プロセスを容易化するように配置された情報が入っているキャッシュ層を含む。例えばどの会員がどのグループに属するかについての情報、グループの活動および個々の会員の活動についての主要統計は、高速クエリを容易化するためにメモリに格納される。数十万のグループにわたって数百万人もの会員が存在することがあり得、かつクラスタ化は迅速かつ頻繁に行わなければならないので、そのようなキャッシュ層はシステム性能を著しく高めることができる。
【００３７】
種々の実施形態において、グループおよび他のグループの改変のマージは、加重された暗黙的変数および明示的変数に基づいて、ユーザには見えないように実行することができる。会員は、現在のグループクラスタ化の性能を含め、変数の再計算または再加重に基づいて、新しいグループまたはクラスタに自動的に移動することができる。
【００３８】
マージは、アプリケーションの使用中または加入時にプロンプトに応答してユーザによって提供された、年齢、性別、体型指数（ＢＭＩ）、体重減少目標、時間帯、および／もしくは生活特性、例えば結婚しているか、交際相手がいるか、それとも独身か、性的傾向、子供の数、所属宗教、日課、様々な種類の交通の利用、食事選好（例えば菜食主義、完全菜食主義等）、運動習慣、運動選好、体型指数（ＢＭＩ）履歴をはじめとする明示的変数、またはグループを探すときにユーザが提供するキーワードによって誘導することができる。
【００３９】
マージはまた、暗黙的変数（例えばユーザの活動をモニタリングすることによって収集されたデータ）、例えばアプリケーション内での活動レベル（例えば１ヶ月／１週間／１日当たりのセッション回数、１セッション当たりの分数、１セッション当たりのアクション回数）、身体的活動レベル（例えば、１日当たりの歩数、１時限当たりに記録された運動）、身体的活動の種類（例えば特定の種類の運動を記録した人）、記録された食物の種類、食した食物の健全さ、または記録習慣（例えば記録頻度）によって誘導することもできる。考慮される他の属性として、ユーザの所在地、時間帯、クライアント装置のオペレーティングシステム等々が挙げられる。
【００４０】
マージは、影響を受けるユーザおよびファシリテータの全員または一部分との通信を伴い、マージ処理によってなぜ経験が改善されるかについての説明の有無に関係なく、グループを再構成する許可を潜在的に求めることができる。
【００４１】
図５は、オンライン支援グループの会員間の積極的対話を助長する方法５００の例示的処理を示すフローチャートである。種々の実施形態において、方法５００は１つ以上のサーバアプリケーション１２２によって実現することができる。処理５０２で、グループモジュール２５２は、オンライン支援グループの会員の健康目標を決定することができる。例えばグループモジュール２５２は、ユーザが特定の目標体重の達成を希望していることを決定することができる。あるいはグループモジュール２５２は、ユーザが特定のフィットネスレベルの達成を希望していることを決定することができる。あるいはグループモジュール２５２は、ユーザが特定の食事療法の目標を持っていることを決定することができる。
【００４２】
処理５０４で、グループモジュール２５２は、健康目標の達成に向けてのユーザの進展に関する情報を収集する。例えばグループモジュール２５２は、開始体重に基づいてユーザが目標体重の達成に向けて特定量の進展を果たしたことを決定することができる。あるいはグループモジュール２５２は、ユーザが連続して特定回数の食事を記録したことを決定することができる。あるいはグループモジュール２５２は、ユーザが今日特定回数の食事を記録したことを決定することができる。あるいはグループモジュール２５２は、ユーザが下位目標を達成した（例えば、３０分のウォーキング、ウェートリフティング等々の課題を何日も連続して実行したこと）を決定することができる。
【００４３】
処理５０６で、グループモジュールは、ユーザのオンライン支援グループの他の会員の各々に対するユーザの進展に関する情報の一部分を選択する。例えばグループモジュール２５２は、ユーザがグループの激励により最も大きく利益を受けそうな特定の下位目標を選択する。グループモジュール２５２は、ユーザが過去に下位目標を達成したときの行動パターンのような、種々の選択基準に基づいて特定の下位目標を選択することができる。
【００４４】
処理５０８で、対話モジュール２５６は、ユーザの進展に関する情報の選択された一部分に基づいて、ユーザに正の強化をもたらすオプションを会員の各々に提供することができる。例えば対話モジュール２５６は、正の強化（例えば図９に示すように「ハイタッチ」）をもたらすようにグループの会員の各々のためのオプションを含み、グループの会員の各々に提示されるコンテンツページを生成することができる。次いで、対話モジュール２５６は、（例えばユーザの携帯装置でユーザに提示するために）クライアントアプリケーション１１２に、（例えばクライアント通信モジュール２５８を介して）このコンテンツページを通信することができる。さらに、対話モジュール２５６は、ユーザのグループの会員から受信したそのような正の強化をユーザに通信することができる。支援グループからの正の強化の受信は、目標または下位目標を達成する意欲をユーザに起こさせるのに役立つ。
【００４５】
種々の実施形態において、対話モジュール２５６はグループ会員に他のグループ会員との非構造化、半構造化、および構造化された対話の機会をもたらす。半構造化グループ対話の例として、（例えばグループファシリテータのような人によって企画される）質問に回答することにより自己紹介するための新会員の募集案内、グループに加入するように特定の会員（例えば友人または家族会員）を招待する選択肢等々を挙げることができる。非構造化グループアクションの例として、（例えば図１２に示すように）構造化されていない形で情報を共有するオプションを挙げることができる。種々の実施形態において、ユーザは自由形式のテキストコメントを共有することができる。他のユーザは、これらおよび他の種類のメッセージをコメントすることができる。成功談を様々な形（例えばテキスト、写真、絵画、音声、静止グラフィックアート、動画グラフィックアート、映像、注釈付きメディア等）で投稿するようにユーザを促すことができる。
【００４６】
構造化されたデータの例として、会員の連続的に記録された食事の回数を示すことを挙げることができる。回数は、ユーザのプロフィールデータ（例えばユーザのユーザ名）と共に表示することができる。グループ会員には、その連続記録についてハイタッチするかコメントするオプションを提供することができる。システムはさらに、食事の内容またはこの人が消費している食事の平均健全さ、目標に向けての進展等々を強調表示することができる。グループ会員は互いの進展を見ることができ、進展指標は良い習慣を形成するように設計される。そのような進展指標は、食事記録のような連続的課題遂行を報奨する。種々の実施形態において、ほとんどまたは全ての進展は、連続性が中断したとき（例えば１回の食事が記録されないとき）に失われることがある。種々の実施形態において、各個人のパターン／行動／下位目標のポイントは、単一のポイントシステムに統一されずに、別々に維持される。このようにして、ポイントシステムに関連付けられる特定の負の側面、例えば報奨を行うという特定の心理的問題の導入は、活動においてあまり内発的ではないようであり、軽減または回避することができる。こうして、進展指標は各種のパターン／行動の別々の追跡を言及することができる。
【００４７】
種々の実施形態において、フィード内のデータの少なくとも一部は、（例えば、グループ行動を最適化するために自動ツール内での使用を簡素化するべく）構造化データから引き出すことができる。例えば個々の活動（例えば特定の食事の記録、記録された食事もしくは運動の回数、または記録された食物の種類）は自動的に共有することができ、あるいはこれらを共有するようにユーザを招待することができる。別の実施例では、自動的または明示的共有のため、様々な種類の活動について視覚的に魅力的な週１回の概要を自動的に作成することができる。
【００４８】
種々の実施形態において、システムは、効果的な習慣形成を導く行動を追跡し、積極的に強化する。実施例は１回も省くことなく（さぼりは一切認められない）毎日３回の食事を連続的に記録すること、毎日の最小限の運動量、週１回の連続計量、毎日の目標の連続的達成を含み、それらはパターンが破られたときにゼロにリセットされるか、さもなければ低減される。
【００４９】
種々の実施形態において、システムはまた、ウェルネス目標の達成に直接貢献する行動を強化する。実施例として、食事の特定の健全さ（例えば５日間で３回の健康な食事）を満たすことに対する進展指標の増加、または特定の食物（例えば今日２種類のスープ）の消費の進展指標が挙げられる。
【００５０】
種々の実施形態において、システムはさらに、グループの協力を報奨することによってグループダイナミックスを強化する。例えば、グループの全員が特定の食事またはその日の彼らの食事を全部記録したときに、グループを報奨することができる。別の実施例として、グループが９５％の参加および１００，０００歩の総計歩数目標を達成したときに、グループを報奨することができる。
【００５１】
種々の実施形態において、システムはさらに、目標の評価指標（例えばグループで記録される総食事数）を他のグループに公開し、かつこれらの評価指標に基づくグループのグローバル／ローカルランキングを示すことにより、仮想グループを互いに友好的な競争に参加させることによって、グループダイナミックスを強化することができる。
【００５２】
種々の実施形態において、会員フィードバックメカニズムは同様に、グループ会員からの正のフィードバックを重視し、グループ会員からの負のフィードバックを重視しない。これは大部分が正の強化（仲間の圧力）として働き、ユーザが目標に到達するのを助ける。
【００５３】
種々の実施形態において、下位目標の周期性、リズム（cadence）、および難易度は、習慣化するように最適に選択することができ、報奨は、ユーザが、選択されたリズムで下位目標を達成する能力に基づくことができる。行動が早く習慣化するための最適リズムは、いつでも特定の刺激が提示されたときに同じ行動とすることができ、内発的可変報奨は目標行動の直後に行われる。例えば全ての主要な食事（朝食、昼食、夕食）をその食事の終了直後に記録し、その後まもなくグループから可変数のハイタッチを受け取る。したがって、リズムは環境における潜在的刺激の頻度に基づいて選択される。
【００５４】
種々の実施形態において、リズムを超えると、習慣自体の各段階は課題がより高度になり、例えばユーザは記録する各食事のときに写真を撮影する課題が与えられる。リズムおよび難易度は、目標の達成にぎりぎり成功することに貢献するユーザ限界値となるように調整される。グループ会員は互いに他人の失敗を見ることができる（例えば食事を記録し損なうこと、運動をし損ねる等）。
【００５５】
図６は、ファシリテーションを使用してオンライン支援グループのダイナミックスを向上する方法６００の例示的処理を示すフローチャートである。種々の実施形態において、方法６００は、１つ以上のサーバアプリケーション１２２によって実現することができる。処理６０２で、グループモジュール２５２は、グループ会員の参加レベル、グループ会員の満足度スコア、ユーザの目標達成の成功率、グループのファシリテータの経験レベル、グループのファシリテータに対するユーザの満足度等々のような、種々の基準に基づいて１組の既存の支援グループを解析する。
【００５６】
処理６０４で、ファシリテーションモジュール２５４は、グループの会員の一部分を、彼らの現在のグループまたは別のグループのグループファシリテータを務める候補として選択する。例えばファシリテーションモジュール２５４は、グループの他の会員より高いユーザの参加レベルに基づいて、グループファシリテータを務める候補としてユーザを選択することができる。あるいはファシリテーションモジュール２５４は、ユーザの目標達成の成功率が他のユーザより高いことに基づいて、ユーザを選択することができる。あるいはファシリテーションモジュール２５４は、システムに対するユーザの経験レベルに基づいてユーザを選択することができる。
【００５７】
処理６０６で、ファシリテーションモジュール２５４は、グループの会員に１人以上のファシリテータ候補者を民主的に選出させる。候補者はグループの現在のファシリテータおよび処理６０４で選択された１人以上のグループ会員を含むことができる。
【００５８】
処理６０８で、ファシリテーションモジュール２５４は、グループファシリテータの選出に基づいてグループを再構成する。例えば、民主的に選出されたファシリテータが在任中のファシリテータに取って代わる場合、在任中のファシリテータに対し、別のグループのファシリテータになるオプションを提供することができる。あるいは、ファシリテータを務める複数の候補会員の強い人気を示唆する投票に基づいて、複数のグループ会員の１人以上に対し、異なるグループのファシリテータになるオプションを提供することができる。種々の実施形態において、ファシリテータのための異なるグループは、強力なファシリテータのいない異なるグループに基づいて（例えばグループ会員の目標または他の基準を達成する彼らの成功率に基づいて）、または新しい会員のためのグループを選択するために使用される基準のいずれかに基づいて、選択することができる。
【００５９】
種々の実施形態において、ファシリテーションモジュール２５４は、選ばれたグループ会員にグループファシリテーションに関する訓練を受けるオプションを提供することができる。ファシリテーションモジュール２５４は次いで、訓練指示を提供し、かつ候補グループ会員のファシリテータを務める能力を評価することができる。種々の実施形態において、訓練、経験、人気、または他の要因の任意の組合せに基づいて、グループ会員はファシリテータを務めるように昇格することがあり、ファシリテータはファシリテータからグループ会員に降格することがある。
【００６０】
種々の実施形態において、ファシリテータはグループを管理し、グループの成功に対し追加責任を負う。そのような人がいることで、ファシリテータがいなければ生じ得る責任の分担が回避される。さらに、種々の技術レベルを持ち訓練を受けたファシリテータを有することは、ファシリテータの供給を高め、したがって彼らのコストを低減することができる。
【００６１】
会員はファシリテータを投票で選ぶことができ、あるいは過去の成績および表明されたファシリテーションの好みに基づいて、システムにより自動的に選択することができる。次いで会員は、多数決、複数投票、または加重投票により、ファシリテータを辞めさせることを選択することができる。次に新しいファシリテータはグループ会員によって明示的に選出されるか、あるいはシステムによって指名される。
【００６２】
ファシリテータは、グループの他の会員と比較して特別な権限を有することができる。これらの特別な権限は、人々をグループから追い出すこと、人々をグループに勧誘すること、グループ会員による功績に対し特定の報奨を与えること、グループの全会員にメッセージを同報通信すること等々を含むことができる。ファシリテータは、会員による体重減少の量のような、他のグループ会員が見ることのできないグループ会員についての追加的準個人情報にアクセスすることができる。
【００６３】
ファシリテータは、最高可能なレベルのグループ参加、グループ会員の満足度等を確実にする責任がある。ファシリテータは、グループに積極的に参加し、コンテンツを投稿し、あるいはシステムによって自動的にファシリテータに提案されたコンテンツを再投稿することによって、これらの責任を果たす。
【００６４】
システムは、（例えばウェルネスシステムを展開する会社の従業員によって提供される）ヒューマンコーチングにより支援される、自動的に配信される教育的コンテンツの形で（電子メール、アプリ内、またはウェブベースで）ファシリテータに追加訓練を提供することができる、
システムはさらに、不正または非活動的会員管理のようなサーバ側手段を介して、ファシリテータを支援することができる。
【００６５】
ファシリテーションモジュール２５４はファシリテータの事務管理を可能にし、それによってファシリテータを報奨し、再選し、移動させ、投票で辞めさせ、あるいはコーチングに選ぶことができる。ファシリテータは、グループ評価指数に基づいて、例えば会員の参加レベル（平均、最小量、参加頻度、参加の型および多様性）、会員の目標達成に向けての進展（計量の完了、体重減少、食事の記録、運動の記録）、会員の満足度（会員のウェルネスシステム、そのグループ、およびそのファシリテータとの経験、会員の平均幸福度、最小限の満足度閾値または満足度スコアの低い人数の限度を超える特定数の会員について、調査、面接、または他の手段により判定された定量的および定性的満足度）に基づいて評価される。ファシリテータの格付けに基づいて、ファシリテータはコーチングを受けることを選択することができ、あるいは強力な実績に対し報奨を受けることができる。
【００６６】
図７は、下位目標の達成に向けての進展を記録しかつ同じ下位目標に関する他のグループ会員の進展を見るための例示的ユーザインタフェースのスクリーンショットである。種々の実施形態において、ユーザインタフェースはユーザインタフェースモジュール２０２によって提示することができる。図７に示すように、オンライン支援グループの各会員の下位目標の達成（例えば夕食のような食事を記録すること）に向けた進展は、視覚的な形式で提示することができる。例えば、会員の写真は下位目標を表すユーザインタフェース要素に表示することができる。下位目標（例えばその日の朝食、昼食、および夕食を記録すること）に関連する全ての下位目標を達成したグループ会員は、その名前の横にチェックマークを付けることができる。全ての下位目標を部分的に達成したグループ会員は、その名前の横に、各々のグループ会員が関連する下位目標を幾つ達成したかを示す数字を付けることができる（例えば「２」は、朝食と夕食を記録するなど、グループ会員が関連する下位目標の２つを達成したことを表す）。種々の実施形態において、ユーザインタフェースは、目標が達成されるおおよその時間に対応する時間に基づいて提示される。こうして、図７に示すユーザインタフェースは、グループ会員が夕食を記録するという彼らの下位目標を達成することが予想される夕食時間頃に提示することができる。
【００６７】
図８は、グループ会員間の非構造化通信を可能にするための例示的ユーザインタフェースのスクリーンショットである。種々の実施形態において、グループ会員は、目標に関する写真のような写真を共有することができる。例えばグループ会員は、彼らが後で記録する食事の写真を共有することができる。種々の実施形態において、グループ会員は他のグループ会員による投稿に応答することができる。
【００６８】
図９は、グループ会員間の構造化通信を可能にする例示的ユーザインタフェースのスクリーンショットである。図９に示すように、グループ会員は別のグループ会員の目標または下位目標の達成に向けた進展を見ることができる。例えばグループ会員は、別のグループ会員の食事の記録付けに向けた進展を見ることができる。進展は、グループ会員が記録した連続した食事の回数だけでなく、グループ会員が今日記録した食事の回数も示すことができる。画面を見ているグループ会員は、下位目標を達成したグループ会員に（例えば「ハイタッチ」を与えることによって）正のフィードバックで応答することができる。加えて、画面を見ているグループ会員は、グループ会員が達成していない下位目標を達成するように、（例えば下位目標を達成するようにグループ会員への催促をトリガすることによって）グループ会員を激励することができる。加えて、画面を見ているグループ会員は、追加の激励をもたらすコメントのようなコメントを投稿することができる。
【００６９】
図１０は、オンライン支援グループに加入するための例示的ユーザインタフェースのスクリーンショットである。ユーザインタフェースは、オンライン支援グループに関する情報、例えばグループ仕組みをユーザに提供することができる。ユーザは次いで、ユーザがオンライン支援グループに加入することに関心があることを示すために、ユーザインタフェース要素（例えば「開始」ボタン）をクリックすることができる。
【００７０】
図１１は、グループ選好を指定するための例示的ユーザインタフェースのスクリーンショットである。ユーザインタフェースは、グループ会員がユーザと同様の年齢、所在地、体重目標、性別、または他の類似性を有するグループに加入したい旨をユーザが指定することを可能にする。加えて、ユーザは連絡情報（例えば電子メールアドレス）を指定することができる。
【００７１】
図１２は、図１１に示された例示的ユーザインタフェースの様々な欄が記入されたスクリーンショットである。ここで、ユーザは、グループの会員がユーザと同様の年齢、所在地、体重目標、および性別であるグループに加入したい旨を指定している。加えて、ユーザは、自分が父親になりたてであり、父親になりたての会員がいるグループに加入することに関心がある旨を指定している。
【００７２】
図１３は、ユーザがグループのファシリテータになることに関心があるか否かをユーザに指定させる例示的ユーザインタフェースのスクリーンショットである。
図１４は、グループの新しい会員がグループの他の会員に自己紹介することを可能にする例示的ユーザインタフェースのスクリーンショットである。種々の実施形態において、会員によって提供される情報は、グループの他の会員によって共有されるだけである。
【００７３】
図１５は、ユーザの性別、年齢、身長、現在の体重、開始体重、および目標体重のようなユーザに関するデータをユーザが確認することを可能にする、例示的ユーザインタフェースのスクリーンショットである。
【００７４】
図１６は、ユーザがグループに加入する前にユーザに免責事項を提示するための例示的ユーザインタフェースのスクリーンショットである。
図１７は、ユーザが加入を勧誘されたグループについての情報をユーザに提供するための例示的ユーザインタフェースのスクリーンショットである。種々の実施形態において、ユーザのために新しいグループを形成することができる。最終的に、ユーザのグループに加入する追加ユーザが選択される。
【００７５】
図１８は、グループの他の会員についての情報をユーザに提供するための例示的ユーザインタフェースのスクリーンショットである。種々の実施形態において、ユーザは、他のグループ会員についての情報、例えば彼らのウェルネス目標の達成に向けての進展などを見るために、他のグループ会員の写真を選択することができる。
【００７６】
特定の実施形態は本明細書で、ロジックまたは多数のコンポーネント、モジュール、またはメカニズムを含むものとして記載されている。モジュールは、ソフトウェアモジュール（例えば機械可読媒体もしくは伝送信号で具現されるコード）またはハードウェアモジュールのいずれかを構成することができる。ハードウェアモジュールは特定の処理を実行することのできる有形のユニットであり、特定の仕方で構成または配列することができる。例示的実施形態では、１つ以上のコンピュータシステム（例えばスタンドアロン、クライアント、もしくはサーバコンピュータシステム）またはコンピュータシステムの１つ以上のハードウェアモジュール（例えばプロセッサもしくはプロセッサ群）は、本明細書に記載する通り特定の処理を実行するように動作するハードウェアモジュールとして、ソフトウェア（例えばアプリケーションもしくはアプリケーション部分）によって構成することができる。
【００７７】
種々の実施形態において、ハードウェアモジュールは機械的にまたは電子的に実現することができる。例えばハードウェアモジュールは、特定の処理を実行するように（例えばフィールドプログラマブルゲートアレイ（ＦＰＧＡ）または特定用途向け集積回路（ＡＳＩＣ）のような専用プロセッサとして）永続的に構成された専用回路機構またはロジックを備えることができる。ハードウェアモジュールはまた、特定の処理を実行するようにソフトウェアによって一時的に構成された（例えば汎用プロセッサもしくは他のプログラマブルプロセッサ内に含まれる）プログラマブルロジックまたは回路機構を備えることもできる。ハードウェアモジュールを機械的に実現するか、専用の永続的に構成された回路機構にて実現するか、または（例えばソフトウェアによって構成される）一時的に構成された回路機構にて実現するかは、コストおよび時間を考慮することによって決定される。
【００７８】
したがって、用語「ハードウェアモジュール」とは、特定の方法で動作するように、および／または本明細書に記載する特定の処理を実行するように、物理的に構築され、永続的に構成され（例えば配線接続され）、あるいは一時的に構成された（例えばプログラムされた）実体であり、有形実体を含むものと理解すべきである。ハードウェアモジュールが一時的に構成された（例えばプログラムされた）実施形態を検討すると、どの瞬間においてもハードウェアモジュールの各々を構成し、あるいはインスタンス化する必要はない。例えばハードウェアモジュールがソフトウェアを用いて構成された汎用プロセッサを含む場合、汎用プロセッサは、異なる時間にそれぞれ異なるハードウェアモジュールとして構成することができる。したがって、ソフトウェアはプロセッサを、例えばある瞬間に特定のハードウェアモジュールになり、かつ異なる瞬間に異なるハードウェアモジュールになるように、構成することができる。
【００７９】
ハードウェアモジュールは他のハードウェアモジュールに情報を提供し、かつ他のハードウェアモジュールから情報を受け取ることができる。したがって、記載のハードウェアモジュールは、通信可能に接続されるとみなすことができる。複数のそのようなハードウェアモジュールが同時に存在する場合、通信は、ハードウェアモジュールを接続する（例えば適切な回路およびバスによる）信号伝送を通して達成することができる。複数のハードウェアモジュールが異なる時間に構成されあるいはインスタンス化される実施形態では、そのようなハードウェアモジュール間の通信は例えば、複数のハードウェアモジュールがアクセスすることのできるメモリ構造内における情報の格納および検索を介して達成することができる。例えば１つのハードウェアモジュールは演算を実行し、それが通信可能に接続されたメモリ装置内にその演算の出力を格納することができる。さらなるハードウェアモジュールは次いで、後の時間に、メモリ装置にアクセスして、格納された出力を検索しかつ処理することができる。ハードウェアモジュールはまた、入力装置または出力装置との通信を開始することもでき、リソース（例えば情報の集合）にアクセスすることができる。
【００８０】
本明細書に記載する例示的方法の種々の処理は、関連処理を実行するように（例えばソフトウェアによって）一時的に構成されるかあるいは永続的に構成された１つ以上のプロセッサによって、少なくとも部分的に実行することができる。一時的に構成されるか永続的に構成されるかにかかわらず、そのようなプロセッサは、１つ以上の処理または機能を実行するように動作するプロセッサ実現モジュールを構成することができる。本明細書で言及するモジュールは、一部の例示的実施形態では、プロセッサ実現モジュールを含むことができる。
【００８１】
同様に、本明細書に記載する方法は、少なくとも部分的にプロセッサで実現することができる。例えば、方法の処理の少なくとも一部は、１つ以上のプロセッサまたはプロセッサ実現モジュールによって実行することができる。幾つかの処理の実行は、単一の機械内に存在するだけでなく多数の機械で展開される１つ以上のプロセッサの間で分散することができる。一部の例示的実施形態では、単数または複数のプロセッサは、単一の場所に（例えば家庭環境内、オフィス環境内、またはサーバファームとして）位置することができる一方、他の実施形態では、プロセッサは多数の場所に分散することができる。
【００８２】
１つ以上のプロセッサはまた、「クラウドコンピューティング」環境における、または「サービス型ソフトウェア」（ＳａａＳ）としての、関連処理の実行をサポートするように動作することもできる。例えば、少なくとも一部の処理は、コンピュータ群（例としてプロセッサを含む機械群）によって実行することができ、これらの処理は、ネットワーク（例えばネットワーク１２０）を介して、かつ１つ以上の適切なインタフェース（例えばＡＰＩ）を介してアクセス可能である。
【００８３】
例示的実施形態は、デジタル電子回路機構に、またはコンピュータハードウェア、ファームウェア、ソフトウェア、もしくはそれらの組合せに実装することができる。例示的実施形態は、データ処理装置、例えばプログラマブルプロセッサ、コンピュータ、もしくは複数のコンピュータによって実行するためまたはそれらの動作を制御するためのコンピュータプログラム製品、例えば情報担体などの機械可読媒体に有形に具現されるコンピュータプログラムを用いて実現することができる。
【００８４】
コンピュータプログラムは、コンパイラ言語またはインタープリタ言語をはじめ、任意の形式のプログラミング言語で書くことができ、それは任意の形で、例えばスタンドアロンプログラムとして、またはモジュール、サブルーチン、もしくはコンピューティング環境で使用するのに適した他のユニットとして、展開することができる。コンピュータプログラムは、１つのコンピュータで、または１つのサイトの複数のコンピュータで、または複数のサイトに分散されかつ通信ネットワークによって相互接続された複数のコンピュータで実行するように展開することができる。
【００８５】
例示的実施形態において、処理は１つ以上のプログラマブルプロセッサによって実行することが可能であり、このプロセッサは、コンピュータプログラムを実行して入力データを処理し、出力を生成することによって機能を果たす。方法の処理は専用論理回路機構（例えばＦＰＧＡまたはＡＳＩＣ）によっても実行することができ、かつ例示的実施形態の装置は専用論理回路機構（例えばＦＰＧＡまたはＡＳＩＣ）として実現することができる。
【００８６】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは一般的に互いに離れており、一般的に通信ネットワークを介して対話する。クライアントおよびサーバの関係は、それぞれのコンピュータで実行されかつ互いにクライアント−サーバ関係を有するコンピュータプログラムのおかげで生じる。プログラマブルコンピューティングシステムを展開する実施形態では、ハードウェアおよびソフトウェアアーキテクチャが両方とも検討を必要とすることが理解される。特に、永続的に構成されたハードウェア（例えばＡＳＩＣ）、一時的に構成されたハードウェア（例えばソフトウェアおよびプログラマブルプロセッサの組合せ）、または永続的構成と一時的構成の組合せハードウェアのいずれに特定の機能を実装するかの選択が設計上の選択であることが理解される。種々の例示的実施形態で展開することのできるハードウェア（例えば機械）およびソフトウェアアーキテクチャを以下に記載する。
【００８７】
図１９は、本明細書に記載する方法のいずれか１つ以上を機械に実行させるための命令を実行することのできる例示的形態のコンピュータシステム１２００のブロック図である。代替的実施形態では、機械はスタンドアロン装置として動作し、あるいは他の機械に接続する（例えばネットワーク接続する）ことができる。ネットワーク接続された展開では、機械は、サーバ−クライアントネットワーク環境でサーバまたはクライアントマシンの資格で、あるいはピアツーピア（または分散）ネットワーク環境でピアマシンとして動作することができる。機械は、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、セットトップボックス（ＳＴＢ）、パーソナルデジタルアシスタント（ＰＤＡ）、携帯電話（例えばｉＰｈｏｎｅ（登録商標）、もしくはＡｎｄｒｏｉｄ（登録商標）オペレーティングシステムを実行する携帯電話）、ウェブアプライアンス、ネットワークルータ、スイッチもしくはブリッジ、またはその機械が取るべき動作を指定する命令（シーケンスまたはその他）を実行することのできる任意の機械とすることができる。さらに、単一の機械しか図示されていないが、用語「機械」は、本明細書に記載する方法のいずれか１つ以上を実行するために１組（または複数の組）の命令を個々にまたは合同で実行する機械の任意の集合を含むと解釈されるものとする。
【００８８】
例示的コンピュータシステム１２００は、プロセッサ１２０２（例えば中央処理装置（ＣＰＵ）、グラフィックス処理装置（ＧＰＵ）、または両方）、メインメモリ１２０４、およびスタティックメモリ１２０６を含み、それらはバス１２０８を介して互いに通信する。コンピュータシステム１２００はさらに、ビデオディスプレイ装置１２１０（例えば液晶ディスプレイ（ＬＣＤ）またはブラウン管（ＣＲＴ））を含むことができる。コンピュータシステム１２００はまた、英数字入力装置１２１２（例えばキーボード）、ユーザインタフェース（ＵＩ）ナビゲーション（またはカーソルコントロール）装置１２１４（例えばマウス）、ディスクドライブ装置１２１６、信号発生装置１２１８（例えばスピーカ）、およびネットワークインタフェース装置１２２０をも含む。
【００８９】
ディスクドライブ装置１２１６は、本明細書に記載する方法または機能のいずれか１つ以上を具現するかあるいはそれらによって利用される１つ以上の組の命令およびデータ構造（例えばソフトウェア）１２２４が格納された機械可読媒体１２２２を含む。命令１２２４はまた、コンピュータシステム１２００によるその実行中に、完全にまたは少なくとも部分的にメインメモリ１２０４内、および／またはプロセッサ１２０２内にも常駐することができ、メインメモリ１２０４およびプロセッサ１２０２も機械可読媒体を構成する。命令１２２４はまた、完全にまたは少なくとも部分的にスタティックメモリ１２０６内にも常駐することができる。
【００９０】
例示的実施形態では、機械可読媒体１２２２は単一の媒体として示されているが、用語「機械可読媒体」は、１つ以上の命令またはデータ構造を格納する単一の媒体または複数の媒体（例えば集中データベースもしくは分散データベースおよび／または関連キャッシュおよびサーバ）を含むことができる。用語「機械可読媒体」はまた、機械により実行するための命令であって機械に本実施形態の方法のいずれか１つ以上を実行させる命令を格納し、符号化し、または搬送することができ、あるいはそのような命令によって利用されるかまたはそれに関連するデータ構造を格納し、符号化し、または搬送することのできる、いずれかの有形媒体を含むと解釈されるものとする。したがって、用語「機械可読媒体」は、固体メモリ、ならびに光媒体または磁気媒体を含むが、それらに限らないと解釈されるものとする。機械可読媒体の具体例として、不揮発性メモリ、例を挙げると半導体メモリ装置、例えば消去可能なプログラマブル読出し専用メモリ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブル読出し専用メモリ（ＥＥＰＲＯＭ）、およびフラッシュメモリ装置、内部ハードディスクおよび取外し可能なディスクのような磁気ディスク、光磁気ディスク、ならびにコンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ）およびデジタル多用途ディスク（またはデジタルビデオディスク）読出し専用メモリ（ＤＶＤ−ＲＯＭ）ディスクがある。
【００９１】
命令１２２４はさらに、伝送媒体を用いて通信ネットワーク１２２６で送受信することができる。命令１２２４は、ネットワークインタフェース装置１２２０および数ある周知の転送プロトコルのいずれか１つ（例えばＨＴＴＰ）を用いて、送信することができる。通信ネットワークの例として、ＬＡＮ、ＷＡＮ、インターネット、携帯電話ネットワーク、ＰＯＴＳネットワーク、およびワイヤレスネットワーク（例えばＷｉＦｉおよびＷｉＭａｘ（登録商標）ネットワーク）が挙げられる。用語「伝送媒体」は、機械による実行のための命令を格納し、符号化し、または搬送することのできる任意の無形媒体を含むと解釈されるものとし、そのようなソフトウェアの通信を容易化するデジタルもしくはアナログ通信信号または他の無形の媒体を含む。ネットワーク１２２６はネットワーク１０２の１つとすることができる。
【００９２】
特定の例示的実施形態に関連して実施形態を説明したが、本開示のより広い範囲から逸脱することなく、これらの実施形態に種々の変形および変更を施すことができる。したがって、明細書および図面は限定的意味としてではなく、むしろ例証とみなすべきである。明細書の一部を形成する添付の図面は、限定としてではなく、例示として、対象を実施することのできる特定の実施形態を示すものである。例示する実施形態は、当業者が本明細書に開示する教示内容を実施することができるように、充分詳細に記載されている。この開示の範囲から逸脱することなく、構造およびロジックの置換および変更を施すことができるように、これらの実施形態から他の実施形態を導き出し、かつ利用することができる。したがって、この詳細な説明は限定的意味で捉えるべきではなく、種々の実施形態の範囲は、添付の特許請求の範囲と共に、そのような特許請求の範囲が権利を与えられる均等物の全範囲によってのみ規定される。
【００９３】
本発明の対象のそのような実施形態を本明細書では、単に便宜上、かつ実際に２つ以上の発明が開示されている場合に本願の範囲をいずれかの単一の発明または発明の概念に自発的に限定する意図なしに、個別におよび／または集合的に本発明によって言及することがある。したがって、本明細書では特定の実施形態を示しかつ説明したが、示した特定の実施形態に代わって、同じ目的を達成するように計算されたいずれかの構成に置き換えることができることを理解されたい。この開示は、種々の実施形態のあらゆる適応または変形を網羅する。上記の説明を精査することにより、上記の実施形態の組合せおよび本明細書で特に説明していない他の実施形態が当業者に明らかになる。
【図１】
2015197908.tif 000003
【図２Ａ】
2015197908.tif 000004
【図２Ｂ】
2015197908.tif 000005
【図３】
2015197908.tif 000006
【図４】
2015197908.tif 000007
【図５】
2015197908.tif 000008
【図６】
2015197908.tif 000009
【図７】
2015197908.tif 000010
【図８】
2015197908.tif 000011
【図９】
2015197908.tif 000012
【図１０】
2015197908.tif 000013
【図１１】
2015197908.tif 000014
【図１２】
2015197908.tif 000015
【図１３】
2015197908.tif 000016
【図１４】
2015197908.tif 000017
【図１５】
2015197908.tif 000018
【図１６】
2015197908.tif 000019
【図１７】
2015197908.tif 000020
【図１８】
2015197908.tif 000021
【図１９】
2015197908.tif 000022