BI-TEMPORAL USER PROFILES FOR INFORMATION BROKERING IN COLLABORATION SYSTEMS
First Claim
1. A non-transitory computer-readable medium storing computer-executable instructions that when executed by a computer cause the computer to perform a method, the method comprising:
- detecting an event that occurs at a valid event time;
in response to the event, accessing a repository storing one or more user profile records, where a respective user profile record specifies at least one topic of interest to the respective user, and wherein respective user profile records include respective profile valid time periods defined by a profile record start time and a profile record end time, wherein the profile valid time period specifies a time during which the respective profile record is valid;
retrieving a prior user profile record having a profile valid time period corresponding to an earlier time that is prior to the valid event time;
generating an updated user profile record based, at least in part, on the event, wherein the updated profile record includes the valid event time set as the profile record start time;
revising the prior user profile by setting the prior user profile end time to the valid event time;
saving the updated user profile; and
saving the prior user profile for subsequent processing.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methods, and other embodiments associated with bi-temporal user profiling are described. An event is detected that occurs at a valid event time. In response to the event, a repository is accessed that stores data describing one or more user profiles that include a profile record valid time period specifying a time at which the given profile record is valid. A prior user profile record is retrieved that has a profile record valid time period that overlaps with the valid event time. An updated user profile record is created based, at least in part, on the event. The updated user profile record is saved with the valid event time demarcating the start of a profile valid time period. The prior user profile with the valid event time demarcating the end of the profile record valid time period is also saved for subsequent processing.
73 Citations
23 Claims
-
1. A non-transitory computer-readable medium storing computer-executable instructions that when executed by a computer cause the computer to perform a method, the method comprising:
-
detecting an event that occurs at a valid event time; in response to the event, accessing a repository storing one or more user profile records, where a respective user profile record specifies at least one topic of interest to the respective user, and wherein respective user profile records include respective profile valid time periods defined by a profile record start time and a profile record end time, wherein the profile valid time period specifies a time during which the respective profile record is valid; retrieving a prior user profile record having a profile valid time period corresponding to an earlier time that is prior to the valid event time; generating an updated user profile record based, at least in part, on the event, wherein the updated profile record includes the valid event time set as the profile record start time; revising the prior user profile by setting the prior user profile end time to the valid event time; saving the updated user profile; and saving the prior user profile for subsequent processing.
-
-
2. The non-transitory computer-readable medium of claim 1, further comprising:
-
retrieving a confidence level associated with the prior user profile record; generating a new confidence level based on the retrieved confidence level and the event; and associating the new confidence level with the updated user profile record.
-
-
3. The non-transitory computer-readable medium of claim 1, where the detecting of the event occurs at a system time subsequent to the valid event time.
-
4. The non-transitory computer-readable medium of claim 1, further comprising querying the repository of user profile records to return user profile records having a valid time period overlapping with a specified time period or including a specified time period.
-
5. The non-transitory computer-readable medium of claim 1, further comprising deriving a user profile record based on event data for events that occurred at a specified valid event time that is prior to the current time and storing data describing the derived user profile record with a profile record valid time period corresponding to the specified valid event time.
-
6. The non-transitory computer-readable medium of claim 1, further comprising:
-
storing content data in a content data repository at a transaction time, where the content data is associated with respective events occurring at respective valid event times prior to the transaction time; selecting an event having a valid event time; retrieving a user profile record having a valid time period overlapping with the valid event time; and updating the user profile record based on the event data.
-
-
7. The non-transitory computer-readable medium of claim 1, where a user profile record includes a level of expertise the user has with respect to a topic of interest, and further comprising querying the repository for user profile records having a given level of expertise with respect to a topic of interest during a specified profile record valid time period.
-
8. The non-transitory computer-readable medium of claim 1 comprising deriving the valid event time based, at least in part, on one or more of a user creation time, a user last modification time, a sent time, a delivered time, and a conference session times for an artifact associated with the event.
-
9. The non-transitory computer-readable medium of claim 1 comprising deriving the valid event time based, at least in part, on an evaluation of a temporal logic expression associated with the event.
-
10. The non-transitory computer-readable medium of claim 1 comprising deriving the valid event time based, at least in part, by executing a flashback query.
-
11. A computing system, comprising:
-
a profile repository configured to store one or more user profile records, where a respective user profile record specifies at least one topic of interest to the respective user, and wherein respective user profile records include respective profile valid time periods defined by a profile record start time and a profile record end time, wherein the profile valid time period specifies a time during which the respective profile record is valid; a content repository storing content associated with events that occur in a collaboration system, where the event data describing a given event includes a valid event time at which the event occurred; and a profile logic configured to; detect an event occurring at a valid event time; access the profile repository; retrieve a prior user profile from the profile repository having a profile record valid time period that overlaps with the valid event time; generating an updated user profile record based, at least in part, on the event, wherein the updated profile record includes the valid event time set as the profile record start time; revising the prior user profile by setting the prior user profile end time to the valid event time; saving the updated user profile; and saving the prior user profile for subsequent processing.
-
-
12. The computing system of claim 11, where the profile logic is configured to:
-
determine a confidence level associated with the prior user profile record; compute a new confidence level based on the retrieved confidence level and the event; and associate the new confidence level with the updated user profile record.
-
-
13. The computing system of claim 11, where the detecting of the event occurs at a transaction time subsequent to the valid event time.
-
14. The computing system of claim 11, where the profile logic is configured to query the repository of user profile records to return user profiles having a valid time period that includes a specified time.
-
15. The computing system of claim 11, where the profile logic is configured to derive a user profile record based on event data for events that occurred at a specified valid event time prior to the current time, determine a valid time period from specified valid event time, and store data describing the derived user profile record valid time period matching the determined valid time period.
-
16. The computing system of claim 11, where the profile logic is configured to:
-
store content data in a content repository at a transaction time, where the content data is associated with respective events occurring at respective valid event times prior to the transaction time; select an event having a valid event time; retrieve a user profile record having a valid time period that overlaps with the valid event time; and update the user profile record based on the event data.
-
-
17. The computing system of claim 11, where a user profile record includes a level of expertise the user has with respect to a topic of interest, and further comprising querying the repository for user profile records having a given level of expertise with respect to a topic of interest at a specified valid time.
-
18. A non-transitory computer-readable medium storing computer-executable instructions that when executed by a computer cause the computer to perform a method, the method comprising:
-
at a transaction time, detecting an event that occurred at a valid event time; updating a prior user profile record based, at least in part, on the event to create an updated profile record, where a respective user profile record specifies topics of interest to the respective user, and wherein respective user profile records include respective profile valid time periods defined by a profile record start time and a profile record end time, wherein the profile valid time period specifies a time during which the respective profile record is valid; associating the valid event time with the updated profile record as a start time; associating the valid event time with the prior profile record as an end time; storing the updated user profile and the prior user profile in a profile repository; and processing queries on user profiles stored in the profile repository based on the valid event time periods defined in the user profile records.
-
-
19. The non-transitory computer-readable medium of claim 18, further determining a causal relationship between the updating of the prior user profile and the event.
-
20. The non-transitory computer-readable medium of claim 18, further comprising querying the repository of user profiles to return user profile records having a valid time period that includes a specified time.
-
21. The non-transitory computer-readable medium of claim 18, where a user profile includes a level of expertise the user has with respect to a topic of interest, and further comprising querying the repository for user profile records having a given level of expertise with respect to a topic of interest during a specified valid time period.
-
22. The non-transitory computer-readable medium of claim 18, further comprising deriving a user profile based on event data for events that occurred prior to a specified time and storing data describing the derived user profile records and a profile record valid time period corresponding to the specified time in the profile repository.
-
23. The non-transitory computer-readable medium of claim 18, further comprising:
-
storing content data in a content repository at a transaction time, where the content data is associated with respective events occurring at respective valid event times prior to the transaction time; selecting an event having a valid event time; retrieving a user profile record from the profile repository having a valid time period that includes the valid event time; and updating the user profile record based on the event.
-
Specification