IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フルクラム グローバル テクノロジーズ インコーポレイテッドの特許一覧

特許7357042複数のデバイスにわたってアクティビティデータをトラッキングし、キャプチャし、同期するための方法及び装置
<>
  • 特許-複数のデバイスにわたってアクティビティデータをトラッキングし、キャプチャし、同期するための方法及び装置 図1
  • 特許-複数のデバイスにわたってアクティビティデータをトラッキングし、キャプチャし、同期するための方法及び装置 図2
  • 特許-複数のデバイスにわたってアクティビティデータをトラッキングし、キャプチャし、同期するための方法及び装置 図3
  • 特許-複数のデバイスにわたってアクティビティデータをトラッキングし、キャプチャし、同期するための方法及び装置 図4
  • 特許-複数のデバイスにわたってアクティビティデータをトラッキングし、キャプチャし、同期するための方法及び装置 図5
  • 特許-複数のデバイスにわたってアクティビティデータをトラッキングし、キャプチャし、同期するための方法及び装置 図6
  • 特許-複数のデバイスにわたってアクティビティデータをトラッキングし、キャプチャし、同期するための方法及び装置 図7
  • 特許-複数のデバイスにわたってアクティビティデータをトラッキングし、キャプチャし、同期するための方法及び装置 図8
  • 特許-複数のデバイスにわたってアクティビティデータをトラッキングし、キャプチャし、同期するための方法及び装置 図9
  • 特許-複数のデバイスにわたってアクティビティデータをトラッキングし、キャプチャし、同期するための方法及び装置 図10
  • 特許-複数のデバイスにわたってアクティビティデータをトラッキングし、キャプチャし、同期するための方法及び装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-27
(45)【発行日】2023-10-05
(54)【発明の名称】複数のデバイスにわたってアクティビティデータをトラッキングし、キャプチャし、同期するための方法及び装置
(51)【国際特許分類】
   G06F 16/178 20190101AFI20230928BHJP
   G06F 16/17 20190101ALI20230928BHJP
   G06F 3/0481 20220101ALI20230928BHJP
   G06Q 10/109 20230101ALI20230928BHJP
