(57)【要約】      （修正有）【課題】協調スケジュールの方法を提供する。【解決手段】環境データ、特性、及びグループ入力に基づき、協調スケジュール情報を計算するステップを有する。グループ入力は、関連する実現可能スケジュールと、個別メンバ実行コスト、融通の利くタスクの違反コスト及び行動コストに基づく合計スケジュールコストとを含む。選好スケジュールとしての実現可能スケジュールの選択を受信し、それに基づく各メンバの第１特性及び第２特性を決定する。第１特性は、選択された実現可能スケジュールが設置されるとき、他のメンバに対してより高い合計スケジュールコストを想定される利己性を有する。第２特性は、選択された実現可能スケジュールが設置されるとき、他のメンバに対して低い合計スケジュールコストを想定される非利己的性を有する。そして、メンバにより選択された実現可能スケジュールとして協調スケジュールを生成する。【選択図】図１
2018049595.tif 000002
【特許請求の範囲】
【請求項１】
協調スケジューリングの方法であって、前記方法は、
カレンダサーバにより、協調スケジュールの関連するグループに含まれる複数のメンバのうちの各々のメンバの特性についての初期値を設定するステップと、
前記カレンダサーバにより、個別メンバタスク、共通メンバタスク、個別メンバ制約、及び共通メンバ制約を含むグループ入力を受信するステップと、
前記カレンダサーバにより、データ収集エンジンにより収集された環境データを受信するステップと、
前記カレンダサーバにより、前記環境データ、前記特性、及び前記グループ入力に基づき協調スケジュール情報を計算するステップであって、前記協調スケジュール情報は、特定数の実現可能スケジュールと、各メンバの前記実現可能スケジュールに関連付けられる合計スケジュールコストと、を有し、各メンバの前記合計スケジュールコストは、個別メンバ実行コスト、融通の利くタスクの違反コスト、及び行動コストに基づく、ステップと、
前記カレンダサーバにより、各メンバからフィードバックを受信するステップであって、前記フィードバックは、選好スケジュールとしての実現可能スケジュールの選択を含む、ステップと、
前記カレンダサーバにより、各メンバの第１特性と第２特性とを決定するステップであって、前記第１特性は、選択された前記実現可能スケジュールが設置されるとき前記複数のメンバのうちの他のメンバに対してより高い合計スケジュールコストを想定し、前記第２特性は、選択された前記実現可能スケジュールが設置されるとき前記他のメンバに対してより低い合計スケジュールコストを想定する、ステップと、
前記カレンダサーバにより、前記複数のメンバにより選択される前記実現可能スケジュールとして協調スケジュールを生成するステップと、
前記カレンダサーバにより、前記受信したフィードバックに基づき、各メンバの前記特性を更新するステップと、
を有する方法。
【請求項２】
前記協調スケジュール情報を計算するステップは、各メンバについて及び前記実現可能スケジュールの各々について、前記合計スケジュールコストを算出するステップを有し、
各メンバについての前記合計スケジュールコストは、以下の合計スケジュールコスト式に従い算出され、
Ｃｔ（Ｓｉ，ｕｊ）＝Ｃ１（Ｓｉ，ｕｊ）−Ｃ２（Ｓｉ，ｕｊ）、
Ｃ１（Ｓｉ，ｕｊ）＝Ｃｐ（Ｓｉ，ｕｊ）−γＣν（Ｓｉ，ｕｊ）、
Ｃ２（Ｓｉ，ｕｊ）＝Σｋα（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｊ）−Ｃ１（Ｓｉ，ｕｋ），０］＋Σｋβ（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｋ）−Ｃ１（Ｓｉ，ｕｊ），０］、
ここで、ｉ、ｊ、ｋは、インデックス変数を表し、
Ｓｉは、インデックス変数により識別される前記実現可能スケジュールのうちの１つを表し、
ｕｊは、別のインデックス変数により識別される前記メンバのうちの１人を表し、
Ｃｔ（Ｓｉ，ｕｊ）は、前記メンバのうちの１人の及び前記実現可能スケジュールのうちの１つの合計スケジュールコストを表し、
Ｃ１（Ｓｉ，ｕｊ）は、前記メンバのうちの１人により負担される及び前記実現可能スケジュールのうちの１つについての個別コストを表し、
Ｃ２（Ｓｉ，ｕｊ）は、前記メンバのうちの１人により負担される及び前記実現可能スケジュールのうちの１つについての行動コストを表し、
Ｃｐ（Ｓｉ，ｕｊ）は、前記メンバのうちの１人についての前記実現可能スケジュールのうちの１つの個別メンバ実行コストを表し、
Ｃν（Ｓｉ，ｕｊ）は、前記メンバのうちの１人について前記実現可能スケジュールのうちの１つを実行する間の融通の利くタスクの違反コストを表し、
γは、実現可能タスクに違反した場合に、前記個別コストを低減するペナルティ係数を表し、
ｍａｘは、最大化関数を表し、
α（ｊ，ｋ）は、前記実現可能スケジュールと独立の非利己的パラメータを表し、
β（ｊ，ｋ）は、前記実現可能スケジュールと独立の利己的パラメータを表し、
Σｋα（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｊ）−Ｃ１（Ｓｉ，ｕｋ），０］は、非利己的式を表し、
Σｋβ（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｋ）−Ｃ１（Ｓｉ，ｕｊ），０］は、利己的式を表す、
請求項１に記載の方法。
【請求項３】
前記第１特性及び前記第２特性を決定するステップは、前記受信したフィードバックに基づき、非利己的パラメータ及び利己的パラメータを推定するステップを含み、
前記推定するステップは、
各メンバの中立共通タスクに応答する確率を計算するステップと、
各メンバの非利己的に制約共通タスクに応答する確率を計算するステップと、
各メンバの利己的に制約共通タスクに応答する確率を計算するステップと、
を含む、請求項２に記載の方法。
【請求項４】
各メンバの前記中立共通タスクに応答する前記確率を計算するステップは、以下の中立共通タスク式に従い実行され、
Ｐｎｉ＝μｉ／Ｎ、
各メンバの非利己的に前記制約共通タスクに応答する前記確率を計算するステップは、以下の非利己的共通タスク式に従い実行され、
Ｐｓｌｉ＝σｉ／Ｑ、
各メンバの利己的に前記制約共通タスクに応答する前記確率を計算するステップは、以下の利己的共通タスク式に従い実行され、
Ｐｓｉ＝Ｔｉ／Ｑ、
ここで、Ｎは、中立共通タスク総数を表し、
Ｑは、制約共通タスクの総数を表し、
Ｔｉは、メンバが利己的共通タスクに応答する回数を表し、
σｉは、メンバが非利己的共通タスクに応答する回数を表し、
Ｐｎｉは、各メンバの前記中立共通タスクに応答する前記確率を表し、
Ｐｓｌｉは、各メンバの非利己的に前記制約共通タスクに応答する前記確率を表し、
Ｐｓｉは、各メンバの利己的に前記制約共通タスクに応答する前記確率を表し、
μｉは、メンバが中立共通タスクに応答する回数を表す、
請求項３に記載の方法。
【請求項５】
各メンバの利己的に前記制約共通タスクに応答する前記確率を計算するステップ、及び各メンバの非利己的に前記制約共通タスクに応答する前記確率を計算するステップは、
類似状況のヒストグラムをプロットするステップと、
ラプラス平滑化を用いて、以下の非利己的式に従い前記非利己的パラメータを算出するステップと、
を有し、
α（ｉ，ｊ）＝（σｉ＋１）／（Ｎ＋ｓ）、
β（ｉ，ｊ）＝（Ｔｉ＋１）／（Ｎ＋ｓ）、
ｓ＝ｔＣＯＭＢｘ、
ここで、ｓは、前記制約共通タスクの中の想定可能な組合せの合計数であり、
ｔは、前記特性を表し、
ｘは、前記複数のメンバのメンバ数を表し、
ＣＯＭＢは、組合せ演算子を表す、
請求項４に記載の方法。
【請求項６】
各メンバについて前記実現可能スケジュールの各々の前記合計スケジュールコストを含むテーブルを生成するステップと、
前記テーブルを、各メンバに関連付けられるメンバ装置へ通信するステップと、
を更に有する請求項１に記載の方法。
【請求項７】
前記フィードバックは、第１実現可能スケジュールが前記複数のメンバのうちの第１メンバから前記選好スケジュールとして選択される第１選択と、第２メンバからの前記第１実現可能スケジュールを選択する第２選好と、前記複数のメンバのうちの前記第２メンバに対するより前記第１メンバに対して高い合計スケジュールコストを有する前記第１実現可能スケジュールと、を含み、
前記方法は、
第１選好に応答して、前記第１メンバを非利己的として特徴付けるステップと、
前記第２選好に応答して、前記第２メンバを利己的として特徴付けるステップと、
を更に有する請求項１に記載の方法。
【請求項８】
前記フィードバックは、前記実現可能スケジュールの各々の互いに対するランクを含む、請求項１に記載の方法。
【請求項９】
前記協調スケジュール情報を計算するステップは、
前記個別メンバタスク及び前記共通メンバタスクの完了を含む全ての可能なスケジュールを列挙するステップと、
前記個別メンバタスクの各々について及び前記共通メンバタスクの各々についてベクトルを定めるステップであって、前記ベクトルは、［開始時間、終了時間、開始場所、終了場所］としてフォーマット化される、ステップと、
前記個別メンバタスク及び前記共通メンバタスクを特定数のタスクグループに分割するステップであって、前記タスクグループの各々は、特定時間枠の中の前記開始時間又は前記終了時間を有する、ステップと、
前記タスクグループの各々の中の前記個別メンバタスク及び前記共通メンバタスクについて、未知の場所パラメータの１又は複数の可能性を検討するステップと、
１又は複数の未知の場所において連続性を示すベクトルを選択するステップと、
前記個別メンバ制約及び前記共通メンバ制約を満たす前記開始時間又は前記終了時間について、未知の値を発見するステップと、
前記個別メンバ制約又は共通メンバ制約に違反せずに達成可能な前記可能なスケジュールのサブセットとして前記実現可能スケジュールを識別するステップと、
を有する請求項１に記載の方法。
【請求項１０】
前記個別メンバタスク及び前記共通メンバタスクは、違反しないとして特徴付けられる少なくとも１つの確かなタスクと、違反するとして特徴付けられる少なくとも１つの融通の利くタスクと、を含む、請求項１に記載の方法。
【請求項１１】
動作を実行するため又は動作の実行を制御するためにプロセッサにより実行可能なエンコードされたプログラムコードを有する非一時的コンピュータ可読媒体であって、前記動作は、
カレンダサーバにより、協調スケジュールの関連するグループに含まれる複数のメンバのうちの各々のメンバの特性についての初期値を設定するステップと、
前記カレンダサーバにより、個別メンバタスク、共通メンバタスク、個別メンバ制約、及び共通メンバ制約を含むグループ入力を受信するステップと、
前記カレンダサーバにより、データ収集エンジンにより収集された環境データを受信するステップと、
前記カレンダサーバにより、前記環境データ、前記特性、及び前記グループ入力に基づき協調スケジュール情報を計算するステップであって、前記協調スケジュール情報は、特定数の実現可能スケジュールと、各メンバの前記実現可能スケジュールに関連付けられる合計スケジュールコストと、を有し、各メンバの前記合計スケジュールコストは、個別メンバ実行コスト、融通の利くタスクの違反コスト、及び行動コストに基づく、ステップと、
前記カレンダサーバにより、各メンバからフィードバックを受信するステップであって、前記フィードバックは、選好スケジュールとしての実現可能スケジュールの選択を含む、ステップと、
前記カレンダサーバにより、各メンバの第１特性と第２特性とを決定するステップであって、前記第１特性は、選択された前記実現可能スケジュールが設置されるとき前記複数のメンバのうちの他のメンバに対してより高い合計スケジュールコストを想定し、前記第２特性は、選択された前記実現可能スケジュールが設置されるとき前記他のメンバに対してより低い合計スケジュールコストを想定する、ステップと、
前記カレンダサーバにより、前記複数のメンバにより選択される前記実現可能スケジュールとして協調スケジュールを生成するステップと、
前記カレンダサーバにより、前記受信したフィードバックに基づき、各メンバの前記特性を更新するステップと、
を有する、非一時的コンピュータ可読媒体。
【請求項１２】
前記協調スケジュール情報を計算するステップは、各メンバについて及び前記実現可能スケジュールの各々について、前記合計スケジュールコストを算出するステップを有し、
各メンバについての前記合計スケジュールコストは、以下の合計スケジュールコスト式に従い算出され、
Ｃｔ（Ｓｉ，ｕｊ）＝Ｃ１（Ｓｉ，ｕｊ）−Ｃ２（Ｓｉ，ｕｊ）、
Ｃ１（Ｓｉ，ｕｊ）＝Ｃｐ（Ｓｉ，ｕｊ）−γＣν（Ｓｉ，ｕｊ）、
Ｃ２（Ｓｉ，ｕｊ）＝Σｋα（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｊ）−Ｃ１（Ｓｉ，ｕｋ），０］＋Σｋβ（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｋ）−Ｃ１（Ｓｉ，ｕｊ），０］、
ここで、ｉ、ｊ、ｋは、インデックス変数を表し、
Ｓｉは、インデックス変数により識別される前記実現可能スケジュールのうちの１つを表し、
ｕｊは、別のインデックス変数により識別される前記メンバのうちの１人を表し、
Ｃｔ（Ｓｉ，ｕｊ）は、前記メンバのうちの１人の及び前記実現可能スケジュールのうちの１つの合計スケジュールコストを表し、
Ｃ１（Ｓｉ，ｕｊ）は、前記メンバのうちの１人により負担される及び前記実現可能スケジュールのうちの１つについての個別コストを表し、
Ｃ２（Ｓｉ，ｕｊ）は、前記メンバのうちの１人により負担される及び前記実現可能スケジュールのうちの１つについての行動コストを表し、
Ｃｐ（Ｓｉ，ｕｊ）は、前記メンバのうちの１人についての前記実現可能スケジュールのうちの１つの個別メンバ実行コストを表し、
Ｃν（Ｓｉ，ｕｊ）は、前記メンバのうちの１人について前記実現可能スケジュールのうちの１つを実行する間の融通の利くタスクの違反コストを表し、
γは、実現可能タスクに違反した場合に、前記個別コストを低減するペナルティ係数を表し、
ｍａｘは、最大化関数を表し、
α（ｊ，ｋ）は、前記実現可能スケジュールと独立の非利己的パラメータを表し、
β（ｊ，ｋ）は、前記実現可能スケジュールと独立の利己的パラメータを表し、
Σｋα（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｊ）−Ｃ１（Ｓｉ，ｕｋ），０］は、非利己的式を表し、
Σｋβ（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｋ）−Ｃ１（Ｓｉ，ｕｊ），０］は、利己的式を表す、
請求項１１に記載の非一時的コンピュータ可読媒体。
【請求項１３】
前記第１特性及び前記第２特性を決定するステップは、前記受信したフィードバックに基づき、非利己的パラメータ及び利己的パラメータを推定するステップを含み、
前記推定するステップは、
各メンバの中立共通タスクに応答する確率を計算するステップと、
各メンバの非利己的に制約共通タスクに応答する確率を計算するステップと、
各メンバの利己的に制約共通タスクに応答する確率を計算するステップと、
を含む、請求項１２に記載の非一時的コンピュータ可読媒体。
【請求項１４】
各メンバの前記中立共通タスクに応答する前記確率を計算するステップは、以下の中立共通タスク式に従い実行され、
Ｐｎｉ＝μｉ／Ｎ、
各メンバの非利己的に前記制約共通タスクに応答する前記確率を計算するステップは、以下の非利己的共通タスク式に従い実行され、
Ｐｓｌｉ＝σｉ／Ｑ、
各メンバの利己的に前記制約共通タスクに応答する前記確率を計算するステップは、以下の利己的共通タスク式に従い実行され、
Ｐｓｉ＝Ｔｉ／Ｑ、
ここで、Ｎは、中立共通タスク総数を表し、
Ｑは、制約共通タスクの総数を表し、
Ｔｉは、メンバが利己的共通タスクに応答する回数を表し、
σｉは、メンバが非利己的共通タスクに応答する回数を表し、
Ｐｎｉは、各メンバの前記中立共通タスクに応答する前記確率を表し、
Ｐｓｌｉは、各メンバの非利己的に前記制約共通タスクに応答する前記確率を表し、
Ｐｓｉは、各メンバの利己的に前記制約共通タスクに応答する前記確率を表し、
μｉは、メンバが中立共通タスクに応答する回数を表す、
請求項１３に記載の非一時的コンピュータ可読媒体。
【請求項１５】
各メンバの利己的に前記制約共通タスクに応答する前記確率を計算するステップ、及び各メンバの非利己的に前記制約共通タスクに応答する前記確率を計算するステップは、
類似状況のヒストグラムをプロットするステップと、
ラプラス平滑化を用いて、以下の非利己的式に従い前記非利己的パラメータを算出するステップと、
を有し、
α（ｉ，ｊ）＝（σｉ＋１）／（Ｎ＋ｓ）、
β（ｉ，ｊ）＝（Ｔｉ＋１）／（Ｎ＋ｓ）、
ｓ＝ｔＣＯＭＢｘ、
ここで、ｓは、前記制約共通タスクの中の想定可能な組合せの合計数であり、
ｔは、前記特性を表し、
ｘは、前記複数のメンバのメンバ数を表し、
ＣＯＭＢは、組合せ演算子を表す、
請求項１４に記載の非一時的コンピュータ可読媒体。
【請求項１６】
前記動作は、
各メンバについて前記実現可能スケジュールの各々の前記合計スケジュールコストを含むテーブルを生成するステップと、
前記テーブルを、各メンバに関連付けられるメンバ装置へ通信するステップと、
を更に有する、請求項１１に記載の非一時的コンピュータ可読媒体。
【請求項１７】
前記フィードバックは、第１実現可能スケジュールが前記複数のメンバのうちの第１メンバから前記選好スケジュールとして選択される第１選択と、第２メンバからの前記第１実現可能スケジュールを選択する第２選好と、前記複数のメンバのうちの前記第２メンバに対するより前記第１メンバに対して高い合計スケジュールコストを有する前記第１実現可能スケジュールと、を含み、
前記動作は、
前記第１選好に応答して、前記第１メンバを非利己的として特徴付けるステップと、
前記第２選好に応答して、前記第２メンバを利己的として特徴付けるステップと、
を更に有する、請求項１１に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記フィードバックは、前記実現可能スケジュールの各々の互いに対するランクを含む、請求項１１に記載の非一時的コンピュータ可読媒体。
【請求項１９】
前記協調スケジュール情報を計算するステップは、
前記個別メンバタスク及び前記共通メンバタスクの完了を含む全ての可能なスケジュールを列挙するステップと、
前記個別メンバタスクの各々について及び前記共通メンバタスクの各々についてベクトルを定めるステップであって、前記ベクトルは、［開始時間、終了時間、開始場所、終了場所］としてフォーマット化される、ステップと、
前記個別メンバタスク及び前記共通メンバタスクを特定数のタスクグループに分割するステップであって、前記タスクグループの各々は、特定時間枠の中の前記開始時間又は前記終了時間を有する、ステップと、
前記タスクグループの各々の中の前記個別メンバタスク及び前記共通メンバタスクについて、未知の場所パラメータの１又は複数の可能性を検討するステップと、
１又は複数の未知の場所において連続性を示すベクトルを選択するステップと、
前記個別メンバ制約及び前記共通メンバ制約を満たす前記開始時間又は前記終了時間について、未知の値を発見するステップと、
前記個別メンバ制約又は共通メンバ制約に違反せずに達成可能な前記可能なスケジュールのサブセットとして前記実現可能スケジュールを識別するステップと、
を有する、請求項１１に記載の非一時的コンピュータ可読媒体。
【請求項２０】
前記個別メンバタスク及び前記共通メンバタスクは、違反しないとして特徴付けられる少なくとも１つの確かなタスクと、違反するとして特徴付けられる少なくとも１つの融通の利くタスクと、を含む、請求項１１に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書で議論される実施形態は、協調スケジューリングに関する。
【背景技術】
【０００２】
既存のグループカレンダアプリケーションは、自動スケジューラエージェントを有する場合がある。グループカレンダアプリケーションは、共通プラットフォーム上で個人の集合のスケジュールを示すことができる。グループカレンダアプリケーションは、タスク又はイベントのために個人の集合にとって都合の良い共通の時間を選択するのを支援できる。しかしながら、既存のグループカレンダアプリケーションは、個人の集合にとって都合の良い時間がないとき、スケジューリングを提供できない。さらに、グループカレンダアプリケーションは、時間及びタスクをマージする際に共通時間に基づく場合がある。
【０００３】
本願明細書で請求される主題は、上述のような欠点を解決する実施形態や上述のような環境でのみ機能する実施形態に限定されない。むしろ、この背景技術は、単に、本願明細書に記載される複数の実施形態が実施される技術分野の一例を説明するために提供される。
【発明の概要】
【０００４】
一実施形態の一態様によると、協調スケジューリングの方法は、カレンダサーバにより、協調スケジュールの関連するグループに含まれる各メンバ又はメンバの特性の初期値を設定するステップを有して良い。方法は、カレンダサーバにおいて、個別メンバタスク、共通メンバタスク、個別メンバ制約、共通メンバ制約を有するグループ入力を受信するステップを有して良い。方法は、カレンダサーバにおいて、データ収集エンジンにより収集された環境データを受信するステップを有して良い。方法は、カレンダサーバにより、環境データ、特性及びグループ入力に基づき、協調スケジュールを計算するステップを有して良い。協調スケジュール情報は、特定数の実現可能スケジュール、及び各メンバの実現可能スケジュールに関連付けられる合計スケジュールコストを有して良い。各メンバの合計スケジュールコストは、個別メンバ実行コスト、融通の利くタスクの違反コスト、及び行動コストに基づいて良い。方法は、カレンダサーバにより、各メンバからフィードバックを受信するステップを有して良い。フィードバックは、選好スケジュールとして実現可能スケジュールの選択を有して良い。方法は、カレンダサーバにより、各メンバの第１特性及び第２特性を決定するステップを有して良い。第１特性は、選択された実現可能スケジュールが設置されるとき、他のメンバに対してより高い合計スケジュールコストを想定されて良い。第２特性は、選択された実現可能スケジュールが設置されるとき、他のメンバに対してより低い合計スケジュールコストを想定されて良い。方法は、カレンダサーバにより、メンバにより選択された実現可能スケジュールとして協調スケジュールを生成するステップを有して良い。方法は、カレンダサーバにより、受信したフィードバックに基づき、各メンバの特性を更新するステップを有して良い。
【０００５】
実施形態の目的及び利点が理解され、少なくとも特に特許請求の範囲で指摘された要素、特徴及び組合せを用いて達成されるだろう。
【０００６】
上述の全体的説明及び以下の詳細な説明の両方は、例示及び説明のためであり、本発明の範囲を限定しないことが理解される。
【図面の簡単な説明】
【０００７】
例示的な実施形態は、添付の図面を用いて、更なる特異性及び詳細事項と共に記載され説明される。
【図１】協調スケジューリングが実装され得る例示的な動作環境のブロック図である。
【図２】図１の動作環境で実施され得る例示的なスケジューリング処理を示す。
【図３】図２のスケジューリング処理のローカルな実装のために構成される例示的なメンバ装置のブロック図を示す。
【図４】図１の動作環境で実施され得る例示的なコストテーブルを示す。
【図５】図１の動作環境で実施され得る例示的なヒストグラム図を示す。
【図６】図５のヒストグラム図のプロットされたデータのラプラス平滑化を示す。
【図７】協調スケジューリングの例示的な方法のフロー図である。
【図８】協調スケジューリングのために構成される例示的なコンピューティングシステム８００を示す。  全ての図は本願明細書に記載の少なくとも１つの実施形態に従って構成される。
【発明を実施するための形態】
【０００８】
グループカレンダアプリケーションは、タスク又はイベントのためにグループのメンバにとって都合の良い共通の時間を選択するのを支援できる。しかしながら、既存のグループカレンダアプリケーションは、メンバにとって都合の良い時間がないとき、動作できない。例えば、メンバにとってどの時間も機能しない状況が存在する場合がある。
【０００９】
このような状況では、メンバのうちの１又は複数は、妥協を余儀なくされる場合がある。メンバは、自ら妥協することは困難であると気付くかも知れない。したがって、妥協する代わりに、グループのメンバは、そうしようという意志を有しなければ、グループにとってより大きなコストを生じる協調的決定を行う場合がある。したがって、既存のグループカレンダアプリケーションは、メンバ全員に利益をもたらす目標を考慮しない。
【００１０】
さらに、既存のグループカレンダアプリケーションは、行動特性のような特性を考慮しない。代わりに、既存のグループカレンダアプリケーションは、時間及びタスク情報をマージする際に共通時間に基づく。これらの既存のグループカレンダアプリケーションは、メンバの特性に基づく妥協を割り当てる機械を逃す。
【００１１】
したがって、本開示に記載の実施形態は、スケジュールが１又は複数のメンバに彼らの自己の利益を妥協するよう強いる場合でも、スケジュールを受け入れることによりグループが得ることのできるより大きな利益を実証する。幾つかの実施形態は、メンバの各々についての実現可能スケジュール及び合計スケジュールコストを通信するステップを有する。この情報の開示は、実現可能スケジュールを受け入れるようメンバを説得し得る。さらに、幾つかの実施形態は、メンバに対するコストの計算において、メンバの特性を考慮する。
【００１２】
幾つかの実施形態は、知的意志決定者の間の衝突及び協力の数学モデルの研究であるゲーム理論の幾つかの原理を実装して良い。概して、ゲームは、プレイヤ、情報、及び決定点と結果の報酬において利用可能なアクションを含む。該情報に基づき、プレイヤの戦略セットが推定できる。戦略セットが利用されるとき、彼らの戦略から一方的に逸脱することにより利益を得るプレイヤはいない。
【００１３】
ゲーム理論の幾つかの追加の詳細は、Aumannet.  al,  Game  Theory,  The  New  Palgrave,  pp.４６０-８２,  (１９８７);  Camerer,  Teck−Hua  Ho,  and  J.K.Chong,  Behavioural  Game  Theory:  Thinking,  Learning  and  Teaching,  pp３１１−３３６  (University  of  Chicago  Press);  Game  Theory  as  a  Theory  of  Conflict  Resolution,  ISBN  ９７８−９４−０１０−２１６１−６,  Edited  by  Rapoport,  Theory,  and  Decision  Library,  (１９７４);  United  States  Pat  No.８,８６３,２９３;及びF.Allen,  and  S.Morris,  Game  Theory  Models  in  Finance,  in  Advances  in  Business  Applications  of  Game  Theory,  (Boston  Kluwer  Academic  Publishers)において見られる。これらの文献は、参照により全体がここに組み込まれる。
【００１４】
上述及び他の実施形態は、添付の図面を参照して説明される。図中、同様の参照符号を有する特徴は、特に断りの無い限り、同様の構造及び機能を有する。
【００１５】
図１は、協調スケジューリングが実装され得る例示的な動作環境１００のブロック図である。協調スケジューリングは、複数の個人スケジュールを管理し、協調スケジュール１１５の関連するグループ１５０のメンバ１１３Ａ及び１１３Ｂ（概して、メンバ１１３又は複数のメンバ１１３）のために協調スケジュール１１５を生成するために使用され得る。概して、グループ１５０は、共通目標を共有して良く、１又は複数のタスク及び／又は１又は複数の制約を共有して良い。グループ１５０の一例は家族であって良く、本例ではメンバ１１３は、家族の各メンバ又は両親であって良い。グループ１５０の別の例は、仕事のチームを有して良く、本例ではメンバ１１３は、仕事のチームに含まれる従業員を有して良い。
【００１６】
協調スケジュール１１５は、メンバ装置１２４Ａ及び１２４Ｂ（概して、メンバ装置１２４又は複数のメンバ装置１２４）によりメンバ１１３により提供され得るグループ入力、環境データソース１３２により提供され得る環境データ、メンバ１１３からのフィードバック、及び該フィードバックに基づきカレンダサーバ１１１により計算され得るメンバ１１３の特性、に基づき生成されて良い。
【００１７】
グループ入力は、タスク及び制約を含んで良い。タスクは、１又は複数のメンバ１１３が実行すべき任意のイベント又は責務を含んで良い。メンバ１１３のうちの１人により実行されるタスクは、個別メンバタスクとして参照されて良い。メンバのうちの２人により実行される又はメンバ１１３のうちの少なくとも１人により実行されるべきタスクは、共通メンバタスクとして参照されて良い。タスクは、用事、役務分担、プロジェクト、イベント、等を有して良い。幾つかの実施形態では、タスクは、確かなタスクと融通の利くタスクとを有して良い。確かなタスクは、違反されないとして特徴付けられるタスクを含む。例えば、確かなタスクは、メンバ１１３からの入力により指定されると完了する。融通の利くタスクは、変更される又は違反されるとして特徴付けられるタスクを含む。例えば、融通の利くタスクの違反は、タスクが完了しない、部分的に完了する、異なる時間に完了する、別の個人により完了する、又はそれらの何らかの組合せを示して良い。協調スケジュール１１５は、変更無しに確かなタスクを組み込むよう生成されて良い。協調スケジュール１１５は、融通の利くタスクを組み込むよう生成されて良いが、融通の利くタスクのうちの１又は複数は、違反されて良い。
【００１８】
制約は、タスクのうちの１又は複数の実行を禁止する又は制約し得る任意の制限を有して良い。例えば、制約は、物理的制限、実利的検討、機器の可用性、等を含み得る。制約の幾つかの例は、家族によるたった１台の自動車の可用性、同じ学校に出席し一緒に通学し得る子供達、プロジェクトの予算、等であって良い。
【００１９】
協調スケジュール１１５は、協調スケジュール情報に基づき生成されて良い。協調スケジュール情報は、特定数の（例えば、２以上の）実現可能スケジュール及び合計スケジュールコストを有して良い。実現可能スケジュールは、タスクとメンバ１１３の制約の組合せを有して良い。実現可能スケジュールでは、タスクはメンバ１１３により完了され、制約は違反されない。
【００２０】
さらに、協調スケジュール１１５は、実現可能スケジュールでは、メンバ１１３にとっての合計スケジュールコストに基づいて良い。タスクとグループの制約との組合せは、何らかの追加の不便、時間、リソース割り当て、金銭、等をメンバ１１３のうちの１又は複数に負担させる結果となり得る。本開示に記載のように、この負担は、メンバ１１３の合計スケジュールコストとして参照される。実現可能スケジュールのうちの１又は複数は、第２メンバ１１３Ｂよりも第１メンバ１１３Ａに合計スケジュールコストを不釣り合いに負担させて良い。カレンダサーバ１１１は、実現可能スケジュール及び合計スケジュールコストをメンバ１１３に伝達する。実現可能スケジュール及び合計スケジュールコストに基づき、協調スケジュール１１５が生成されて良い。
【００２１】
協調スケジュール１１５は、メンバ１１３の特性に更に基づいて良い。特性は、第１特性を有して良い。第１特性は、本開示の幾つかの実施形態では、非利己的であって良い。用語「非利己的」は、他のメンバ１１３により高い合計スケジュールコストを負担させるよりも、自身により高い合計スケジュールコストを負担させることを許容する行動を記述するために使用される。特性は、第２特性も有して良い。第２特性は、本開示の幾つかの実施形態では、利己的であって良い。用語「利己的」は、自信により高い合計スケジュールコストを負担させるよりも、他のメンバ１１３により高い合計スケジュールコストを負担させる行動を記述するために使用される。幾つかの実施形態では、１又は複数の追加特性があって良い。これらは、動作環境１００において考慮されている状況に依存して良い。
【００２２】
メンバ１１３の特性は、フィードバックがメンバ１１３から受信されるとき更新されて良い。特性は、次に、合計スケジュールコストの計算に組み込まれて良い。例えば、第１メンバ１１３は、実現可能スケジュールに対して前に利己的に反応したことがあって良い。現在の又は磁界の実現可能スケジュールでは、合計スケジュールコストは、合計スケジュールコストの計算において第１メンバの非利己的であることを考慮して良い。したがって、協調スケジュール１１５は、グループ１５０のメンバ１１３に課される合計スケジュールコストをより正確に反映できる。例えば、合計スケジュールコストは、第１メンバ１１３に不釣り合いに課され得る合計通勤時間に基づいて良い。しかしながら、第１メンバ１１３が通勤を気にしない場合、合計スケジュールコストは、第１メンバ１１３Ａが快く通勤することを反映するよう適応する。
【００２３】
動作環境１００は、カレンダサーバ１１１、メンバ装置１２４、環境データソース１３２、通信ネットワーク１２２（ネットワーク１２２）を有して良い。カレンダサーバ１１１、メンバ装置１２４、環境データソース１３２、及びネットワーク１２２は、集合的に、本開示では環境コンポーネントとして参照される。環境コンポーネントは、協調スケジュール１１５の生成において使用される情報及びデータを交換するよう構成されて良い。環境コンポーネントの各々は、以下に簡単に紹介される。
【００２４】
ネットワーク１２２は、有線又は無線構成を有して良く、スター構成、トークンリング構成若しくは他の構成を含む構成を有して良い。さらに、ネットワーク１２２は、ＬＡＮ（local  area  network）、ＷＡＮ（wide  area  network）（例えば、インターネット）、及び／又は複数の装置が通信できる他の相互接続されたデータ経路を有して良い。幾つかの実施形態では、ネットワーク１２２は、ピアツーピアネットワークを有して良い。ネットワーク１２２は、種々の異なる通信プロトコルでデータを通信可能にする通信ネットワークの一部に結合され又はそれを含んで良い。
【００２５】
幾つかの実施形態では、ネットワーク１２２は、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信ネットワーク又はＳＭＳ（short  messaging  service）、ＭＭＳ（multimedia  messaging  service）、ＨＴＴＰ（hypertext  transfer  protocol）、直接データ接続、ＷＡＰ（wireless  application  protocol）、電子メール等を介することを含むデータを送信及び受信するセルラ通信ネットワークを有して良い。
【００２６】
環境データソース１３２は、任意のシステムを有して良く、該システムにより環境データがアクセスされて良く、又は該システムから環境データが提供されて良い。例えば、環境データソース１３２は、他の環境コンポーネントと通信するためにネットワーク１２２と結合されるハードウェアサーバを有して良い。
【００２７】
環境データは、協調スケジュール１１５の生成において使用され得るタスク及び制約以外の任意の情報を有して良い。環境データは、タスク及び／又は制約に対して物理的コンテキスト又は制限を与えて良い。例えば、環境データは、第１メンバ１１３の出席する学校の住所、及び／又は学校への地図を有して良い。環境データソース１３２は、カレンダサーバ１１１及び／又はメンバ装置１２４によりアクセスされる地図アプリケーション（例えば、ＧＯＯＧＬＥ  ＭＡＰＳ（登録商標））を有して良い。追加又は代替で、環境データは、気象状態、交通状態、電車／バス予定表、機器の動作限界、等を有して良い。環境データソース１３２は、環境データの種類に対応して良い。例えば、環境データが気象データである場合、環境データソース１３２は天気ウェブサイトを有して良い。
【００２８】
顧客装置１２４は、プロセッサ、メモリ、及びコンピューティング能力を有する任意のコンピューティングシステムを有して良い。図示の実施形態では、メンバ装置１２４は、ネットワーク１２２を介して環境コンポーネントのうちの１又は複数と情報を送信及び受信するために、ネットワーク１２２に結合されて良い。例えば、メンバ装置１２４は、カレンダサーバ１１１にタスク及び／又は制約を通信するよう構成されて良い。さらに、メンバ装置１２４は、実現可能スケジュール及び／又は合計スケジュールコストをカレンダサーバ１１１から受信するよう構成されて良い。メンバ装置１２４は、実現可能スケジュール及び／又は合計スケジュールコストを表示し又は表示させて良い。したがって、メンバ１１３はそれらを閲覧できる。メンバ１１３は、次に、メンバ装置１２４にユーザインタフェース装置を介してユーザ入力を提供して良い。ユーザ入力は、カレンダサーバ１１１に通信され、カレンダサーバ１１１によりフィードバックとして解釈されて良い。メンバ装置１２４の幾つかの例は、スマートフォン、デスクトップコンピュータ、等を有して良い。
【００２９】
メンバ１１３は、メンバ装置１２４に関連付けられて良い。本開示で使用されるとき、用語「関連付けられる」は、メンバ１１３がメンバ装置１２４を所有する又は定期的に操作することを示して良い。このような関連は、図１に示されるように１対１であって良い。他の実施形態では、複数のメンバ１１３が、他院一のメンバ装置１２４とインタフェースして良い。
【００３０】
メンバ装置１２４は、メンバスケジュールモジュール１０６を有して良い。メンバスケジュールモジュール１０６は、ユーザ入力（例えば、フィードバック、タスク、制約、等）の受信のため、並びにデータ及び情報の通信（例えば、実現可能スケジュール及び／又は合計スケジュールコストの表示）のために、メンバ１１３とインタフェースするよう構成されて良い。さらに、幾つかの実施形態では、メンバスケジュールモジュール１０６は、本開示の他の場所に記載されるように合計スケジュールコストを計算するよう及び／又は実現可能スケジュールを決定するよう構成されて良い。例えば、幾つかの実施形態は、カレンダサーバ１１１を省略して良い。上述及び他の実施形態では、メンバスケジュールモジュール１０６は、合計スケジュールコストを計算するよう及び／又は実現可能スケジュールを決定するよう構成されて良い。これらの実施形態の幾つかの追加の詳細事項は、本開示の別の場所で提供される。
【００３１】
メンバスケジュールモジュール１０６は、（例えば、１又は複数の工程を実行する又はその実行を制御する）プロセッサ、マイクロプロセッサ、ＦＰＧＡ（field−programmable  gate  array）又はＡＳＩＣ（application−specific  integrated  circuit）を含むハードウェアを用いて実装できる。幾つかの他の例では、メンバスケジュールモジュール１０６は、ハードウェア及びソフトウェアの組み合わせを用いて実装されて良い。ソフトウェアでの実装は、コンピューティングシステム（例えば、メンバ装置１２４）のハードウェアに含まれ得るような１又は複数のトランジスタ又はトランジスタ要素の迅速な起動及び停止を含み得る。追加で、ソフトウェア定義命令は、トランジスタ要素の中の情報に対して作用して良い。ソフトウェア命令の実装は、電子経路を少なくとも一時的に再構成し、コンピューティングハードウェアを変換して良い。
【００３２】
カレンダサーバ１１１は、プロセッサ、メモリ、及びネットワーク通信能力を有するハードウェアサーバを有して良い。図示の実施形態では、カレンダサーバ１１１は、ネットワーク１２２を介してデータを環境コンポーネントのうちの１又は複数へ送信し及びそれから受信するために、ネットワーク１２２に結合されて良い。
【００３３】
カレンダサーバ１１１は、サーバスケジュールモジュール１０４を有して良い。サーバスケジュールモジュール１０４は、グループ入力、環境データ、フィードバック、又はそれらの何らかの組合せに基づき、協調スケジュール１１５を生成するよう構成されて良い。例えば、サーバスケジュールモジュール１０４は、メンバ装置１２４からタスク及び制約を含むグループ入力を、及び環境データソース１３２から環境データを、受信するよう構成されて良い。
【００３４】
サーバスケジュールモジュール１０４は、環境データ、特性及びグループ入力に基づき、協調スケジュールを計算するよう構成されて良い。例えば、サーバスケジュールモジュール１０４は、メンバ１１３の実現可能スケジュールに関連付けられる特定数の実現可能スケジュール及び合計スケジュールコストを計算するよう構成されて良い。
【００３５】
サーバスケジュールモジュール１０４は、協調スケジュール情報をメンバ装置に通信し、及びメンバ１１３からフィードバックを受信して良い。サーバスケジュールモジュール１０４は、フィードバックに基づきメンバの特性を決定するよう構成されて良い。サーバスケジュールモジュール１０４は、受信したフィードバックに基づきメンバの特性を更新するよう構成されて良い。幾つかの実施形態では、サーバスケジュールモジュール１０４は、メンバ１１３の特性の初期値を設定し、初期値を更新するよう構成されて良い。サーバスケジュールモジュール１０４は、メンバ１１３の中で選択された又は上位にランク付けされた実現可能スケジュールのうちの１つとして、協調スケジュール１１５を生成するよう構成されて良い。
【００３６】
サーバスケジュールモジュール１０４は、プロセッサ、（例えば、１又は複数の工程を実行する又はその性能を制御する）マイクロプロセッサ、ＦＰＧＡ又はＡＳＩＣを含むハードウェアを用いて実装できる。幾つかの他の例では、サーバスケジュールモジュール１０４は、ハードウェア及びソフトウェアの組み合わせを用いて実装されて良い。ソフトウェアでの実装は、コンピューティングシステム（例えば、カレンダサーバ１１１）のハードウェアに含まれ得るような１又は複数のトランジスタ又はトランジスタ要素の迅速な起動及び停止を含み得る。追加で、ソフトウェア定義命令は、トランジスタ要素の中の情報に対して作用して良い。ソフトウェア命令の実装は、電子経路を少なくとも一時的に再構成し、コンピューティングハードウェアを変換して良い。
【００３７】
本開示の範囲から逸脱することなく動作環境１００に対し変更、追加又は省略が行われて良い。本開示は、１又は複数のカレンダサーバ１１１、１又は複数のメンバ装置１２４、１又は複数の環境データソース１３２、１又は複数のメンバ１１３、１又は複数のグループ１５０、１又は複数のネットワーク１２２、又はそれらの任意の組合せを有して良い動作環境に適用されて良い。例えば、動作環境１００は、複数のグループにオーバラップされて良い複数のメンバ１１３を有する複数のグループ１５０を有して良い。
【００３８】
さらに、本願明細書に記載の実施形態の中の種々のコンポーネントの分割は、分割が全ての実施形態において生じることを意味しない。本開示の利益により、記載のコンポーネントが単一のコンポーネントに統合され又は複数のコンポーネントに分割されても良いことが理解される。
【００３９】
図２は、図１の動作環境１００で実施され得る例示的なスケジューリング処理２００を示す。図２は、図１を参照して記載されたカレンダサーバ１１１、メンバ装置１２４、環境データソース１３２、メンバ１１３を有する。図２に図示しないが、スケジューリング処理２００の最中の通信は、図１のネットワーク１２２又はその何らかの部分を介して良い。
【００４０】
図２の実施形態では、サーバスケジュールモジュール１０４は、データ収集エンジン１１２を有して良い。データ収集エンジン１１２は、環境データソース１３２にアクセスし又はそれから環境データ２１２を受信するよう構成されて良い。環境データ２１２は、図１のネットワーク１２２を介して通信されるデジタルデータの形式を取って良い。
【００４１】
サーバスケジュールモジュール１０４は、スケジュール収集エンジン１１４も有して良い。スケジュール収集エンジン１１４は、メンバ装置１２４にアクセスし又はそれからグループ入力２０２を受信するよう構成されて良い。例えば、メンバ１１３は、ユーザ入力を提供するために、メンバ装置１２４とインタフェースして良い。ユーザ入力は、次に、スケジュール収集エンジン１１４に通信されて良い。追加又は代替で、スケジュール収集エンジン１１４は、グループ入力２０２を得るためにメンバ装置１２４上で実行する１又は複数のアプリケーションにアクセスして良い。
【００４２】
グループ入力２０２は、個別メンバ制約２０８、共通メンバ制約２１０、共通メンバタスク２０６、個別メンバタスク２０４、又はそれらの何らかの組合せを有して良い。個別メンバ制約２０８は、メンバ１１３のうちの一人だけに関連する制約を有して良い。例えば、メンバ１１３は、８：１０ＡＭ以前に仕事に就かなければならない。あるいは、メンバ１１３は、最大３０時間／週しか働けない。共通メンバ制約２１０は、メンバ１１３のうちの２人以上又は全員に適用する制約を有して良い。例えば、共通メンバ制約２１０は、協調スケジュール１１５が生成されるプロジェクトに適用可能な予算を有して良い。さらに、共通メンバ制約２１０は、第１メンバ及び第２メンバが日曜に働かないというような、メンバ１１３の部分集合に適用可能な制約を有して良い。共通メンバタスク２０６は、メンバ１１３のうちの２人以上又は全員が参加する又はメンバ１１３のうちの少なくとも１人が完了するべきであるタスクを有して良い。個別メンバタスク２０４は、メンバ１１３のうちの１人が参加するタスクを有して良い。上述のように、共通メンバタスク２０６及び／又は個別メンバタスク２０４は、確かなタスク及び融通の利くタスクを有して良い。共通メンバタスク２０６及び個別メンバタスク２０４は、集合的にタスク２０４及び２０６として参照されて良い。
【００４３】
サーバスケジュールモジュール１０４は、協調スケジュール計算エンジン１０８を有して良い。グループ入力２０２及び環境データ２１２は、協調スケジュール計算エンジン１０８により受信されて良い。グループ入力２０２及び環境データ２１２に基づき、協調スケジュール計算エンジン１０８は、協調スケジュール情報２１４（図２の「協調スケジュール情報２１４」）を計算して良い。協調スケジュール情報２１４は、実現可能スケジュール２１６及び合計スケジュールコスト２１８を有して良い。
【００４４】
協調スケジュール計算エンジン１０８は、タスク２０６及び２０４が制約２０８及び２１０のうちのいずれにも違反することなく達成可能である実現可能スケジュール２１６を計算するよう構成されて良い。幾つかの実施形態では、実現可能スケジュール２１６の計算は、個別メンバタスク２０４及び共通メンバタスク２０６の完了を含む全ての可能なスケジュールの列挙を含んで良い。全ての可能なスケジュールは、メンバ１１３のうちの（例えば、共通メンバタスク２０６を実行する）１人に高い合計スケジュールコスト２１８を課すスケジュール及び制約２０８及び２１０に違反するスケジュールを有して良い。
【００４５】
全ての可能なスケジュールを列挙するために、協調スケジュール計算エンジン１０８は、個別メンバタスク２０４について及び共通メンバタスク２０６についてベクトルを定めて良い。ベクトルは次のようにフォーマット化されて良い：［開始時間，終了時間，開始場所，終了場所］。
【００４６】
例えば、例示的なタスクは、９：００ＡＭまでに出社することを含んで良い。[００５２]      例示的なタスクについてのベクトルは、次のように定められて良い：［Ｘ，＞９ＡＭ，Ｚ，職場住所］。
【００４７】
例示的なタスクの制約は、Ｘ＜９ＡＭであること、及びＺが職場住所と等しくないこと、を有して良い。
【００４８】
協調スケジュール計算エンジン１０８は、個別メンバタスク２０４及び共通メンバタスク２０６を特定数のタスクグループに分割して良い。タスクグループは、特定の時間枠の範囲内の開始時間又は終了時間を有して良い。例えば、朝に（例えば、１２：００ＰＭ前に）開始時間又は終了時間を有するタスク２０４及び２０６は、第１タスクグループであって良く、夕方に（例えば、１２：００ＰＭと１０：００ＰＭとの間に）開始時間又は終了時間を有するタスク２０４及び２０６は、第２タスクグループであって良い。
【００４９】
例えば、上述の例示的なタスク（［Ｘ，＞９ＡＭ，Ｚ，職場住所］）に加えて、第２の例示的なタスクが存在して良い。第２の例示的なタスクは、ベクトル［ａ，＞７ＡＭ，ｂ，託児所］により定められて良い。これは、７ＡＭ前に子供を託児所に連れて行くタスクを表して良い。例示的なタスク及び第２の例示的なタスクは両方とも、朝に終了時間を有するので、それらは共に第１タスクグループであって良い。
【００５０】
タスクグループの中のタスク２０４及び２０６では、協調スケジュール計算エンジン１０８は、未知の場所パラメータの１又は複数の可能性を考慮して良い。例えば、上述の例示的なタスク及び第２の例示的なタスクを用いると、協調スケジュール計算エンジン１０８は、例示的なタスクの「Ｚ」及び「ｂ」の可能性を考慮して良い。例えば、「Ｚ」及び「ｂ」は「家」であって良い。したがって、例示的なタスク及び第２の例示的なタスクの各々の開始点は、家であって良い。代替で、「Ｚ」は「託児所」であって良く、メンバは「託児所」から「職場」までドライブして良い。さらに、「ｂ」は家であって良い。したがって、メンバ１１３は、「家」から「託児所」まで及び「託児所」から「職場」までドライブして良い。
【００５１】
協調スケジュール計算エンジン１０８は、１又は複数の未知の場所において連続性を示すベクトルを選択して良い。したがって、上述の例では、協調スケジュール計算エンジン１０８は、未知の場所の連続性により、「Ｚ」が「託児所」になるよう、「ｂ」が「家」になるよう選択して良い。したがって、例示的なタスク及び第２の例示的なタスクについてのベクトルは以下の通りであって良い：
［ａ，＞７ＡＭ，家，託児所］
［Ｘ，＞９ＡＭ，託児所，職場住所］
協調スケジュール計算エンジン１０８は、次に、個別メンバ制約２０８及び共通メンバ制約２１０を満たす開始時間の又は終了時間の未知の値を見出して良い。例えば、例示的なタスク及び第２の例示的なタスクについて、「家」と「託児所」の間の通勤時間は約３０分であって良く、「託児所」と「職場」の間の通勤時間は約６０分であって良い。したがって、「Ｚ」が「託児所」になるよう選択され、「ｂ」が「家」になるよう選択されるとき、Ｘ＞８ＡＭ且つａ＞６：３０ＡＭである。
【００５２】
協調スケジュール計算エンジン１０８は、次に、実現可能スケジュール２１６を、個別メンバ制約２０８又は共通メンバ制約２１０に違反することなく達成できる可能なスケジュールの部分集合として識別して良い。上述の例は、制約に違反せずに完了され得るので、実現可能スケジュール２１６に含まれて良い。
【００５３】
協調スケジュール計算エンジン１０８は、１又は複数のメンバ１１３の及び１又は複数の実現可能スケジュール２１６の合計スケジュールコスト２１８も計算して良い。合計スケジュールコスト２１８は、以下の合計スケジュールコスト式に従い計算されて良い。
Ｃｔ（Ｓｉ，ｕｊ）＝Ｃ１（Ｓｉ，ｕｊ）−Ｃ２（Ｓｉ，ｕｊ），
Ｃ１（Ｓｉ，ｕｊ）＝Ｃｐ（Ｓｉ，ｕｊ）−γＣν（Ｓｉ，ｕｊ），
Ｃ２（Ｓｉ，ｕｊ）＝Σｋα（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｊ）−Ｃ１（Ｓｉ，ｕｋ），０］
＋Σｋβ（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｋ）−Ｃ１（Ｓｉ，ｕｊ），０］
合計スケジュールコスト式において、ｉ，ｊ，ｋはインデックス変数を表す。パラメータＳｉは、インデックス変数により識別される実現可能スケジュール２１６のうちの１つを表す。パラメータｕｊは、別のインデックス変数により識別されるメンバ１１３のうちの１つを表す。パラメータＣｔ（Ｓｉ，ｕｊ）は、メンバ１１３のうちの１人の及び実現可能スケジュール２１６のうちの１つの合計スケジュールコスト２１８を表す。パラメータＣ１（Ｓｉ，ｕｊ）は、メンバ１１３のうちの１人により負担される及び実現可能スケジュール２１６のうちの１つのための個別コストを表す。パラメータＣ２（Ｓｉ，ｕｊ）は、メンバ１１３のうちの１人により負担される及び実現可能スケジュール２１６のうちの１つのための行動コストを表す。パラメータＣｐ（Ｓｉ，ｕｊ）は、メンバ１１３のうちの１人についての実現可能スケジュール２１６のうちの１つの個別メンバ実行コストを表す。パラメータＣν（Ｓｉ，ｕｊ）は、メンバ１１３のうちの１人についての実現可能スケジュール２１６のうちの１つを実行する間の融通の利くタスクの違反コストを表す。パラメータγは、任意の実現可能タスク（例えば、２０６及び２０４）が違反される場合、個別コストを低減するペナルティ係数を表す。パラメータｍａｘは、最大化関数を表し得る。α（ｊ，ｋ）は、実現可能スケジュール２１６と独立である非利己的パラメータを表す。β（ｊ，ｋ）は、実現可能スケジュール２１６と独立である利己的パラメータを表す。式Σｋα（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｊ）−Ｃ１（Ｓｉ，ｕｋ），０］は、非利己的式を表す。式Σｋβ（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｊ）−Ｃ１（Ｓｉ，ｕｋ），０］は、利己的式を表す。
【００５４】
上述の合計スケジュールコスト式によると、合計スケジュールコスト２１８は、メンバ１１３のうちの１人により負担される個別コスト、及びメンバ１１３のうちの１人により負担される行動コストに基づいて良い。個別コストは、実現可能スケジュール２１６のうちの１つを実行することにより負担される実行コストに基づいて良い。実行コストは、実現可能スケジュール２１６を実行する一方で違反される融通の利くタスクに関連するコストである、融通の利くタスクの違反コストにより低減される。融通の利くタスクの違反コストは、ペナルティ係数により乗算される。
【００５５】
行動コストは、非利己的パラメータ及び利己的パラメータにより表されるメンバ１１３の特性を考慮する。非利己的パラメータ及び利己的パラメータは、実現可能スケジュール２１６と独立であり、代わりにメンバ１１３に関連付けられる。非利己的パラメータ及び利己的パラメータの決定の幾つかの詳細事項は、本開示の別の場所で提供される。
【００５６】
協調スケジュール情報２１４は、メンバ装置１２４に通信されて良い。メンバ装置１２４において、協調スケジュール情報２１４は、メンバ１１３により閲覧されて良い。幾つかの実施形態では、協調スケジュール情報２１４は、メンバ装置に通信されるコストテーブルに含まれて良い。コストテーブルの一例は、本開示の別の場所で提供される。これに応答して、フィードバック２２０が、メンバ装置１２４からカレンダサーバ１１１に通信されて良い。フィードバック２２０は、実現可能スケジュール２１６のうちの１つの選択、又は実現可能スケジュール２１６の互いに対するランクを含んで良い。例えば、特定数の実現可能スケジュール２１６及び合計スケジュールコスト２１８は、メンバ装置１２４に通信されて良い。これに応答して、メンバ１１３は、実現可能スケジュール２１６のうちの１つを、実現可能スケジュール２１６の選好２２２又はランク２２４として選択して良い。
【００５７】
フィードバック２２０は、協調スケジュール計算エンジン１０８に通信されて良い。フィードバック２２０に基づき、協調スケジュール計算エンジン１０８は、協調スケジュール１１５を生成して良い。例えば、協調スケジュール計算エンジン１０８は、協調スケジュール１１５を、メンバ１１３により選択された又はメンバ１１３により最高にランク付けされた実現可能スケジュール２１６として生成して良い。
【００５８】
幾つかの実施形態では、サーバスケジュールモジュール１０４は、特性計算エンジン１１０を有して良い。特性計算エンジン１１０は、メンバ１１３の特性２２５を決定するよう構成されて良い。初期協調スケジュール１１５を生成するために、特性計算エンジン１１０は、メンバ１１３の行動特性２２５の初期値を設定するよう構成されて良い。特性計算エンジン１１０は、受信したフィードバック２２０に基づきメンバ１１３の特性２２５を更新するよう構成されて良い。
【００５９】
例えば、特性計算エンジン１１０は、少なくとも部分的にフィードバック２２０の特性２２５を決定するよう構成されて良い。決定は、少なくとも部分的にフィードバック２２０の非利己的パラメータ及び利己的パラメータの推定を有して良い。推定は、共通メンバタスク２０６の分類を有して良い。共通メンバタスク２０６は、制約共通タスク及び中立共通タスクとして分類されて良い。制約共通タスクは、利己的に又は非利己的に行動する少なくとも１人のメンバに関与するタスクを有して良い。中立共通タスクは、メンバ１１３のうちの任意の者が利己的又は非利己的である必要がなく完了され得るタスクを有して良い。
【００６０】
上述及び他の実施形態では、推定するステップは、メンバ１１３が中立共通タスクに応答する確率を計算するステップを有して良い。メンバ１１３が中立共通タスクに応答する確率を計算するステップは、中立共通タスク式に従い実行されて良い：
Ｐｎｉ＝μｉ／Ｎ
中立共通タスク式において、Ｐｎｉは、メンバ１１３が中立共通タスクに応答する確率を表す。パラメータμｉは、メンバ１１３が中立共通タスクに応答する回数を表す。パラメータＮは、中立共通タスクの合計数を表す。
【００６１】
推定するステップは、メンバ１１３が制約共通タスクに非利己的に応答する確率を計算するステップを有して良い。メンバ１１３が制約共通タスクに応答する確率を計算するステップは、非利己的共通タスク式に従い実行されて良い：
Ｐｓｌｉ＝σｉ／Ｑ
非利己的共通タスク式において、Ｐｓｌｉは、メンバ１１３が制約共通タスクに非利己的に応答する確率を表す。パラメータσｉは、メンバ１１３が非利己的共通タスクに応答する回数を表す。パラメータＱは、制約共通タスクの合計数を表す。
【００６２】
推定するステップは、メンバ１１３が制約共通タスクに利己的に応答する確率を計算するステップを有して良い。メンバ１１３が制約共通タスクに利己的に応答する確率を計算するステップは、利己的共通タスク式に従い実行されて良い：
Ｐｓｉ＝Ｔｉ／Ｑ
利己的共通タスク式において、Ｐｓｉは、メンバ１１３が制約共通タスクに利己的に応答する確率を表す。パラメータＴｉは、メンバが利己的共通タスクに応答する回数を表す。パラメータＱは上述の通りである。
【００６３】
幾つかの実施形態では、メンバ１１３が制約共通タスクに利己的に応答する確率を計算するステップ、及びメンバ１１３が制約共通タスクに非利己的に応答する確率を計算するステップは、ヒストグラム及びヒストグラムにプロットされたデータのラプラス平滑化に基づいて良い。
【００６４】
図５及び６は、例示的なプロットされたデータ（ｄａｔａ）５００を示す。図２、５、６を一緒に参照すると、プロットされたデータ５００は、特定のメンバ１１３が制約共通タスクに利己的に応答する確率データを有する。同様のデータは、メンバ１１３が制約共通タスクに利己的に応答する確率についてプロットされて良い。概して、図５及び６のプロットされたデータ５００は、現在の又は来る状況に類似する状況でのメンバ１１３からのフィードバック（例えば、図２の実現可能スケジュール２１６の選好２２２及び／又はランク２２４）に基づいて良い。状況、及び状況間の類似性の決定は、環境データの共通性、同じ又は類似するメンバ部分集合を含むグループ、時間期間、等に基づいて良い。例えば、図５及び図６に示す確率は、第１メンバ、第２メンバ、及び第３メンバを含むグループの協調スケジュールについて決定されて良く、１２月中のグループの通勤スケジュールについてのものであって良い。したがって、プロットされたデータ５００は、グループについて及び／又は前の１２月からの通勤スケジュールについて受信されたフィードバック２２０を表して良い。
【００６５】
図５は、図１の動作環境１００で実施され得る例示的なヒストグラム図を示す。図６は、図５のヒストグラム図のプロットされたデータ５００のラプラス平滑化を示す。図５のヒストグラムプロット及び図６のラプラス平滑化では、ｘ軸５０４はタスクを表す。図５及び６には、７個のタスクがある。幾つかの実施形態では、プロットされたデータ５００は、７個より多くの又は少ないタスクを有して良い。ｙ軸５０２は確率を表す。確率は、確率式のうちの１又は複数に従い計算されて良い。例えば、図５及び６の確率は、上述の非利己的共通タスク式に従い計算されて良い。他の実施形態では、確率は、上述の利己的共通タスク式及び／又は中立共通タスク式に従い計算されて良い。
【００６６】
例えば、第１データプロット５０６Ａは第１タスクについてであって良い。
【００６７】
第１データ点５０６Ａは、特定のメンバ１１３が制約共通タスクに非利己的に応答する０．２０の確率があったことを示し得る。
【００６８】
同様に、第２データ点５０６Ｂ、第３データ点５０６Ｃ、第４データ点５０６Ｄ、第５データ点５０６Ｅ、第６データ点５０６Ｆ、第７データ点５０６Ｇは、それぞれ第２タスク、第３タスク、第４タスク、第５タスク、第６タスク、及び第７タスクについてのものであって良い。特定のメンバ１１３が制約共通タスクに非利己的に応答する確率は、それぞれ０．２０、０．３０、０．２０、０．１５、０．１０、０．０５、０．２５である。
【００６９】
図６を参照すると、ラプラス平滑化は、特定メンバ１１３が制約共通タスクに非利己的に応答する確率を推定するために使用されて良い。ラプラス平滑化のグラフィカル表現は図６において６０２とラベル付けされる。
【００７０】
したがって、ラプラス平滑化を用いて、非利己的パラメータは、非利己的式に従い計算されて良い：
α（ｉ，ｊ）＝（σｉ＋１）／（Ｎ＋ｓ）、
ｓ＝ｔＣＯＭＢｘ
非利己的式において、パラメータα（ｉ，ｊ）、σｉ、Ｎは上述の通りである。パラメータｓは、制約タスクの想定可能な組合せの合計数を表す。例えば、２個の制約タスクがあり、メンバ１１３がそれぞれ利己的に又は非利己的に応答し得る場合、想定可能な組合せの合計数は４である（例えば、［｛非利己的、非利己的｝、｛利己的、非利己的｝、｛利己的、利己的｝、｛非利己的、利己的｝］）。パラメータｔは、特性を表す（例えば、利己的、又は非利己的）。パラメータｘは、メンバ１１３のうちのメンバを表す。演算子ＣＯＭＢは、組合せ演算子を表す。
【００７１】
同様に、ラプラス平滑化を用いて、利己的パラメータは、利己的式に従い計算されて良い：
β（ｉ，ｊ）＝（Ｔｉ＋１）／（Ｎ＋ｓ）、
ｓ＝ｔＣＯＭＢｘ
利己的式において、パラメータは上述の通りである。
【００７２】
図１及び２に示す実施形態は、協調スケジューリング処理２００及びサーバに基づく動作環境１００を含む。幾つかの実施形態では、スケジューリング処理２００は、サーバに基づく代わりに、メンバ装置１２４においてローカルに実施されて良い。例えば、図３は、協調スケジューリング処理のローカルな実装のために構成される例示的なメンバ装置１２４のブロック図を示す。ローカルな実装は、図２を参照して記載したスケジューリング処理２００と実質的に同様である。しかしながら、メンバ１１３Ａ〜１１３Ｃは、メンバ装置１２４にグループ入力２０３を提供して良い。メンバ装置１２４は、メンバスケジュールモジュール１０６の一実施形態を有して良い。メンバスケジュールモジュール１０６は、図２を参照して記載したスケジューリング処理２００に類似する処理を実施する協調スケジュール１１５を生成するよう構成される。
【００７３】
例えば、メンバスケジュールモジュール１０６は、グループ入力２０３、環境データ２１２、フィードバック２２０、又はそれらの何らかの組合せに基づき、協調スケジュール１１５を生成するよう構成されて良い。例えば、メンバスケジュールモジュール１０６は、タスク２０４、２０６及び制約２０８、２１０を含むグループ入力２０３を、及び環境データソース（例えば、図１及び２の１３２）から環境データ２１２を、受信するよう構成されて良い。
【００７４】
メンバスケジュールモジュール１０６は、環境データ２１２、特性２２５及びグループ入力２０３に基づき、協調スケジュール情報を計算するよう構成されて良い。例えば、メンバスケジュールモジュール１０６は、メンバ１１３の実現可能スケジュールに関連付けられる特定数の実現可能スケジュール及び合計スケジュールコストを計算するよう構成されて良い。
【００７５】
メンバスケジュールモジュール１０６は、協調スケジュール情報をメンバ装置１２４上で表示し又は提示し、及びメンバ１１３からフィードバック２２０を受信して良い。メンバスケジュールモジュール１０６は、フィードバック２２０に少なくとも部分的に基づきメンバ１１３の特性２２５を決定するよう構成されて良い。メンバスケジュールモジュール１０６は、受信したフィードバック２２０に基づきメンバ１１３の特性２２５を更新するよう構成されて良い。幾つかの実施形態では、メンバスケジュールモジュール１０６は、メンバ１１３の特性２２５の初期値を設定し、初期値を更新するよう構成されて良い。メンバスケジュールモジュール１０６は、メンバ１１３により選択された実現可能スケジュールとして、協調スケジュール１１５を生成するよう構成されて良い。
【００７６】
図４は、図１の動作環境１００で実施され得る例示的なコストテーブル４０２を示す。コストテーブル４０２は、本開示の他の場所に記載されるカレンダサーバ１１１により生成されて良い。コストテーブル４０２は、図４のメンバ１１３Ａ〜１１３Ｃのうちの１又は複数の実現可能スケジュール２１６の各々の合計スケジュールコスト２１８を有して良い。コストテーブル４０２は、図１及び２のメンバ装置１２４に通信されて良い。コストテーブル４０２又はその何らかの部分は、メンバ装置１２４上で表示するよう構成されて良い。したがって、メンバ１１３のうちの１人は、コストテーブル４０２に含まれる情報を閲覧でき又はそれを公開されて良い。幾つかの実施形態では、コストテーブル４０２に基づき、メンバ１１３は、実現可能スケジュール２１６のうちの１つを選択して良く、又は実現可能スケジュール２１６の各々を互いに対してランク付けして良い。例えば、第３メンバ１１３Ｃは、第１実現可能スケジュール２１６Ａを選択して良い。第１実現可能スケジュール２１６Ａの選択を含むフィードバックは、第３メンバ１１３Ｃに関連付けられるメンバ装置１２４のうちの１つから、カレンダサーバ１１１に通信されて良い。代替又は追加で、フィードバックは、実現可能スケジュール２１６のランク付けを有して良い。例えば、第３メンバ１１３Ｃは、第１実現可能スケジュール２１６Ａを最良として、次に第３実現可能スケジュール２１６Ｃが続き、次に第２実現可能スケジュール２１６Ｂが続くとしてランク付けして良い。実現可能スケジュールのランク付けを含むフィードバックは、第３メンバ１１３Ｃに関連付けられるメンバ装置１２４のうちの１つから、カレンダサーバ１１１に通信されて良い。
【００７７】
コストテーブル４０２の中には、メンバ１１３の各々についての及び実現可能スケジュール２１６Ａ〜２１６Ｃの各々についての合計スケジュールコスト４０２Ａ〜４０２Ｉ（図４では、「第１コスト」、「第２コスト」、「第３コスト」、等）があって良い。例えば、第１実現可能スケジュール２１６について第１メンバ１１３Ａにより負担される第１コスト４０２Ａがあって良い。他の合計スケジュールコスト４０２Ｂ〜４０２Ｉは、実現可能スケジュール２１６の各々についてメンバ１１３の各々についてであって良い。
【００７８】
コストテーブル４０２には、括弧に囲まれた数字がある。合計スケジュールコスト４０２Ａ〜４０２Ｉの各々の中の括弧内の数字は、合計スケジュールコスト４０２Ａ〜４０２Ｉに関連付けられる値を表す。例えば、第１コスト４０２Ａは８であり、第４コスト４０２Ｄは６である。合計スケジュールコスト４０２Ａ〜４０２Ｉの値は、メンバ１１３が利己的か非利己的かを特徴付けるために使用されて良い。利己的は、選択された又は高くランク付けされた（選好により近い）実現可能スケジュール２１６がより高い合計スケジュールコストを他のメンバ１１３に設置するときに想定されて良い。非利己的は、選択された又は高くランク付けされた（選好により近い）実現可能スケジュール２１６がより低い合計スケジュールコストを他のメンバ１１３に設置するときに想定されて良い。例えば、第３メンバ１１３Ｃが第１実現可能スケジュール２１６Ａを選択することは、結果として、第３メンバ１１３Ｃが利己的であると特徴付けられることを生じる。なぜなら、第７コスト４０２Ｇは１であり、一方、第４コスト４０２Ｄは６であり且つ第１コスト４０２Ａは８であるからである。したがって、より高いコストが、第３メンバ１１３Ｃにより、第２メンバ１１３Ｂ及び第１メンバ１１３Ａに配置されている。さらに、第１実現可能スケジュール２１６Ａの第１メンバ１１３Ａによる選択は、結果として、第１メンバを非利己的として特徴付けることをもたらして良い。なぜなら、第４コスト４０２Ｄは４であり、第７コスト４０２Ｇは１であるからである。したがって、より低いコストが、第２メンバ１１３Ｂ及び第３メンバ１１３Ｃに配置されている。
【００７９】
図７は、協調スケジューリングの例示的な方法７００のフロー図である。方法７００は、図１の動作環境１００のような動作システムで実行されて良い。方法７００は、幾つかの実施形態において、図１〜３を参照して記載されたカレンダサーバ１１１及び／又はメンバ装置１２４によりプログラム制御されて実行されて良い。幾つかの実施形態では、カレンダサーバ１１１及び／又はメンバ装置１２４又は別のコンピューティングシステムは、コンピューティングシステム及び／又はカレンダサーバ１１１及び／又はメンバ装置１２４に方法７００を実行させる又は実行を制御させる（図８のプロセッサ８０４のような）１又は複数のプロセッサにより実行可能なプログラムコード又は命令を格納している非一時的コンピュータ可読媒体（例えば、図８のメモリ８０８）を有して良く又はそれに通信可能に結合されて良い。追加又は代替で、カレンダサーバ１１１は、カレンダサーバ１１１及び／又はメンバ装置１２４又は別のコンピューティングシステムに方法７００を実行させる又は実行を制御させるコンピュータ命令を実行するよう構成される、本開示の他の場所に記載されるプロセッサ８０４を有して良い。別個のブロックとして示したが、所望の実装に依存して、図７の種々のブロックは、更なるブロックに分割され、少ないブロックに結合され、又は除去されて良い。
【００８０】
方法７００は、ブロック７０２で開始して良く、特性について初期値が設定されて良い。初期値は、協調スケジュールの関連するグループに含まれる各メンバについて設定されて良い。幾つかの実施形態では、図１及び２のカレンダサーバ１１１のようなカレンダサーバは、メンバの初期値を設定するよう構成されて良い。
【００８１】
ブロック７０４で、グループ入力が受信されて良い。グループ入力は、個別メンバタスク、共通メンバタスク、個別メンバ制約、共通メンバ制約を有して良い。幾つかの実施形態では、グループ入力は、図１及び２のメンバ装置１２４のようなメンバ装置から受信されて良い。個別メンバタスク及び共通メンバタスクは、違反されない少なくとも１つの確かなタスクと、違反される少なくとも１つの融通の利くタスクと、を含む。ブロック７０６で、カレンダサーバにおいて、環境データが受信されて良い。環境データは、収集エンジンにより収集されて良い。
【００８２】
ブロック７０８で、協調スケジュール情報が計算されて良い。協調スケジュール情報は、環境データ、特性、グループ入力、又はそれらの何らかの組合せに基づき計算されて良い。協調スケジュール情報は、特定数の実現可能スケジュール、及び各メンバの実現可能スケジュールに関連付けられる合計スケジュールコストを有して良い。各メンバの合計スケジュールコストは、個別メンバ実行コスト、融通の利くタスクの違反コスト、行動コスト、又はそれらの何らかの組合せに基づいて良い。
【００８３】
幾つかの実施形態では、協調スケジュール情報を計算するステップは、各メンバの及び実現可能スケジュールの各々の合計スケジュールコストを計算するステップを有する。各メンバの合計スケジュールコストは、本願明細書の他の場所に記載される合計スケジュールコスト式に従い計算されて良い。
【００８４】
ブロック７１０で、テーブルが生成されて良い。テーブルは、各メンバの実現可能スケジュールの各々の合計スケジュールコストを有して良い。ブロック７１２で、テーブルは、各メンバに関連付けられるメンバ装置に通信されて良い。ブロック７１４で、フィードバックが各メンバから受信されて良い。フィードバックは、選好スケジュールとして実現可能スケジュールの選択を有して良い。幾つかの実施形態では、追加又は代替で、フィードバックは、実現可能スケジュールの各々の互いに対するランクを有して良い。
【００８５】
幾つかの実施形態では、フィードバックは、第１実現可能スケジュールが第１メンバからの選好スケジュールとして選択される第１選択、第２メンバからの第１実現可能スケジュールを選択する第２選好、及び複数のメンバのうちの第２メンバに対するより第１メンバに対するより高い合計スケジュールコストを有する第１実現可能スケジュール、を有して良い。上述及び他の実施形態では、上述のフィードバックに応答して、方法７００は、第１メンバを非利己的として特徴付け及び第２メンバを利己的として特徴付けるステップを有して良い。
【００８６】
ブロック７１６で、第１特性及び第２特性は、各メンバについて決定されて良い。幾つかの実施形態では、第１特性は、利己的を有して良い。第１特性は、選択された実現可能スケジュールが設置されるとき、他のメンバに対してより高い合計スケジュールコストを想定されて良い。幾つかの実施形態では、第２特性は、非利己的を有して良い。第２特性は、選択された実現可能スケジュールが設置されるとき、他のメンバに対してより低い合計スケジュールコストを想定されて良い。
【００８７】
幾つかの実施形態では、第１特性及び第２特性の決定は、受信したフィードバックに少なくとも部分的に基づき、非利己的パラメータ及び利己的パラメータを推定するステップを有して良い。上述及び他の実施形態では、推定するステップは、メンバが中立共通タスクに応答する確率を計算するステップを有して良い。各メンバが中立共通タスクに応答する確率を計算するステップは、本願明細書の他の場所に記載される中立共通タスク式に従い実行されて良い。
【００８８】
推定するステップは、各メンバが制約共通タスクに非利己的に応答する確率を計算するステップを有して良い。各メンバが制約共通タスクに非利己的に応答する確率を計算するステップは、本願明細書の他の場所に記載される非利己的共通タスク式に従い実行されて良い。
【００８９】
推定するステップは、各メンバが制約共通タスクに利己的に応答する確率を計算するステップを有して良い。各メンバが制約共通タスクに利己的に応答する確率を計算するステップは、本願明細書の他の場所に記載される利己的共通タスク式に従い実行されて良い。
【００９０】
幾つかの実施形態では、各メンバが制約共通タスクに利己的に応答する確率を計算するステップ、及び各メンバが制約共通タスクに非利己的に応答する確率を計算するステップは、本願明細書の他の名書に記載される、類似する状況のヒストグラムをプロットし、及びラプラス平滑化を用いて、非利己的式及び利己的式に従い非利己的パラメータを算出するステップを有して良い。ブロック７１８で、協調スケジュールが計算されて良い。協調スケジュールは、実現可能スケジュールがメンバにより選択されると、生成されて良い。ブロック７２０で、各メンバの特性は、受信したフィードバックに基づき更新されて良い。特性の更新に続いて、方法７００は、ブロック７０４、７０６、７０８、７１０、７１２、７１４、７１６、７１８、７１０のうちの１又は複数に進んで良い。ブロック７０８で実行される工程は、特性の更新された値を使用して良い。
【００９１】
当業者は、上述の及び本願明細書に開示した他の手順及び方法において、その処理及び方法で実行される機能が異なる順序で実施されても良いことを理解するだろう。さらに、概略のステップ及び動作は、単に例として提供され、幾つかのステップ及び動作は、開示の実施形態から逸脱することなく、任意であり、より少ないステップ及び動作に組み合わされ、又は追加ステップ及び動作に拡張されて良い。例えば、幾つかの実施形態では、方法７００は、協調スケジュール情報を計算する複数の工程を有して良い。工程は、個別メンバタスク及び共通メンバタスクの完了を含む全ての可能なスケジュールを列挙するステップを有して良い。個別メンバタスクの各々について及び共通メンバタスクの各々について、ベクトルが定められて良い。個別メンバタスク及び共通メンバタスクは、特定数のタスクグループに分割されて良い。タスクグループは、特定の時間枠の範囲内の開始時間又は終了時間を有して良い。グループの各々の中の個別メンバタスク及び共通メンバタスクについて、未知の場所パラメータの１又は複数の可能性が検討されて良い。１又は複数の未知の場所における連続性を示すベクトルが選択されて良い。個別メンバ制約及び共通メンバ制約を満たす開始時間又は終了時間の未知の値が発見されて良い。実現可能スケジュールは、個別メンバ制約又は共通メンバ制約に違反せずに達成できる可能なスケジュールの部分集合として識別されて良い。
【００９２】
図８は、協調スケジューリングのために構成される例示的なコンピューティングシステム８００を示す。コンピューティングシステム８００は、例えば図１の動作環境１００において実装されて良い。コンピューティングシステム８００の例は、カレンダサーバ１１１又はメンバ装置１２４を有して良い。コンピューティングシステム８００は、１又は複数のプロセッサ８０４、メモリ８０８、通信ユニット８０２、ユーザインタフェース装置８１４、データ記憶装置８０１を有して良い。データ記憶装置８０１は、サーバスケジュールモジュール１０４及びメンバスケジュールモジュール１０６（集合的に、モジュール１０４及び１０６）を有する。
【００９３】
プロセッサ８０４は、任意の適切な特定用途向け又は汎用コンピュータ、コンピューティングエンティティ、又は種々のコンピュータハードウェア若しくはソフトウェアモジュールを有して良く、任意の適切なコンピュータ可読媒体に格納された命令を実行するよう構成され得る処理装置を用いて実施されて良い。例えば、プロセッサ８０４は、マイクロプロセッサ、マイクロコントローラ、デジタシグナルプロセッサ（ＤＳＰ）、ＡＳＩＣ、ＦＰＧＡ又はプログラム命令を解釈し及び／若しくは実行し並びに／又はデータを処理するよう構成された任意の他のデジタル若しくはアナログ回路を有して良い。
【００９４】
図８には単一のプロセッサを示したが、プロセッサ８０４は、より一般的には、本開示で説明される任意の数の工程を個々に又は共同で実行するよう構成される任意の数のプロセッサを有して良い。さらに、プロセッサ８０４のうちの１又は複数は、１又は複数の異なる電子装置又はコンピューティングシステムに存在して良い。幾つかの実施形態では、プロセッサ８０４は、プログラム命令を解釈し及び／又は実行し、及び／又はメモリ８０８、データ記憶装置８０１又はメモリ８０８及びデータ記憶装置８０１に格納されたデータを処理して良い。幾つかの実施形態では、プロセッサ８０４は、データ記憶装置８０１からプログラム命令をフェッチし、該プログラム命令をメモリ８０８にロードして良い。プログラム命令がメモリ８０８にロードされた後、プロセッサ８０４は該プログラム命令を実行して良い。
【００９５】
メモリ８０８及びデータ記憶装置８０１は、コンピュータ実行可能命令又はデータ構造を伝える又は格納しているコンピュータ可読記憶媒体を含み得る。このようなコンピュータ可読媒体は、プロセッサ８０４のような汎用又は特定目的コンピュータによりアクセスできる任意の利用可能な媒体を含み得る。例として且つ限定ではなく、このようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又は他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置、フラッシュメモリ装置（例えば、固体メモリ素子）を含む有形又は非一時的コンピュータ可読記憶媒体、又はコンピュータにより実行可能な命令若しくはデータ構造の形式で所望のプログラムコード手段を伝える若しくは格納するために用いられ汎用若しくは特定目的コンピュータによりアクセス可能な他の記憶媒体を有し得る。上述の組合せも、コンピュータ可読記憶媒体の範囲に包含され得る。コンピュータ実行可能命令は、例えば、プロセッサ８０４に特定の工程又は工程のグループを実行させるよう構成される命令及びデータを含み得る。
【００９６】
通信ユニット８０２は、通信を受信し及び送信するよう構成されるハードウェアの１又は複数のピースを有して良い。幾つかの実施形態では、通信ユニット８０２は、通信ハードウェア装置の中でも特に、アンテナ、有線ポート、変調／復調ハードウェア、のうちの１又は複数を有して良い。特に、通信ユニット８０２は、コンピューティングシステム８００の外部から通信を受信するよう、及び該通信をプロセッサ８０４に提示し又はプロセッサ８０４からの通信を別の装置若しくはネットワーク（例えば、図１の１２２）に送信するよう、構成されて良い。
【００９７】
ユーザインタフェース装置８１４は、ユーザからの入力を受信し及び／又はユーザに出力を提供するよう構成されるハードウェアの１又は複数のピースを有して良い。幾つかの実施形態では、ユーザインタフェース装置８１４は、ハードウェア装置の中でも特に、スピーカ、マイクロフォン、ディスプレイ、キーボード、タッチスクリーン、ホログラフィックプロジェクション、のうちの１又は複数を有して良い。
【００９８】
モジュール１０４及び１０６は、データ記憶装置８０１に格納されたプログラム命令を有して良い。プロセッサ８０４は、モジュール１０４及び１０６をメモリ８０８にロードし、モジュール１０４及び１０６を実行するよう構成されて良い。代替で、プロセッサ８０４は、メモリ８０８にロードしないで、データ記憶装置８０１からモジュール１０４及び１０６を１行毎に実行して良い。モジュール１０４及び１０６を実行するとき、プロセッサ８０４は、本開示の他の場所に記載したように、参加認証処理を実行するよう構成されて良い。
【００９９】
本開示の範囲から逸脱することなくコンピューティングシステム８００に対し変更、追加又は省略が行われて良い。例えば、幾つかの実施形態では、コンピューティングシステム８００は、ユーザインタフェース装置８１４を有しなくて良い。幾つかの実施形態では、コンピューティングシステム８００の異なるコンポーネントは、物理的に別個であって良く、任意の適切なメカニズムにより通信可能に結合されて良い。例えば、データ記憶装置８０１は、記憶装置に通信可能に結合されるプロセッサ８０４とメモリ８０８と通信ユニット８０２とを含むサーバから分離した、該記憶装置の部分であって良い。
【０１００】
本願明細書に記載した実施形態は、以下に更に詳細に議論するように、種々のコンピュータハードウェア又はソフトウェアモジュールを備えた特定用途又は汎用コンピュータの使用を含み得る。
【０１０１】
本願明細書に記載した実施形態は、コンピュータにより実行可能な命令又はデータ構造を伝える又は格納しているコンピュータ可読媒体を用いて実施され得る。このようなコンピュータ可読媒体は、汎用又は特定目的コンピュータによりアクセスできる利用可能な媒体であり得る。例として且つ限定ではなく、このようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又は他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置を含む有形又は非一時的コンピュータ可読記憶媒体、又はコンピュータにより実行可能な命令若しくはデータ構造の形式で所望のプログラムコード手段を伝える若しくは格納するために用いられ汎用若しくは特定目的コンピュータによりアクセス可能な他の非一時的記憶媒体を有し得る。上述の組合せも、コンピュータ可読媒体の範囲に包含され得る。
【０１０２】
コンピュータにより実行可能な命令は、例えば、汎用コンピュータ、特定目的コンピュータ又は特定目的処理装置に特定の機能又は機能グループを実行させる命令及びデータを有する。本発明の主題は構造的特徴及び／又は方法論的動作に特有の言葉で記載されたが、本発明の主題は、特許請求の範囲に定められる上述の特定の特徴又は動作に限定されないことが理解されるべきである。むしろ、上述の特定の特徴及び動作は、特許請求の範囲の実施の例示的形態として開示されたものである。
【０１０３】
本願明細書で用いられるように、用語「モジュール」、「コンポーネント」、及び／又は「エンジン」は、コンピュータシステムで実行されるソフトウェアオブジェクト又はルーチンを表し得る。本願明細書に記載されたのと異なるコンポーネント、モジュール、エンジン及びサービスは、（例えば、別個のスレッドとして）コンピューティングシステムで実行されるオブジェクト又は処理として実施されて良い。本願明細書に記載されたシステム及び方法はソフトウェアで実施されることが望ましいが、ハードウェアによる実装又はソフトウェアとハードウェアの組合せも、可能であり想定される。この説明では、「コンピュータエンティティ」は、本願明細書で先に定められたようにコンピューティングシステム、又はコンピューティングシステムで実行されるモジュール若しくはモジュールの組合せであって良い。
【０１０４】
本願明細書に記載された全ての例及び条件文は、教育上の目的で、読者が本発明の原理及び発明者により考案された概念を理解するのを助け、技術を促進させるためであり、これらの特に記載された例及び条件に限定されないものと考えられるべきである。本発明の実施形態が詳細に記載されたが、種々の変更、置換及び修正が本発明の精神及び範囲から逸脱することなく行われうることが理解されるべきである。
【０１０５】
以上の実施形態に加えて、更に以下の付記を開示する。
（付記１）  協調スケジューリングの方法であって、前記方法は、
カレンダサーバにより、協調スケジュールの関連するグループに含まれる複数のメンバのうちの各々のメンバの特性についての初期値を設定するステップと、
前記カレンダサーバにより、個別メンバタスク、共通メンバタスク、個別メンバ制約、及び共通メンバ制約を含むグループ入力を受信するステップと、
前記カレンダサーバにより、データ収集エンジンにより収集された環境データを受信するステップと、
前記カレンダサーバにより、前記環境データ、前記特性、及び前記グループ入力に基づき協調スケジュール情報を計算するステップであって、前記協調スケジュール情報は、特定数の実現可能スケジュールと、各メンバの前記実現可能スケジュールに関連付けられる合計スケジュールコストと、を有し、各メンバの前記合計スケジュールコストは、個別メンバ実行コスト、融通の利くタスクの違反コスト、及び行動コストに基づく、ステップと、
前記カレンダサーバにより、各メンバからフィードバックを受信するステップであって、前記フィードバックは、選好スケジュールとしての実現可能スケジュールの選択を含む、ステップと、
前記カレンダサーバにより、各メンバの第１特性と第２特性とを決定するステップであって、前記第１特性は、選択された前記実現可能スケジュールが設置されるとき前記複数のメンバのうちの他のメンバに対してより高い合計スケジュールコストを想定し、前記第２特性は、選択された前記実現可能スケジュールが設置されるとき前記他のメンバに対してより低い合計スケジュールコストを想定する、ステップと、
前記カレンダサーバにより、前記複数のメンバにより選択される前記実現可能スケジュールとして協調スケジュールを生成するステップと、
前記カレンダサーバにより、前記受信したフィードバックに基づき、各メンバの前記特性を更新するステップと、
を有する方法。
（付記２）  前記協調スケジュール情報を計算するステップは、各メンバについて及び前記実現可能スケジュールの各々について、前記合計スケジュールコストを算出するステップを有し、
各メンバについての前記合計スケジュールコストは、以下の合計スケジュールコスト式に従い算出され、
Ｃｔ（Ｓｉ，ｕｊ）＝Ｃ１（Ｓｉ，ｕｊ）−Ｃ２（Ｓｉ，ｕｊ）、
Ｃ１（Ｓｉ，ｕｊ）＝Ｃｐ（Ｓｉ，ｕｊ）−γＣν（Ｓｉ，ｕｊ）、
Ｃ２（Ｓｉ，ｕｊ）＝Σｋα（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｊ）−Ｃ１（Ｓｉ，ｕｋ），０］＋Σｋβ（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｋ）−Ｃ１（Ｓｉ，ｕｊ），０］、
ここで、ｉ、ｊ、ｋは、インデックス変数を表し、
Ｓｉは、インデックス変数により識別される前記実現可能スケジュールのうちの１つを表し、
ｕｊは、別のインデックス変数により識別される前記メンバのうちの１人を表し、
Ｃｔ（Ｓｉ，ｕｊ）は、前記メンバのうちの１人の及び前記実現可能スケジュールのうちの１つの合計スケジュールコストを表し、
Ｃ１（Ｓｉ，ｕｊ）は、前記メンバのうちの１人により負担される及び前記実現可能スケジュールのうちの１つについての個別コストを表し、
Ｃ２（Ｓｉ，ｕｊ）は、前記メンバのうちの１人により負担される及び前記実現可能スケジュールのうちの１つについての行動コストを表し、
Ｃｐ（Ｓｉ，ｕｊ）は、前記メンバのうちの１人についての前記実現可能スケジュールのうちの１つの個別メンバ実行コストを表し、
Ｃν（Ｓｉ，ｕｊ）は、前記メンバのうちの１人について前記実現可能スケジュールのうちの１つを実行する間の融通の利くタスクの違反コストを表し、
γは、実現可能タスクに違反した場合に、前記個別コストを低減するペナルティ係数を表し、
ｍａｘは、最大化関数を表し、
α（ｊ，ｋ）は、前記実現可能スケジュールと独立の非利己的パラメータを表し、
β（ｊ，ｋ）は、前記実現可能スケジュールと独立の利己的パラメータを表し、
Σｋα（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｊ）−Ｃ１（Ｓｉ，ｕｋ），０］は、非利己的式を表し、
Σｋβ（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｋ）−Ｃ１（Ｓｉ，ｕｊ），０］は、利己的式を表す、
付記１に記載の方法。
（付記３）  前記第１特性及び前記第２特性を決定するステップは、前記受信したフィードバックに基づき、非利己的パラメータ及び利己的パラメータを推定するステップを含み、
前記推定するステップは、
各メンバの中立共通タスクに応答する確率を計算するステップと、
各メンバの非利己的に制約共通タスクに応答する確率を計算するステップと、
各メンバの利己的に制約共通タスクに応答する確率を計算するステップと、
を含む、付記２に記載の方法。
（付記４）  各メンバの前記中立共通タスクに応答する前記確率を計算するステップは、以下の中立共通タスク式に従い実行され、
Ｐｎｉ＝μｉ／Ｎ、
各メンバの非利己的に前記制約共通タスクに応答する前記確率を計算するステップは、以下の非利己的共通タスク式に従い実行され、
Ｐｓｌｉ＝σｉ／Ｑ、
各メンバの利己的に前記制約共通タスクに応答する前記確率を計算するステップは、以下の利己的共通タスク式に従い実行され、
Ｐｓｉ＝Ｔｉ／Ｑ、
ここで、Ｎは、中立共通タスク総数を表し、
Ｑは、制約共通タスクの総数を表し、
Ｔｉは、メンバが利己的共通タスクに応答する回数を表し、
σｉは、メンバが非利己的共通タスクに応答する回数を表し、
Ｐｎｉは、各メンバの前記中立共通タスクに応答する前記確率を表し、
Ｐｓｌｉは、各メンバの非利己的に前記制約共通タスクに応答する前記確率を表し、
Ｐｓｉは、各メンバの利己的に前記制約共通タスクに応答する前記確率を表し、
μｉは、メンバが中立共通タスクに応答する回数を表す、
付記３に記載の方法。
（付記５）  各メンバの利己的に前記制約共通タスクに応答する前記確率を計算するステップ、及び各メンバの非利己的に前記制約共通タスクに応答する前記確率を計算するステップは、
類似状況のヒストグラムをプロットするステップと、
ラプラス平滑化を用いて、以下の非利己的式に従い前記非利己的パラメータを算出するステップと、
を有し、
α（ｉ，ｊ）＝（σｉ＋１）／（Ｎ＋ｓ）、
β（ｉ，ｊ）＝（Ｔｉ＋１）／（Ｎ＋ｓ）、
ｓ＝ｔＣＯＭＢｘ、
ここで、ｓは、前記制約共通タスクの中の想定可能な組合せの合計数であり、
ｔは、前記特性を表し、
ｘは、前記複数のメンバのメンバ数を表し、
ＣＯＭＢは、組合せ演算子を表す、
付記４に記載の方法。
（付記６）  各メンバについて前記実現可能スケジュールの各々の前記合計スケジュールコストを含むテーブルを生成するステップと、
前記テーブルを、各メンバに関連付けられるメンバ装置へ通信するステップと、
を更に有する付記１に記載の方法。
（付記７）  前記フィードバックは、第１実現可能スケジュールが前記複数のメンバのうちの第１メンバから前記選好スケジュールとして選択される第１選択と、第２メンバからの前記第１実現可能スケジュールを選択する第２選好と、前記複数のメンバのうちの前記第２メンバに対するより前記第１メンバに対して高い合計スケジュールコストを有する前記第１実現可能スケジュールと、を含み、
前記方法は、
第１選好に応答して、前記第１メンバを非利己的として特徴付けるステップと、
前記第２選好に応答して、前記第２メンバを利己的として特徴付けるステップと、
を更に有する付記１に記載の方法。
（付記８）  前記フィードバックは、前記実現可能スケジュールの各々の互いに対するランクを含む、付記１に記載の方法。
（付記９）  前記協調スケジュール情報を計算するステップは、
前記個別メンバタスク及び前記共通メンバタスクの完了を含む全ての可能なスケジュールを列挙するステップと、
前記個別メンバタスクの各々について及び前記共通メンバタスクの各々についてベクトルを定めるステップであって、前記ベクトルは、［開始時間、終了時間、開始場所、終了場所］としてフォーマット化される、ステップと、
前記個別メンバタスク及び前記共通メンバタスクを特定数のタスクグループに分割するステップであって、前記タスクグループの各々は、特定時間枠の中の前記開始時間又は前記終了時間を有する、ステップと、
前記タスクグループの各々の中の前記個別メンバタスク及び前記共通メンバタスクについて、未知の場所パラメータの１又は複数の可能性を検討するステップと、
１又は複数の未知の場所において連続性を示すベクトルを選択するステップと、
前記個別メンバ制約及び前記共通メンバ制約を満たす前記開始時間又は前記終了時間について、未知の値を発見するステップと、
前記個別メンバ制約又は共通メンバ制約に違反せずに達成可能な前記可能なスケジュールのサブセットとして前記実現可能スケジュールを識別するステップと、
を有する付記１に記載の方法。
（付記１０）  前記個別メンバタスク及び前記共通メンバタスクは、違反しないとして特徴付けられる少なくとも１つの確かなタスクと、違反するとして特徴付けられる少なくとも１つの融通の利くタスクと、を含む、付記１に記載の方法。
（付記１１）  動作を実行するため又は動作の実行を制御するためにプロセッサにより実行可能なエンコードされたプログラムコードを有する非一時的コンピュータ可読媒体であって、前記動作は、
カレンダサーバにより、協調スケジュールの関連するグループに含まれる複数のメンバのうちの各々のメンバの特性についての初期値を設定するステップと、
前記カレンダサーバにより、個別メンバタスク、共通メンバタスク、個別メンバ制約、及び共通メンバ制約を含むグループ入力を受信するステップと、
前記カレンダサーバにより、データ収集エンジンにより収集された環境データを受信するステップと、
前記カレンダサーバにより、前記環境データ、前記特性、及び前記グループ入力に基づき協調スケジュール情報を計算するステップであって、前記協調スケジュール情報は、特定数の実現可能スケジュールと、各メンバの前記実現可能スケジュールに関連付けられる合計スケジュールコストと、を有し、各メンバの前記合計スケジュールコストは、個別メンバ実行コスト、融通の利くタスクの違反コスト、及び行動コストに基づく、ステップと、
前記カレンダサーバにより、各メンバからフィードバックを受信するステップであって、前記フィードバックは、選好スケジュールとしての実現可能スケジュールの選択を含む、ステップと、
前記カレンダサーバにより、各メンバの第１特性と第２特性とを決定するステップであって、前記第１特性は、選択された前記実現可能スケジュールが設置されるとき前記複数のメンバのうちの他のメンバに対してより高い合計スケジュールコストを想定し、前記第２特性は、選択された前記実現可能スケジュールが設置されるとき前記他のメンバに対してより低い合計スケジュールコストを想定する、ステップと、
前記カレンダサーバにより、前記複数のメンバにより選択される前記実現可能スケジュールとして協調スケジュールを生成するステップと、
前記カレンダサーバにより、前記受信したフィードバックに基づき、各メンバの前記特性を更新するステップと、
を有する、非一時的コンピュータ可読媒体。
（付記１２）  前記協調スケジュール情報を計算するステップは、各メンバについて及び前記実現可能スケジュールの各々について、前記合計スケジュールコストを算出するステップを有し、
各メンバについての前記合計スケジュールコストは、以下の合計スケジュールコスト式に従い算出され、
Ｃｔ（Ｓｉ，ｕｊ）＝Ｃ１（Ｓｉ，ｕｊ）−Ｃ２（Ｓｉ，ｕｊ）、
Ｃ１（Ｓｉ，ｕｊ）＝Ｃｐ（Ｓｉ，ｕｊ）−γＣν（Ｓｉ，ｕｊ）、
Ｃ２（Ｓｉ，ｕｊ）＝Σｋα（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｊ）−Ｃ１（Ｓｉ，ｕｋ），０］＋Σｋβ（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｋ）−Ｃ１（Ｓｉ，ｕｊ），０］、
ここで、ｉ、ｊ、ｋは、インデックス変数を表し、
Ｓｉは、インデックス変数により識別される前記実現可能スケジュールのうちの１つを表し、
ｕｊは、別のインデックス変数により識別される前記メンバのうちの１人を表し、
Ｃｔ（Ｓｉ，ｕｊ）は、前記メンバのうちの１人の及び前記実現可能スケジュールのうちの１つの合計スケジュールコストを表し、
Ｃ１（Ｓｉ，ｕｊ）は、前記メンバのうちの１人により負担される及び前記実現可能スケジュールのうちの１つについての個別コストを表し、
Ｃ２（Ｓｉ，ｕｊ）は、前記メンバのうちの１人により負担される及び前記実現可能スケジュールのうちの１つについての行動コストを表し、
Ｃｐ（Ｓｉ，ｕｊ）は、前記メンバのうちの１人についての前記実現可能スケジュールのうちの１つの個別メンバ実行コストを表し、
Ｃν（Ｓｉ，ｕｊ）は、前記メンバのうちの１人について前記実現可能スケジュールのうちの１つを実行する間の融通の利くタスクの違反コストを表し、
γは、実現可能タスクに違反した場合に、前記個別コストを低減するペナルティ係数を表し、
ｍａｘは、最大化関数を表し、
α（ｊ，ｋ）は、前記実現可能スケジュールと独立の非利己的パラメータを表し、
β（ｊ，ｋ）は、前記実現可能スケジュールと独立の利己的パラメータを表し、
Σｋα（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｊ）−Ｃ１（Ｓｉ，ｕｋ），０］は、非利己的式を表し、
Σｋβ（ｊ，ｋ）ｍａｘ［Ｃ１（Ｓｉ，ｕｋ）−Ｃ１（Ｓｉ，ｕｊ），０］は、利己的式を表す、
付記１１に記載の非一時的コンピュータ可読媒体。
（付記１３）  前記第１特性及び前記第２特性を決定するステップは、前記受信したフィードバックに基づき、非利己的パラメータ及び利己的パラメータを推定するステップを含み、
前記推定するステップは、
各メンバの中立共通タスクに応答する確率を計算するステップと、
各メンバの非利己的に制約共通タスクに応答する確率を計算するステップと、
各メンバの利己的に制約共通タスクに応答する確率を計算するステップと、
を含む、付記１２に記載の非一時的コンピュータ可読媒体。
（付記１４）  各メンバの前記中立共通タスクに応答する前記確率を計算するステップは、以下の中立共通タスク式に従い実行され、
Ｐｎｉ＝μｉ／Ｎ、
各メンバの非利己的に前記制約共通タスクに応答する前記確率を計算するステップは、以下の非利己的共通タスク式に従い実行され、
Ｐｓｌｉ＝σｉ／Ｑ、
各メンバの利己的に前記制約共通タスクに応答する前記確率を計算するステップは、以下の利己的共通タスク式に従い実行され、
Ｐｓｉ＝Ｔｉ／Ｑ、
ここで、Ｎは、中立共通タスク総数を表し、
Ｑは、制約共通タスクの総数を表し、
Ｔｉは、メンバが利己的共通タスクに応答する回数を表し、
σｉは、メンバが非利己的共通タスクに応答する回数を表し、
Ｐｎｉは、各メンバの前記中立共通タスクに応答する前記確率を表し、
Ｐｓｌｉは、各メンバの非利己的に前記制約共通タスクに応答する前記確率を表し、
Ｐｓｉは、各メンバの利己的に前記制約共通タスクに応答する前記確率を表し、
μｉは、メンバが中立共通タスクに応答する回数を表す、
付記１３に記載の非一時的コンピュータ可読媒体。
（付記１５）  各メンバの利己的に前記制約共通タスクに応答する前記確率を計算するステップ、及び各メンバの非利己的に前記制約共通タスクに応答する前記確率を計算するステップは、
類似状況のヒストグラムをプロットするステップと、
ラプラス平滑化を用いて、以下の非利己的式に従い前記非利己的パラメータを算出するステップと、
を有し、
α（ｉ，ｊ）＝（σｉ＋１）／（Ｎ＋ｓ）、
β（ｉ，ｊ）＝（Ｔｉ＋１）／（Ｎ＋ｓ）、
ｓ＝ｔＣＯＭＢｘ、
ここで、ｓは、前記制約共通タスクの中の想定可能な組合せの合計数であり、
ｔは、前記特性を表し、
ｘは、前記複数のメンバのメンバ数を表し、
ＣＯＭＢは、組合せ演算子を表す、
付記１４に記載の非一時的コンピュータ可読媒体。
（付記１６）  前記動作は、
各メンバについて前記実現可能スケジュールの各々の前記合計スケジュールコストを含むテーブルを生成するステップと、
前記テーブルを、各メンバに関連付けられるメンバ装置へ通信するステップと、
を更に有する、付記１１に記載の非一時的コンピュータ可読媒体。
（付記１７）  前記フィードバックは、第１実現可能スケジュールが前記複数のメンバのうちの第１メンバから前記選好スケジュールとして選択される第１選択と、第２メンバからの前記第１実現可能スケジュールを選択する第２選好と、前記複数のメンバのうちの前記第２メンバに対するより前記第１メンバに対して高い合計スケジュールコストを有する前記第１実現可能スケジュールと、を含み、
前記動作は、
前記第１選好に応答して、前記第１メンバを非利己的として特徴付けるステップと、
前記第２選好に応答して、前記第２メンバを利己的として特徴付けるステップと、
を更に有する、付記１１に記載の非一時的コンピュータ可読媒体。
（付記１８）  前記フィードバックは、前記実現可能スケジュールの各々の互いに対するランクを含む、付記１１に記載の非一時的コンピュータ可読媒体。
（付記１９）  前記協調スケジュール情報を計算するステップは、
前記個別メンバタスク及び前記共通メンバタスクの完了を含む全ての可能なスケジュールを列挙するステップと、
前記個別メンバタスクの各々について及び前記共通メンバタスクの各々についてベクトルを定めるステップであって、前記ベクトルは、［開始時間、終了時間、開始場所、終了場所］としてフォーマット化される、ステップと、
前記個別メンバタスク及び前記共通メンバタスクを特定数のタスクグループに分割するステップであって、前記タスクグループの各々は、特定時間枠の中の前記開始時間又は前記終了時間を有する、ステップと、
前記タスクグループの各々の中の前記個別メンバタスク及び前記共通メンバタスクについて、未知の場所パラメータの１又は複数の可能性を検討するステップと、
１又は複数の未知の場所において連続性を示すベクトルを選択するステップと、
前記個別メンバ制約及び前記共通メンバ制約を満たす前記開始時間又は前記終了時間について、未知の値を発見するステップと、
前記個別メンバ制約又は共通メンバ制約に違反せずに達成可能な前記可能なスケジュールのサブセットとして前記実現可能スケジュールを識別するステップと、
を有する、付記１１に記載の非一時的コンピュータ可読媒体。
（付記２０）  前記個別メンバタスク及び前記共通メンバタスクは、違反しないとして特徴付けられる少なくとも１つの確かなタスクと、違反するとして特徴付けられる少なくとも１つの融通の利くタスクと、を含む、付記１１に記載の非一時的コンピュータ可読媒体。
【符号の説明】
【０１０６】
１００  動作環境
１０４  サーバスケジュールモジュール
１０６  メンバスケジュールモジュール
１１１  カレンダサーバ
１１３  メンバ
１１５  協調スケジュール
１２２  通信ネットワーク
１２４  メンバ装置
１３２  環境データソース
１５０  グループ
【図１】
2018049595.tif 000003
【図２】
2018049595.tif 000004
【図３】
2018049595.tif 000005
【図４】
2018049595.tif 000006
【図５】
2018049595.tif 000007
【図６】
2018049595.tif 000008
【図７】
2018049595.tif 000009
【図８】
2018049595.tif 000010