【FI】
G06F16/178
G06F16/17 200
G06F3/0481
G06Q10/109
【請求項の数】 20
(21)【出願番号】P 2021186820
(22)【出願日】2021-11-17
(62)【分割の表示】P 2019531604の分割
【原出願日】2017-08-31
(65)【公開番号】P2022024083
(43)【公開日】2022-02-08
【審査請求日】2021-12-17
(31)【優先権主張番号】15/253,639
(32)【優先日】2016-08-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519068674
【氏名又は名称】フルクラム グローバル テクノロジーズ インコーポレイテッド
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】シャーバン、アハメド、ファールーク
(72)【発明者】
【氏名】サンドラ、ベンカット
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】特表2015-526120(JP,A)
【文献】米国特許出願公開第2015/0304252(US,A1)
【文献】米国特許出願公開第2015/0347534(US,A1)
【文献】特開2003-271788(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/10 -16/188
G06F 3/048- 3/04895
G06Q 10/00 -99/00
(57)【特許請求の範囲】
【請求項1】
複数のユーザーデバイスと通信するコントローラを備えるシステムにおいて、トラッキングされるアクティビティデータを同期する方法であって、前記方法は
前記コントローラが、ユーザーデバイスのグループが単一のユーザー識別情報に関連付けられる、前記複数のユーザーデバイスの前記ユーザーデバイスのグループに関する識別情報データを受信するステップと、
前記コントローラが、前記ユーザーデバイスのグループの第1のユーザーデバイスから、トラッキングされるアクティビティの識別情報を受信するステップと、
前記コントローラが、前記アクティビティの1つに関するイベントを示す前記ユーザーデバイスのグループの任意のユーザーデバイスから前記トラッキングされるアクティビティデータを受信するステップと、
前記コントローラが、少なくとも前記トラッキングされるアクティビティデータを、前記トラッキングされるアクティビティデータを提供した前記ユーザーデバイス以外の前記ユーザーデバイスのグループのユーザーデバイスに送信するステップと
を含み、
前記ユーザーデバイスが、前記ユーザーデバイスに対応する割り当てられていない前記アクティビティデータの少なくとも2つの部分に対応する視覚的なインジケータを生成し、それぞれの視覚的なインジケータが成形及びサイズ決めされ、前記視覚的なインジケータの同時の表示の間、前記視覚的なインジケータのそれぞれは選択可能のままである、方法。
【請求項2】
前記ユーザーデバイスのグループに関する前記識別情報データを受信するステップは、前記ユーザーデバイスのグループの前記ユーザーデバイスの1つから又は別のソースから、前記識別情報データを受信するステップを更に含む、請求項1に記載の方法。
【請求項3】
前記トラッキングされるアクティビティデータを記憶デバイスに送信するステップであって、前記トラッキングされるアクティビティデータは顧客データベース及び管理コントローラによって得られる、前記送信するステップを更に含む、請求項1に記載の方法。
【請求項4】
前記トラッキングされるアクティビティデータが、時間エントリ、タイマ操作、用語集、及びテンプレートのいずれか1つに対応する、請求項1に記載の方法。
【請求項5】
前記コントローラが、前記トラッキングされるアクティビティデータを、リレーショナルデータベースに記憶するステップを更に含む、請求項1に記載の方法。
【請求項6】
複数のユーザーデバイスと通信するコントローラを備えるシステムにおいて、トラッキングされるアクティビティデータを同期する方法であって、前記方法は
前記複数のユーザーデバイスのうちの一つのユーザーデバイスが、前記ユーザーデバイスによってトラッキングされるアクティビティを特定するステップと、
前記ユーザーデバイスが、前記トラッキングされるアクティビティデータを提供するために、前記特定されたアクティビティの少なくとも1つに関するデータをトラッキングするステップと、
前記ユーザーデバイスが、前記トラッキングされるアクティビティデータを前記コントローラに送信するステップと、
前記ユーザーデバイスが、前記コントローラから、前記複数のユーザーデバイスの他のユーザーデバイスから生ずる追加のトラッキングされるアクティビティデータを受信するステップと
を含み、
前記ユーザーデバイスが、前記ユーザーデバイスに対応する割り当てられていない前記アクティビティデータの少なくとも2つの部分に対応する視覚的なインジケータを生成し、それぞれの視覚的なインジケータが成形及びサイズ決めされ、前記視覚的なインジケータの同時の表示の間、前記視覚的なインジケータのそれぞれは選択可能のままである、方法。
【請求項7】
前記ユーザーデバイスが、前記トラッキングされるアクティビティの識別情報を前記コントローラに送信するステップを更に含む、請求項6に記載の方法。
【請求項8】
前記ユーザーデバイスが、前記ユーザーデバイスのグループが単一のユーザー識別情報に関連付けられる、前記複数のユーザーデバイスのユーザーデバイスのグループに関する識別情報データを、前記コントローラに送信するステップを更に含む、請求項6に記載の方法。
【請求項9】
前記ユーザーデバイスが、前記特定されたアクティビティ、前記トラッキングされるアクティビティデータ、及び前記追加のトラッキングされるアクティビティデータに基づいて、ユーザーインターフェースを生成するステップを更に含む、請求項6に記載の方法。
【請求項10】
複数のユーザーデバイスからのトラッキングされるアクティビティデータを同期するように構成されるコントローラであって、前記コントローラは
少なくとも1つの処理デバイスと、
前記処理デバイスに動作可能に接続され、ワイヤレスデータ接続を介して複数のユーザーデバイスと通信するメモリであって、前記メモリは前記処理デバイスによって実行される時、前記少なくとも1つの処理デバイスに
ユーザーデバイスのグループが単一のユーザー識別情報に関連付けられる、前記複数のユーザーデバイスの前記ユーザーデバイスのグループに関する識別情報データを受信することと、
前記ユーザーデバイスのグループの第1のユーザーデバイスから、トラッキングされるアクティビティの識別情報を受信することと、
前記アクティビティの1つに関するイベントを示す前記ユーザーデバイスのグループの任意のユーザーデバイスから前記トラッキングされるアクティビティデータを受信することと、
少なくともトラッキングされるアクティビティデータを、前記トラッキングされるアクティビティデータを提供した前記ユーザーデバイス以外の前記ユーザーデバイスのグループのユーザーデバイスに送信することと
を行わせる実行可能な命令を含む、メモリと
を備え
前記コントローラは、前記ユーザーデバイスにより生成された、前記ユーザーデバイスに対応する割り当てられていない前記アクティビティデータの少なくとも2つの部分に対応する視覚的なインジケータのうち選択された前記視覚的なインジケータに基づいて時間エントリを生成し、それぞれの視覚的なインジケータは成形及びサイズ決めされ、前記視覚的なインジケータの同時の表示の間、前記視覚的なインジケータのそれぞれは選択可能のままである、コントローラ。
【請求項11】
前記少なくとも1つの処理デバイスによって実行される時、前記少なくとも1つの処理デバイスに前記識別情報データを受信することをさせる実行可能な命令が、前記ユーザーデバイスのグループの前記ユーザーデバイスの1つから、又は別のソースから前記識別情報データを受信するように更に動作可能である、請求項10に記載のコントローラ。
【請求項12】
前記メモリが、前記少なくとも1つの処理デバイスによって実行される時、前記少なくとも1つの処理デバイスに、
前記トラッキングされるアクティビティデータを記憶デバイスに送信することであって、前記トラッキングされるアクティビティデータは顧客データベース及び管理コントローラによって得られる、前記送信すること
を行わせる実行可能な命令を更に含む、請求項10に記載のコントローラ。
【請求項13】
前記トラッキングされるアクティビティデータが、時間エントリ、タイマ操作、用語集、及びテンプレートのいずれか1つに対応する、請求項10に記載のコントローラ。
【請求項14】
前記メモリが、前記少なくとも1つの処理デバイスによって実行される時、前記少なくとも1つの処理デバイスに、
前記トラッキングされるアクティビティデータをリレーショナルデータベースに記憶すること
を行わせる実行可能な命令を更に含む、請求項10に記載のコントローラ。
【請求項15】
トラッキングされるアクティビティデータを同期するように構成されるユーザーデバイスであって、前記ユーザーデバイスは
少なくとも1つの処理デバイスと、
前記処理デバイスに動作可能に接続され、ワイヤレスデータ接続を介してコントローラ及び複数のユーザーデバイスと通信するメモリであって、前記メモリは前記処理デバイスによって実行される時、前記少なくとも1つの処理デバイスに、
前記ユーザーデバイスによってトラッキングされるアクティビティを特定することと、
前記トラッキングされるアクティビティデータを提供するために、前記特定されたアクティビティの少なくとも1つに関するデータをトラッキングすることと、
前記トラッキングされるアクティビティデータをコントローラに送信することと、
前記コントローラから、複数のユーザーデバイスの他のユーザーデバイスからの追加のトラッキングされるアクティビティデータを受信することと
を行わせる実行可能な命令を含む、メモリと
を備え
前記ユーザーデバイスに対応する割り当てられていない前記アクティビティデータの少なくとも2つの部分に対応する視覚的なインジケータを生成し、それぞれの視覚的なインジケータが成形及びサイズ決めされ、前記視覚的なインジケータの同時の表示の間、前記視覚的なインジケータのそれぞれは選択可能のままである、ユーザーデバイス。
【請求項16】
前記メモリが、前記少なくとも1つの処理デバイスによって実行される時、前記少なくとも1つの処理デバイスに、
前記トラッキングされるアクティビティの識別情報を前記コントローラに送信すること
を行わせる実行可能な命令を更に含む、請求項15に記載のユーザーデバイス。
【請求項17】
前記メモリが、前記少なくとも1つの処理デバイスによって実行される時、前記少なくとも1つの処理デバイスに、
前記ユーザーデバイスのグループが単一のユーザー識別情報に関連付けられる、前記複数のユーザーデバイスのユーザーデバイスのグループに関する識別情報データを、前記コントローラに送信すること
を行わせる実行可能な命令を更に含む、請求項15に記載のユーザーデバイス。
【請求項18】
前記メモリが、前記少なくとも1つの処理デバイスによって実行される時、前記少なくとも1つの処理デバイスに、
前記特定されたアクティビティ、前記トラッキングされるアクティビティデータ、及び前記追加のトラッキングされるアクティビティデータに基づいて、ユーザーインターフェースを生成すること
を行わせる実行可能な命令を更に含む、請求項15に記載のユーザーデバイス。
【請求項19】
複数のユーザーデバイスと通信するコントローラを備えるシステムにおいて、時間エントリを生成する方法であって、前記方法は
前記複数のユーザーデバイスのうちの一つのユーザーデバイスが、前記コントローラに、前記ユーザーデバイスに対応する割り当てられていないアクティビティデータについての要求を送信するステップと
前記ユーザーデバイスが前記コントローラから、前記割り当てられていないアクティビティデータを受信するステップと、
前記ユーザーデバイスが、前記割り当てられていないアクティビティデータに基づいてユーザーインターフェースを生成するステップと、
前記ユーザーデバイスが、前記コントローラに、前記割り当てられていないアクティビティデータの選択された部分に対応する選択指示を送信するステップと
を含み、
前記ユーザーインターフェースを生成するステップが、
前記割り当てられていないアクティビティデータの少なくとも2つの部分について、それぞれの視覚的なインジケータが成形及びサイズ決めされ、したがって、前記視覚的なインジケータの同時の表示の間、前記視覚的なインジケータのそれぞれは選択可能のままである、視覚的なインジケータを、生成するステップ
を更に含み、
前記視覚的なインジケータが少なくとも前記割り当てられていないアクティビティデータの持続時間を示す、方法。
【請求項20】
アクティビティデータをトラッキングするように構成されるユーザーデバイスであって、前記ユーザーデバイスは
少なくとも1つの処理デバイスと、
前記処理デバイスに動作可能に接続され、ワイヤレスデータ接続を介してコントローラ及び複数のユーザーデバイスと通信するメモリであって、前記メモリは前記処理デバイスによって実行される時、前記少なくとも1つの処理デバイスに、
前記ユーザーデバイスに対応する割り当てられていないアクティビティデータについての要求を前記コントローラに送信することと、
前記コントローラから前記割り当てられていないアクティビティデータを受信することと、
前記割り当てられていないアクティビティデータに基づいてユーザーインターフェースを生成することと、
前記割り当てられていないアクティビティデータの少なくとも1つの選択された部分に対応する選択指示を前記コントローラに送信することと
を行わせる実行可能な命令を含む、メモリと
を備え、
前記処理デバイスによって実行される時、前記処理デバイスに前記ユーザーインターフェースを生成することをさせる前記実行可能な命令が、前記処理デバイスによって実行される時、
前記割り当てられていないアクティビティデータの少なくとも2つの部分に対応する視覚的なインジケータを生成することであって、
それぞれの視覚的なインジケータが成形及びサイズ決めされ、したがって、前記視覚的なインジケータの同時の表示の間、前記視覚的なインジケータのそれぞれは選択可能のままである、生成すること
を行うように更に動作可能であり、
前記視覚的なインジケータが少なくとも前記割り当てられていないアクティビティデータの持続時間を示す、ユーザーデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は全体的にアクティビティトラッキングシステムに関し、特に、アクティビティデータをトラッキングし、アクティビティデータをキャプチャし、並びにトラッキング及びキャプチャされるアクティビティデータを複数のユーザーデバイス上で同期し、並びに時間エントリを生成するための方法及び装置に関する。
【背景技術】
【0002】
時間エントリ処理を容易にするコンピュータ化された時間エントリシステムは、長年にわたって存在してきた。時間レートによって請求する業界では、時間エントリシステムは、課金、賃金台帳、及び会計計画を含む業務運用の非常に多くの態様に不可欠なものとなってきている。したがって、既存の時間エントリシステムは、これらの非常に多くの業務処理の支援におけるタスクに費やす時間をトラッキングするための有用なメカニズムを提供する。
【0003】
しかしながら、既存の時間エントリシステムには多数の欠点がある。既存の時間エントリシステムはエントリを作成するためにかなりのユーザー入力を必要とする。例えば、時間エントリシステムはタイムシートを生成するためにユーザー入力を必要とし、タスクに費やす時間を手動で入力することがある。時間エントリシステムはまたエントリが作成される都度、それぞれの物事(例えば、クライアント名、ファイル名、タスクの説明、等)についてのデータを収集するためにユーザー入力を必要とすることもある。手動で時間データを入力することはいくらかの誤りを招き、したがって、不正確な時間エントリをもたらす可能性がある。このデータエントリ処理の面倒で時間のかかる性質は、しばしば時間エントリの遅れをもたらし、ユーザー入力の発生が後日となることや複数の週のタスクを完了させることを再構築するユーザーの能力に頼ることになる。したがって、ユーザー入力にそのようにひどく頼ることなく時間エントリを生成するように設計される方法及び装置の必要性が存在する。
【0004】
既存の時間エントリシステムの別の欠点は、それらがユーザーの時間エントリを複数のコンピューティングデバイスにわたってリアルタイムに同期するように設計されていないことである。既存の時間エントリシステムは一般的には、単一のデスク及び単一の電話線に基づいた従来の作業環境のために設計されている。更には、現在の同期技術は、しばしば膨大な処理時間を必要とし、同期が遅延し、複数のユーザーデバイスにわたってリアルタイムの同期を提供しない結果となる。これらの欠点によって時間エントリが不正確且つ不十分なものとなる。
【発明の概要】
【課題を解決するための手段】
【0005】
当開示はトラッキングされるアクティビティデータをキャプチャすること、及びトラッキングされるアクティビティデータを複数のデバイスにわたって同期するための方法及び装置を記載する。一実施例において、複数のユーザーデバイスと通信するコントローラは、ユーザーデバイスのグループに関する識別情報データを受信し、ここにおいて、ユーザーデバイスのグループは単一のユーザー識別情報に関連付けられる。コントローラはまた、ユーザーデバイスのグループの第1のユーザーデバイスから、トラッキングされるアクティビティの識別情報を受信する。その後、コントローラはユーザーデバイスのグループの任意のユーザーデバイスから、トラッキングされるアクティビティデータを受信し、トラッキングされるアクティビティデータを、トラッキングされるアクティビティデータを最初に提供したユーザーデバイス以外のユーザーデバイスのグループのユーザーデバイスに送信する。
【0006】
別の実施例において、ユーザーデバイスのグループのユーザーデバイス内で、トラッキングされるアクティビティが特定される。次いでユーザーデバイスは、特定されたアクティビティの少なくとも1つに関するデータをトラッキングして、トラッキングされるアクティビティデータを提供し、トラッキングされるアクティビティデータをコントローラに送信する。その後、ユーザーデバイスは、ユーザーデバイスのグループの他のユーザーデバイスから追加のトラッキングされるアクティビティデータを受信する。ユーザーデバイスは、特定されたアクティビティ、トラッキングされるアクティビティデータ、及び他のユーザーデバイスからの追加のトラッキングされるアクティビティデータに基づいて、ユーザーインターフェースを生成することができる。
【0007】
別の実施例において、時間エントリを生成するための方法が開示される。この実施例において、コントローラは、ユーザーデバイスに対応する割り当てられていないアクティビティデータについての要求を受信し、その要求に応じて割り当てられていないアクティビティデータをユーザーデバイスに送信する。続いて、コントローラはユーザーデバイスから、割り当てられていないアクティビティデータの選択された部分に対応する選択指示を受信する。次いで、コントローラは、割り当てられていないアクティビティデータの選択された部分に基づいて時間エントリを生成する。
【0008】
別の実施例において、ユーザーデバイスは、ユーザーデバイスに対応する割り当てられていないアクティビティデータについての要求をコントローラに送信し、続いて、コントローラから割り当てられていないアクティビティデータを受信する。次いで、ユーザーデバイスは、割り当てられていないアクティビティデータに基づいてユーザーインターフェースを生成し、割り当てられていないアクティビティデータの選択された部分に対応する選択指示を送信する。
【0009】
関連する装置及びコンピュータ可読媒体もまた開示される。
【0010】
本開示において記載される特徴が添付の特許請求の範囲において詳細に説明される。これらの特徴は添付の図面と併せて以下の詳細な説明を考慮することから明らかになろう。1つ又は複数の実施例が、実例としてのみ、同様の参照符号が同様の要素を表現する添付の図面を参照して次に記載される。
【図面の簡単な説明】
【0011】
図1】本開示にしたがって装置の一実例を全体的に描写するブロック図である。
図2】本開示にしたがってシステムの一実例を全体的に描写するブロック図である。
図3】本開示にしたがってトラッキングされるアクティビティデータを同期する方法の実施例を全体的に描写するフローチャートである。
図4】本開示にしたがってトラッキングされるアクティビティデータを特定する方法の別の実施例を全体的に描写するフローチャートである。
図5】本開示にしたがってキャプチャされるアクティビティデータを処理する方法の実施例を全体的に描写するフローチャートである。
図6】本開示にしたがってアクティビティデータをキャプチャする方法の別の実施例を全体的に描写するフローチャートである。
図7】本開示にしたがってトラッキングされるアクティビティデータを特定することを具体的に説明する例示である。
図8】本開示にしたがって時間エントリを作成するために使用され得るユーザーインターフェースの実例を例示する。
図9】本開示にしたがってアクティビティデータをキャプチャするためのユーザーデバイス上のユーザーインターフェースの実例を例示する。
図10】本開示にしたがってアクティビティデータをキャプチャするためのユーザーデバイス上のユーザーインターフェースの別の実例を例示する。
図11】本開示にしたがって時間エントリテンプレートの実例を例示する。
【発明を実施するための形態】
【0012】
図1は本開示にしたがってアクティビティデータをキャプチャし、処理し、同期するための装置100を例示する。ユーザーデバイス100はデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、セルラーデバイス(携帯電話など)、又は本明細書に記載される機能を実施するように構成され得る類似のコンピューティングデバイスであってもよい。一般的には、ユーザーデバイス100はあらゆるタイプのコンピューティングデバイス又は本明細書に記載される方法及び機能にしたがってデータを送信又はデータを受信するように構成される送信機であってもよい。本明細書で使用されるように、ユーザーデバイス100は、単一のユーザー識別情報に関連付けられるユーザーデバイスのグループの一部である単一のユーザーデバイス又は複数のユーザーデバイスであってもよい。
【0013】
ユーザーデバイス100はユーザーインターフェース102、スピーカー118、マイクロフォン120、キーボード122、タッチスクリーン124、無線通信構成要素104、セルラー通信構成要素106、全地球測位システム(GPS)受信機108、センサ110、メモリ112、プロセッサ114及び記憶装置126を含むことができる。図1に例示される構成要素は共有されるデジタル経路116によって共にリンクされ得る。ユーザーデバイス100はまたユーザーデバイス100同士の通信、並びにユーザーデバイスのグループ及びコントローラ(図示せず)内のユーザーデバイス100と他のユーザーデバイスとの通信、を可能にするためのハードウェアを含むことができる。例えば、ハードウェアは送信機及び受信機を含むことができる。
【0014】
ユーザーインターフェース102は、有線又は無線通信プロトコルにしたがって機能するように構成されてもよい。いくつかの実例において、ユーザーインターフェース102はスピーカー118、マイクロフォン120、キーボード122、タッチスクリーン124、及び/又は入力を受信するためのあらゆる他の要素、同様に1つ又は複数のディスプレイデバイス、及び/又は出力を通信するためのあらゆる他の要素を含むことができる。ユーザーインターフェース102は、陰極管(CRT)、フラットパネルディスプレイ又は当業者に知られているあらゆる他の表示メカニズムなどのあらゆる従来の表示メカニズムを備えることができる。ある実施例において、ユーザーインターフェース102は、コントローラ204(図示せず)を介して実装される実行可能な命令206と併せて、グラフィカルユーザーインターフェースを実装するために使用することができる。このやり方でのグラフィカルユーザーインターフェースの実装は、当業者に良く知られている。
【0015】
記憶装置サブシステム126は、当開示にしたがって使用される、アクティビティデータをトラッキングすること及びキャプチャするためのリポジトリを提供することができる。別の実施例において、記憶装置サブシステム126は、ユーザーデバイス100の機能性を提供する、基礎的なプログラム及びデータ構造体を記憶するための追加のコンピュータ可読媒体を提供することができる。ソフトウェア(プログラム、コードモジュール、命令)は、プロセッサ114によって実行される時、当開示の機能性を提供し、記憶装置サブシステム126に記憶されることができる。
【0016】
無線通信構成要素104は、1つ又は複数の無線通信規格にしたがってユーザーデバイス100のための無線データ通信を容易にするように構成される通信インターフェースであってもよい。例えば、無線通信構成要素104は無線データ通信を容易にするように構成されるWi-Fi通信構成要素を含むことができる。別の実例として、無線通信構成要素104は無線データ通信を容易にするように構成されるBluetooth通信構成要素を含むことができる。他の実例もまた可能である。
【0017】
セルラー無線通信構成要素106はセルラー無線基地局を介して無線通信(音声及び/又はデータ)を容易にするように構成される通信インターフェースであってもよく、ネットワークへのモバイル接続性を提供する。例えば、セルラー無線通信構成要素106はユーザーデバイス100が位置するセルの基地局に接続するように構成されてもよい。
【0018】
GPS受信機108はGPS衛星によって送信される精密な時間信号によってユーザーデバイス100の位置を決定するように構成されてもよい。
【0019】
センサ110は1つ又は複数のセンサを含むことができる。実例のセンサはユーザーデバイス100内に位置するあらゆるセンサ、すなわち単軸若しくは多軸加速度計、単軸若しくは多軸ジャイロスコープ、磁気計、電磁場センサ、レーザー距離測定センサ、歩数計、カメラ、Wi-Fi(登録商標)、近接場通信(NFC)、Bluetooth(登録商標)、プロジェクタ又は他の位置及び/若しくはコンテキストを意識したセンサを含む。
【0020】
別の実施例において、ユーザーデバイス100の無線位置構成要素104、GPS108又はセンサ110は、1つ又は複数の無線アクセスポイントのアイデンティティを決定すること、及び1つ又は複数の無線アクセスポイントのそれぞれから受信した信号の強度(例えば、受信信号強度インジケーション)を測定することができる。それぞれ一意である無線アクセスポイントからの受信信号強度インジケーション(RSSI)を使用して、それぞれの無線アクセスポイントからの距離を決定できる。次いで、距離は、それぞれ一意である無線アクセスポイントがどこに位置しているかに関するデータを記憶するデータベースと比較されることができる。それぞれの無線アクセスポイントからの距離、及び無線アクセスポイントのそれぞれの知られている位置に基づいて、ユーザーデバイス100に関連付けられる位置データが生成され得る。
【0021】
メモリ112はまたプロセッサ114によってアクセスされ、実行されることができるプログラム命令を記憶することができる。プロセッサ114は様々な実施例において単一の中央処理装置(CPU)、複数のCPU又は複数のプロセッサコアを有する単一のCPUであってもよい。メモリ112は代表的なランダムアクセスメモリを代表するものであってよく、例えば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、読み取り専用メモリ、又はフラッシュメモリである。メモリ112はまた、ユーザーインターフェース102、センサ110、無線通信構成要素104、セルラー無線通信構成要素106、GPS受信機108、又は入力データを受信することのできるあらゆる他のハードウェア構成要素によって収集されるデータを処理することができる。
【0022】
別の実施例において、プロセッサ114は、センサ110、無線通信構成要素104、セルラー無線通信構成要素106、又はGPS受信機108などの1つ又は複数の位置決定構成要素を使用して、ユーザーデバイス100の1つ又は複数の地理的な位置データセットを処理するように構成されてもよい。プロセッサ114は位置決定アルゴリズムを使用して、ユーザーデバイス100の無線範囲内の1つ若しくは複数の知られている無線アクセスポイントの存在及び/又は位置に基づいてユーザーデバイス100の位置を決定することができる。プロセッサ114はキャプチャされる位置データに基づいて任意の数の機能を実施することができる。図9に関して以下で更に詳細に議論するように、ユーザーデバイス100によって上記の位置決定構成要素を用いてキャプチャされるデータは、位置及び/又はユーザーデバイス100に対応するアクティビティを指定することによって、時間エントリの生成を容易にすることができる。
【0023】
ユーザーデバイス100はプロセッサ114によって実行される時、アクティビティデータをトラッキング、キャプチャ、及び処理するためにソフトウェアモジュールと通信するように構成される。一実施例において、ユーザーデバイス100はその中に電子文書を開いている文書作成プログラム(例えば、Microsoft Word(登録商標))からアクティビティデータをトラッキング及びキャプチャするように構成される。この処理の説明は図10に関して以下で更に詳細に議論する。
【0024】
他の実施例においては、ユーザーデバイス100は、電子的な提案プログラム(例えば、Microsoft PowerPoint(登録商標))、電子的な表計算プログラム(例えば、Microsoft Excel(登録商標))、ボイスオーバーインターネットプロトコル(VoIP)、データエントリシステム、電子メール及びメッセージングシステム、並びに本明細書に記載される機能性を実施するためにトラッキングされるアクティビティデータを含む他のソフトウェアモジュールを含む複数のソフトウェアモジュールから、アクティビティデータをキャプチャすることができる。
【0025】
共有されるデジタル経路116は有線接続として例示されている。しかしながら、無線接続もまた使用されてよい。例えば、共有されるデジタル経路116はユニバーサルシリアルバス若しくは並列バスなどの有線のシリアルバス、又は例えば短距離無線ラジオ技術を使用する無線接続であってもよい。
【0026】
ユーザーデバイス100は本明細書に記載される方法を実装する1つの形態として記載されてきたが、当業者であれば他の機能的に等価な方法が採用され得ることを諒解するであろう。ユーザーデバイス100の他の実装形態は、例示されるよりも多くの又は少ない数の構成要素を含むことができる。繰り返しになるが、当業者であればこのやり方で使用され得る非常に多くの変形を諒解するであろう。更になお、単一の処理デバイス114が図1に例示されるが、そのような処理デバイスの組み合わせは、併せて(例えば、知られているネットワーク技術を使用して)動作するように構成され、当開示の教示を実装し得ることが理解される。
【0027】
図2は当開示の教示を実装するために使用され得る代表的な処理システム200を例示する。例示されるコントローラ204は、ユーザーデバイス100、リレーショナルデータベース210、管理コントローラ212、顧客データベース214、及び記憶デバイス216、の間のデータを同期するために動作し、それにより1つのユーザーデバイス上で生成されたトラッキングされるアクティビティを他のユーザーデバイス上で同様に利用可能且つ最新にする。コントローラ204は、ユーザーデバイス100、リレーショナルデータベース210、管理コントローラ212、顧客データベース214、及び記憶デバイス216に直接接続されるものとして例示されているが、当業者であればトラッキングされるアクティビティデータは、1つ又は複数の、プライベート若しくはパブリックな通信ネットワーク、データバス、又は当分野で知られている適切な技術を使用する他の通信チャネルを介して通信され得ることを諒解するであろう。
【0028】
コントローラ204はコントローラ204がメモリ208に記憶されるプログラム命令206を受信して実行する時、トラッキングされるアクティビティデータを処理するように構成される。メモリ208は、ランダムアクセスメモリ(RAM)又は読み取り専用メモリ(ROM)を含むがそれに限定されない、揮発性の又は非揮発性のメモリなどの、1つ又は複数のデバイスを備えることができる。更になお、メモリ208はハードドライブ、光学ディスクドライブ等、などの様々な形態で具体化されることができる。ある実施例においては、コントローラ204は当分野で知られている適切な動作ソフトウェアを実装する1つ又は複数のサーバーコンピュータを備えることができる。
【0029】
前述したように、知られている通信チャネルを介してコントローラ204に動作可能に接続される、1つ又は複数のユーザーデバイス100があってもよい。ユーザーデバイス100はコントローラ204と通信するように構成される。したがって、ユーザーデバイス100はコントローラ204からデータを受信するように構成されてもよく、また以下で詳細に記載されるようにコントローラ204にデータを送信するように構成されてもよい。
【0030】
コントローラ204は、ユーザー入力202、例えば、マイクロフォン120(例えば、発話)、キーボード122、タッチスクリーン124、又は当分野で知られているあらゆる他の適切な入力メカニズムとのユーザー対話を介して、ユーザーデバイス100から入力データを受信する。他の実施例においては、コントローラ204はユーザーデバイス100から、ソフトウェアモジュール、無線通信構成要素104、セルラー通信構成要素106、GPS108、センサ110又は当分野で知られているあらゆる他の適切なキャプチャメカニズムによる内部通信を用いて、データキャプチャを介してトラッキングされるアクティビティデータを受信する。
【0031】
ユーザーデバイス100からトラッキングされるアクティビティデータを受信すると、コントローラ204は記憶デバイス216にトラッキングされるアクティビティデータを送信し、ここにおいて、トラッキングされるアクティビティデータは一時的に記憶される。記憶デバイス216の実例としては、データベースサーバー、ネットワークファイルシステム(NFS)、ローカルディスクスペース、又はクラウドウェブサイトホスティングスペースなどのインターネットを介してサービスを提供するデータ記憶プロバイダ等が挙げられる。
【0032】
一実施例において、顧客データベース214は記憶デバイス216内で新しくトラッキングされるアクティビティデータを絶え間なくチェックする。新しくトラッキングされるアクティビティデータが検出される時、顧客データベース214は記憶デバイス216からトラッキングされるアクティビティデータを取り出す。コントローラ204によって記憶デバイス216に追加される時、あらゆる新しく受信される(コントローラによって)トラッキングされるアクティビティデータは、トラッキングされるアクティビティデータが誤りを含まないこと、及び適切にフォーマットされていることを保証するために良く知られている技術にしたがって、コントローラ204によってきれいにされる。良く知られている技術にしたがって、顧客データベース214は記憶デバイス216からトラッキングされるアクティビティデータを検索する(取り出す)ことができ、顧客データベース214がトラッキングされるアクティビティデータを取り出した後、それは記憶デバイス216から除去される。
【0033】
顧客データベース214は全てのトラッキングされるアクティビティデータ及びデータレコードを記憶する。データレコードは、維持され、トラッキングされるアクティビティデータを割り当てる時に使用されることができるデータを含む。データレコードは特定の物事、クライアント、タスク、ユーザー、又はレコードの作成のために入力されるあらゆる他の情報に関するデータを含むように構成されることができる。例えば、データレコードは、そのクライアントに対応するアクティビティデータをトラッキングするために使用されてもよいクライアントの位置識別情報(例えば、クライアントのオフィス)を含むことができる。図9で具体的に説明するように、位置識別情報はユーザーデバイス100によってキャプチャされてもよく、ここにおいて、コントローラ204はその位置を対応するクライアントに関連付けられるものとして認識する。このやり方で、前もってデータレコードとして入力された位置は、ユーザーデバイス100によってその位置においてキャプチャされるトラッキングされるアクティビティとマッチングされる。次いで、このデータの全ては、ユーザーインターフェースが生成される時、視覚的なインジケータ902として提示される。このデータがどのように使用されて時間エントリを生成するかについての詳細な議論は、以下で更に詳細に議論する。この実例は例示的であることのみを意図されており、データレコードに記憶される特定のデータは、特定の状況の特異性に依存して実装形態ごとに異なることができることを理解されたい。
【0034】
データレコードはまた、クライアント名、課金情報(例えば、時間レート)、そのクライアントに関連付けられる物事等、などの他のデータを含むこともできる。この追加の情報は図11に示されるようにデータを時間エントリテンプレート1100に入力することによって作成される。時間エントリテンプレート1100は時間エントリを作成するための基礎として機能するテンプレートである。時間エントリテンプレート1100は、トラッキングされるアクティビティデータと時間エントリテンプレート1100内に位置する対応する1つ又は複数のデータセットとの効率的なマッチングにおいて有用となり得るフォーマットを有する。
【0035】
時間エントリテンプレートを完了させる処理は、ユーザーデバイス100がコントローラ204に時間エントリテンプレート1100を提供することを促すことで開始する。時間エントリテンプレート1100は複数のフィールドを備え、すなわちテンプレート名1102、物事名1104、タスクコード1106、料金コード1108、フェーズ名1110、アクティビティコード1112、定額料金アクティビティコード1114、及び時間エントリを作成するために必要とされるあらゆる他のフィールド、を含む。テンプレート名1102はトラッキングする目的のための組織によって割り振られた識別子であってもよい。例えば、名称は、クライアントの名称又は物事の名称であってもよい。物事名1104はアクティビティが関連付けられるレコードの物事であってもよい。例えば、訴訟事件、プロジェクト、開発計画、又は時間がトラッキングされるあらゆる他の物事。タスクコード1106はレコードの物事を完了するために取り掛かっているタスクのための数値の識別子であってもよい。例えば、告訴を申し立てる、法廷尋問に出席する、証拠開示の命令を提出する、宣誓証言に出席する等。料金コード1108はタスクを完了するために取り掛かっているアクティビティに割り振られる数値であってもよい。例えば、訴訟の間に完了されたタスクは、調停の間に完了されたタスクとは異なる料金が割り振られることができる。フェーズ名1110はタスクが完了されるフェーズを特定する。例えば、物事が複数のフェーズを含み、且つタスクが物事の早期の段階の間に完了される場合、フェーズ名は「フェーズ1」であってもよい。アクティビティコード1114はタスクが完了されるために取り掛かっているアクティビティに割り振られる数値コードである。アクティビティコードの実例としては、準備すること、電子メールを送信すること、スケジューリング、電話を掛けること、会議、下書きをすること、編集すること、等が挙げられ得る。定額料金アクティビティコード1114は、時間で課金されない物事に割り振られる数値コードである。例えば、物事を完了するためにクライアントによって予算が与えられ、組織はその予算内に収まっていなければならない。定額料金アクティビティコード1114は、その物事を完了するために取り掛かっている全てのタスクに割り振られる数字又は英数字の識別子であり、料金はその設定された予算から差し引かれる。定額料金アクティビティコード1114は過剰なコストを軽減することを支援する予算作成ツールとして利用されることができる。
【0036】
データの全てが時間エントリテンプレート1100に入力される時、コントローラ204によってデータレコードとして顧客データベース214及び記憶デバイス216を介して顧客データベース214に保存及び記憶される。以下で更に詳細に議論するように、時間エントリテンプレート1100に記憶されるデータは、ユーザーデバイス100によってトラッキング及びキャプチャされるトラッキングされるアクティビティデータに対応する。
【0037】
トラッキングされるアクティビティデータは顧客データベース214に記憶されると、管理コントローラ212に送信され、ここにおいて、データは更なる処理のために変換される。管理コントローラ212は、トラッキングされるアクティビティデータを管理するための1つ又は複数のアプリケーションを実装する、1つ又は複数の適切にプログラムされたコンピュータであってもよい。例えば、SAP SAによるSAP Netweaver(登録商標)ソフトウェアがこの目的のために使用されてもよい。管理コントローラ212は、顧客データベース214、リレーショナルデータベース210及び外部の処理システム(図示せず)と通信する。
【0038】
別の実施例において、管理コントローラ212はメカニズムを提供し、ここにおいてトラッキングされるアクティビティデータは処理システム200から外部の処理システム(図示せず)にエクスポートされ得るように、均一なフォーマットに変換される。トラッキングされるアクティビティデータは、管理コントローラ212を介して、トラッキングされるアクティビティデータが、業務取引、インボイス、ヒューマンリソースデータ、ユーザーアカウントデータ、レシート、銀行口座データ、会計データ、賃金台帳データ及び全般的に特定業務の運用に関連するあらゆるデータ、に関わるデータなどの幅広い業務データに生成され得るように、処理システムの外側にエクスポートされる。
【0039】
別の実施例において、リレーショナルデータベース210は、管理コントローラ212から又は直接コントローラ204から、トラッキングされるアクティビティデータを受信することができる。リレーショナルデータベース210は処理システム200がSQLベースのリレーショナルモデルの規格を使用するデータベース上で動作できるようにする。一実施例において、リレーショナルデータベース210は、対応するフィールドの任意の1つにしたがってトラッキングされるアクティビティデータが組織化され記憶されるデータベースを提供する。すなわちタイマ操作、用語集、時間エントリ、及びテンプレート。タイマ操作は、トラッキングされるアクティビティデータの持続時間を記録するための方法である。用語集は、特定の物事、タスク、クライアント等で見いだされる又はそれに関連する用語又は言葉のアルファベット順の一覧である。用語集はまた記述が作成される時にショートカットを提供する。例えば、タスク名が入力され(例えば、宣誓証言)、宣誓証言に関連付けられるアクティビティを説明する記述がその記述に投入される。時間エントリはトラッキングされるアクティビティデータの記録される持続時間である。テンプレートはフィールドを有するフォームであり、ここにおいて、繰り返し使用されるデータは、データエントリ処理を最低限にするために記憶されることができる。
【0040】
パターン認識を通して、リレーショナルデータベース210は、以前にキャプチャされたトラッキングされるアクティビティデータ、ユーザーの入力癖、過去の時間エントリ、又はキャプチャされるアクティビティデータにおけるあらゆる他の認識されるパターンからインテリジェンスを駆動することができ、コントローラ204に時間エントリを作成するために認識されたパターンから引き出されるデータを提供する。例えば、ユーザーデバイス100は、同一のアクティビティが以前にキャプチャされたクライアントに関するアクティビティデータをトラッキングすることができる(例えば、雇用契約が1つの組織について複数回起草される)。この実例において、リレーショナルデータベース210はタスク、物事、クライアント名及びトラッキングされるアクティビティデータに関連付けられる料金を提供し、時間エントリがこのアクティビティデータについて生成される時、時間エントリテンプレートを投入する。リレーショナルデータベース210はまた記述パターン認識に基づいて記述を投入することによって記述支援を提供することもできる。
【0041】
次に図3を参照すると、フローチャートは、ユーザーデバイス100と通信するコントローラ204を含む処理システムにおいてトラッキングされるアクティビティデータを同期するための方法の一実例を例示している。特に、図3に例示される処理はコントローラ204の動作に関する。処理システム200は本明細書に記載される方法を実装するための形態であるが、当業者であれば他の機能的に等価な技術が採用され得ることを諒解するであろう。例えば、当分野で知られているように、実行可能な命令206を介して実装される機能性のいくつか又は全てはまた、特定用途向け集積回路(ASIC)、プログラム可能論理アレイ、状態機械等、などのファームウェア及び/又はハードウェアデバイスを使用して実装されることができる。更になお、ユーザーデバイス100の他の実装形態は例示されるよりも多くの又は少ない数の構成要素を含むことができる。繰り返しになるが、当業者であればこのやり方で使用され得る非常に多くの変形を諒解するであろう。
【0042】
ブロック300で開始すると、複数のユーザーデバイスのユーザーデバイス100のグループに関する識別情報データはコントローラ204によって受信され、ここにおいて、ユーザーデバイスのグループは単一のユーザー識別情報に関連付けられる。ある実施例においては、そのようなユーザーデバイスのグループに関する識別情報データは関連するユーザーデバイスの1つ又は複数からのものであってもよい。本明細書で使用されるように、識別情報データはそれぞれのユーザーデバイス100を対応する単一のユーザー識別情報と関連付ける識別マーカーであり、それによってユーザーデバイスのグループを形成する。次に、単一のユーザー識別情報は、ユーザーログイン識別情報及びパスワードなどの個々のタイムキーパーを一意に特定するために使用されるあらゆる適切な情報を含むことができる。例えば、単一のユーザーは、複数のユーザーデバイス(例えば、携帯電話、コンピュータタブレット、ラップトップコンピュータ、スマートウォッチ、及びデスクトップコンピュータ)を利用することができる。コントローラ204がユーザーの複数のデバイスにわたってトラッキングされるアクティビティデータを同期する時、ユーザーデバイスの関連するグループを定義する単一のユーザー識別情報にしたがって、同期を行う。別の実施例において、ユーザーデバイスの識別情報データは、外部のソフトウェアモジュール、外部のコントローラ、セキュリティサービスプロバイダ、又は他の信頼される職権を含む別のソースからのものであってもよい。
【0043】
グループ識別情報データが受信されるやり方に関わらず、処理はブロック302で継続し、コントローラ204がユーザーデバイス100からトラッキングされるアクティビティの識別情報を受信する。トラッキングされるアクティビティデータは、ユーザーデバイス100によってトラッキングされるアクティビティデータである。トラッキングされるアクティビティデータの実例としては、文書を起草すること、聴聞会に出席すること、会議を開催すること、電話に参加すること、又はタスクの完了に関連付けられるあらゆる他のアクティビティ、が挙げられる。ブロック304で、コントローラ204はユーザーデバイス100からトラッキングされるアクティビティデータを受信する。ブロック306でコントローラ204はトラッキングされるアクティビティデータを記憶デバイス216に送信し、トラッキングされるアクティビティデータは追加の記憶及び処理のために顧客データベース214から引き出される。ブロック308で、コントローラ204はトラッキングされるアクティビティデータをリレーショナルデータベース210に送信し、ここにおいて、トラッキングされるアクティビティデータは対応するフィールド、すなわち、上記で議論したような時間エントリ、タイマ操作、用語集、及びテンプレートのうちの任意の1つにしたがって記憶される。ブロック310で、コントローラ204はトラッキングされるアクティビティデータを、トラッキングされるアクティビティデータを最初に提供したユーザーデバイス100以外のユーザーデバイスのグループのユーザーデバイス100に送信する。図示していないが、コントローラ204は追加のトラッキングされるアクティビティデータを、追加のトラッキングされるアクティビティデータを提供するユーザーデバイス以外のユーザーデバイスのグループのユーザーデバイスに継続的に同期する。
【0044】
図4は、ユーザーデバイス100と通信するコントローラ204を備える処理システムにおいて、アクティビティデータを特定すること及びトラッキングするための方法の一実例を例示するフローチャートである。特に、図4で例示される処理はユーザーデバイス100の動作に関する。処理は、ブロック400でユーザーデバイス100が任意選択でユーザーデバイスのグループに関する識別情報データ(上述のように)をコントローラ204に送信することで開始し、ここにおいて、ユーザーデバイスのグループは単一のユーザー識別情報に関連付けられる。ブロック402で、トラッキングされるアクティビティはユーザーデバイス100によって特定され、そのようなアクティビティを特定する情報はユーザーデバイスによってコントローラ204に送信される。トラッキングされるアクティビティは、これらのアクティビティだけがユーザーデバイスのグループにわたってトラッキング及び同期されるように選択される特定されたアクティビティである。このやり方で、本明細書で開示されるシステムはトラッキングされるアクティビティデータをより効率的に処理及び同期することができる。図7は、以下で更に詳細に記載されるような、トラッキングされるアクティビティがどのように特定されるかの一実例を描写している。
【0045】
ブロック404で、ユーザーデバイス100は、以下で更に詳細に記載されるようなトラッキングされるアクティビティデータを提供するために、特定されたアクティビティに対応するデータをトラッキングする。ブロック406で、ユーザーデバイス100はトラッキングされるアクティビティデータをコントローラ204に送信する。ブロック408で、ユーザーデバイス100は他のユーザーデバイスからコントローラ204を介して追加のトラッキングされるアクティビティデータを受信する。ブロック410で、ユーザーインターフェース102は特定されたアクティビティ、トラッキングされるアクティビティデータ、及び追加のトラッキングされるアクティビティデータに基づいて生成される。追加のトラッキングされるアクティビティデータは、最初にトラッキングされるアクティビティデータを提供するユーザーデバイス以外のユーザーデバイスのグループのユーザーデバイス100によってトラッキングされる、トラッキングされるアクティビティデータである。
【0046】
図5は、ユーザーデバイス100と通信するコントローラ204を備える処理システムにおいて、キャプチャされるトラッキングされるアクティビティデータを処理する方法の一実例を例示するフローチャートである。特に、図5に例示される処理はコントローラ204の動作に関する。ブロック500で開始し、複数のユーザーデバイスのユーザーデバイス100のグループに関する識別情報データはコントローラ204によって任意選択で受信され、ここにおいて、ユーザーデバイスのグループは単一のユーザー識別情報に関連付けられる。ブロック502で、コントローラ204はユーザーデバイス100から割り当てられていないアクティビティデータについての要求を受信する。割り当てられていないアクティビティデータは、単一のユーザー識別情報に関連付けられるユーザーデバイスのグループの任意のユーザーデバイスによってキャプチャされたデータであり、時間エントリを生成するための基礎としてまだ使用されていない。ブロック504で、コントローラ204はその要求に応じて割り当てられていないアクティビティデータをユーザーデバイス100に送信する。ブロック506で、コントローラ204は割り当てられていないアクティビティデータの選択された部分に対応する選択指示を受信する。割り当てられていないアクティビティデータの部分を選択する方法が、図5を参照して以下に更に詳細に記載される。ある実施例においては、コントローラ204が選択指示を受信した後、コントローラ204は割り当てられていないアクティビティデータの選択された部分の持続時間を、それぞれの選択された部分の持続時間を加えることによって計算する。その後、ブロック508で、コントローラ204は、割り当てられていないアクティビティデータの選択された部分に対応するデータをリレーショナルデータベース210から時間エントリテンプレートにインポートすることによって、時間エントリを作成する。
【0047】
図6は、ユーザーデバイス100と通信するコントローラ204を備える処理システム200においてトラッキングされるアクティビティデータをキャプチャする方法の一実例を例示するフローチャートである。特に、図6に例示する処理は、ユーザーデバイス100の動作に関する。ブロック600で開始して、複数のユーザーデバイスのユーザーデバイス100のグループに関する識別情報データは、任意選択でユーザーデバイス100によってコントローラ204に送信され、ここにおいて、ユーザーデバイスのグループは単一のユーザー識別情報に関連付けられる。ブロック602で、ユーザーデバイス100は割り当てられていないアクティビティデータについての要求をコントローラ204に送信する。ブロック604で、ユーザーデバイス100は、コントローラ204から、処理された、割り当てられていないアクティビティデータを受信する。ブロック606で、ユーザーインターフェースが、コントローラ204から受信した割り当てられていないアクティビティデータに基づいて生成される。以下で更に詳細に記載されるように、ユーザーインターフェースの生成は、割り当てられていないアクティビティデータの持続時間を表現する視覚的なインジケータの生成を更に含む。ブロック608で、ユーザーデバイス100は割り当てられていないアクティビティデータの選択された部分に対応する選択指示をコントローラ204に送信する。選択指示を生成する特定の実施例に対して以下に記載されるように、選択指示はユーザーインターフェース上に表示されて時間エントリを生成するために再配置された視覚的なインジケータに対応することができる。視覚的なインジケータは、ユーザーデバイス100によってトラッキング、及びキャプチャされた、割り当てられていないアクティビティデータを代表するグラフィカルな要素である。ある実施例においては、視覚的なインジケータの特性は割り当てられていないアクティビティデータの個別の要素の持続時間を代表するものである。更には、ある実施例においては、それぞれの視覚的なインジケータは割り当てられていないアクティビティデータに関するデータを提供する。例えば、視覚的なインジケータは、割り当てられていないアクティビティがキャプチャされた時間、割り当てられていないアクティビティがキャプチャされた位置、割り当てられていないアクティビティに関連付けられる時間エントリテンプレートに記憶されたデータ、及びユーザーデバイス100によってキャプチャ又はトラッキングされる時間エントリを作成するために使用され得るあらゆる他のデータ、を含むことができる。
【0048】
図7はアクティビティデータがデータ同期についてどのように特定されてトラッキングされるか、の一実例を描写している。処理はユーザーデバイス100がトラッキングされるアクティビティを特定することで開始する。ユーザーデバイス100からの要求に応答して、アクティビティ702の一覧が表示される(例えば、アクティビティ1-10)。アクティビティの一覧はリレーショナルデータベース210からのものである。この実例において、アクティビティ1、アクティビティ4、及びアクティビティ8は、特定されたトラッキングされるアクティビティ704である。例えば、アクティビティ1、4及び8は、アクティビティ702の一覧が適切なディスプレイ上に表示される時、適切なチェックボックス等の選択によって特定されることができる。それによって、コントローラ204はアクティビティ1、アクティビティ4、及びアクティビティ8に対応するトラッキングされるデータのみを受信する。このやり方で、関わりのあるデータの小さな交換があり、それにより同期処理が非常に速くなる。更には、コントローラ204は、単一のユーザー識別情報に関連付けられるユーザーデバイスのグループの他のユーザーデバイスから、アクティビティ1、アクティビティ4、及びアクティビティ8についてのトラッキングされるアクティビティデータのみを受信する。同期の間、コントローラ204は、他のユーザーデバイスからトラッキングされたアクティビティ1、アクティビティ4、及びアクティビティ8に対応するアクティビティデータのみをユーザーデバイス100に送信する。更には、アクティビティ1、アクティビティ4、及びアクティビティ8の関連する修正のみ、又は特定されたアクティビティデータに関連付けられるデータレコードが同期される。
【0049】
図8は、ユーザーインターフェース800の生成を例示する。図8に例示される実例において、ユーザーインターフェース800は記載される処理の進行を具体的に説明するために上から下への順に例示されている。以前に記載されたように、図5に関して処理はユーザーデバイス100が割り当てられていないアクティビティデータについての要求をコントローラ204(図示せず)に送信することで開始する。コントローラ204は割り当てられていないアクティビティデータについての要求を受信し、図2に記載されるように割り当てられていないアクティビティデータを処理する。コントローラ204は、処理された割り当てられていないアクティビティデータをユーザーデバイス100に送信し、次いでユーザーインターフェース800を生成する。
【0050】
ユーザーインターフェース800は「時間エントリ」モードとして示されている。時間エントリモードにおいて、ユーザーインターフェース800は「デイリーレポート」802とラベル付けされた指定セクションを含み、その日についてのキャプチャされた、割り当てられていないアクティビティデータを代表する時間ごとのタイムテーブル(図示せず)及び視覚的なインジケータ804を含む。図8に示されるように、割り当てられていない時間データの別個の要素は異なる斜交平行模様でそれぞれ例示される別個の視覚的なインジケータによって表現される。それぞれの視覚的なインジケータは成形及びサイズ決めされ、したがって、視覚的なインジケータの同時の表示がある場合、それぞれの視覚的なインジケータは視覚的なインジケータの領域が重なり合うことに関わらず選択可能のままである。したがって、それぞれの視覚的なインジケータは他の視覚的なインジケータによって遮られず、且つ他の視覚的なインジケータと異なる視覚的な特性を有するように構成される。この実例において、ユーザーインターフェース800は「時間エントリ」808とラベル付けされた輪郭だけのエリアを更に含む。視覚的なインジケータは「デイリーレポート」セクション802から選択され806、「時間エントリ」セクション808に再配置される(例えば、ドラッグアンドドロップ)。繰り返しになるが、そのような再配置機能を実装する手法は当分野で良く知られている。このやり方で選択される、割り当てられていないアクティビティデータの選択された部分806に応じて、コントローラ204は割り当てられていないアクティビティデータの選択された部分を示す選択指示を受信する。その後、コントローラ204は選択された視覚的なインジケータ806に基づいて時間エントリを生成する。
【0051】
別の実施例において、コントローラ204は選択された複数の視覚的なインジケータに基づいて時間エントリを生成する。コントローラ204は視覚的なインジケータの選択された部分の持続時間を計算すること、及び時間エントリテンプレートを割り当てられていないアクティビティデータの選択された部分に関連付けられるデータレコードに投入することによって、時間エントリを生成する。図1に関して以前に議論したように、データレコードは、クライアント名、物事、タスク、料金、フェーズ、及びアクティビティを含むデータを含む。
【0052】
図9はユーザーデバイス100が割り当てられていないアクティビティデータをキャプチャすることの概念的な例示である。無線通信構成要素104、GPS108又はユーザーデバイス100のセンサ110は、ユーザーデバイス100の位置データを決定することができる。この実施例において、ユーザーデバイス100は位置データを割り当てられていないアクティビティデータの一部としてキャプチャするモバイルデバイスである。コントローラ204はユーザーデバイス100から、ユーザーデバイス100に対応する割り当てられていないアクティビティデータについての要求として位置データを受信する。コントローラ204は割り当てられていないアクティビティデータを記憶デバイス216に送信し、次いでここにおいて、割り当てられていないデータは顧客データベース214に送信される。割り当てられていないアクティビティデータは、対応するデータレコードとマッチングされる。この場合、位置はクライアント01の位置として認識されることになり、クライアント01のデータレコードに関連付けられるデータの全てが、割り当てられていないアクティビティデータとマッチングされる。割り当てられていないデータが管理コントローラ212及びリレーショナルデータベース210において更に処理されると、それはユーザーデバイス100及びユーザーデバイスのグループのユーザーデバイスの全てに送信され、ここにおいて、割り当てられていないアクティビティデータは視覚的なインジケータ902に生成される。この実施例において、視覚的なインジケータ902はアクティビティ、位置、及びキャプチャされる割り当てられていないアクティビティデータに関連付けられる時間を指定する。時間エントリはユーザーデバイスのグループの任意のユーザーデバイスから生成されることができる。上述のように、時間エントリを生成するために視覚的なインジケータ902が選択され、デイリーレポート904から時間エントリ906に再配置される。視覚的なインジケータ902に含まれるデータは、時間エントリが生成される時に、時間エントリテンプレートに投入される。
【0053】
図10はトラッキングされるアクティビティをキャプチャするユーザーデバイス100の実施例の例示である。示されるように、ユーザーデバイス100はその中に開かれている電子文書1004を有する文書作成プログラム(又は上述のような他のアプリケーションプログラム)を更に備えるユーザーインターフェース1002を備えることができる。電子文書を開く時、ユーザーデバイス100は電子文書に関連付けられる割り当てられていないアクティビティデータとしてそのことをキャプチャする。例えば、電子文書1004は物事_01_クライアント_01として特定される。電子文書1004に関連付けられる割り当てられていないアクティビティデータ(それは文書がどれだけの時間、開かれたままだったか、も含み得る)が抽出され、コントローラ204に送信され、電子文書1004の割り当てられていないアクティビティデータをクライアント01及び物事01に関連付ける。コントローラ204が割り当てられていないアクティビティデータをユーザーデバイス100に送信し返す時、視覚的なインジケータ1006が生成され、それはこの割り当てられていないアクティビティデータの持続時間(例えば、この文書がどれだけの時間、開かれたか)、それにかかった時間、物事、及びクライアントを示す。割り当てられていないアクティビティデータの全ては、ユーザーデバイスのグループの全てのユーザーデバイスをわたって同期される。更には、視覚的なインジケータ1006におけるデータは、視覚的なインジケータ1006が「デイリーレポート」から「時間エントリ」に再配置される時、時間エントリテンプレートに投入されることができ、時間エントリが生成される。
【0054】
上記の詳細な説明及びそこに記載される実例は例示及び説明のみの目的のために提示されたものであり、限定のためではない。したがって本開示が、上記で開示される基本的な基礎を成す原理及び本明細書において特許請求される範囲の精神及び範囲に入るあらゆる及び全ての修正、変形、又は等価物を包含することを企図されている。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11