POLICY BASED DISTRIBUTION MODELING VIA INFORMATION MODELS
The method by which an information distribution system distributes information to subscribers is controlled by user profiles. A user profile is automatically generated by a profile generator based on information known about the user and a plurality of policies detailing what kind of users is eligible to receive what kind of information. User information and policy definitions are found on a user record store and a policy store connected to the profile generator, and the generated user profile is stored on a user profile store.
1 . A method for creating a user profile, comprising:
loading a user record comprising a set of user values describing a user;
loading a policy record comprising a set of mappings, each mapping associating at least one user value to at least one information source;
creating the user profile with default user values and associating the user profile with the user record;
determining if the policy record is applicable to the user record; and
if the policy record is applicable:
extracting a set of information sources from the mappings of the policy record; and
amending the user profile to reflect the set of information sources.
2 . The method of claim 1 , wherein determining applicability comprises:
reading from the policy record a set of requirements for applicability; and
evaluating the set of requirements against the user record.
3 . The method of claim 2 , wherein the policy record comprises a section outlining the set of requirements.
4 . The method of claim 2 , wherein reading a set of requirements comprises:
for each mapping in the policy record:
extracting the user value associated with the mapping; and
storing the extracted user values in a set.
5 . The method of claim 2 , wherein the set of requirements comprises a set of discrete user values.
6 . The method of claim 2 , wherein the set of requirements comprises a set of user value ranges.
7 . The method of claim 1 , wherein the policy record is partially applicable to the user record.
8 . The method of claim 1 , wherein extracting a set of information sources comprises, for each mapping within the policy record:
determining if the mapping is applicable to the user record;
if so, extracting the information source associated with the mapping; and
storing the extracted information sources in a set.
9 . The method of claim 1 , wherein extracting a set of information sources comprises:
for each mapping in the policy record:
extracting the information sources associated with the mapping; and
storing the extracted information sources in a set.
10 . The method of claim 1 , wherein the set of information sources comprises only unique entries of information sources.
11 . The method of claim 1 , wherein the set of information sources comprises only information sources that the user can be mapped to.
12 . The method of claim 1 , wherein amending the user profile comprises:
creating a temporary user profile using the set of information sources; and
replacing the user profile comprising the default user values with the temporary user profile.
13 . The method of claim 1 , wherein reflecting the set of information sources comprises adding the set of information sources.
14 . The method of claim 1 , wherein reflecting the set of information sources comprises adding only information sources from the set of information sources that are not already present in the user profile.
15 . The method of claim 1 , wherein reflecting the set of information sources comprises replacing an existing set of information sources with the set of information sources.
16 . The method of claim 1 , wherein reflecting the set of information sources comprises removing a set of existing information sources that are inconsistent with the set of information sources.
17 . A method for creating a user profile, comprising:
loading a user record comprising a set of user values describing a user;
loading a set of policy records, each policy record comprising a set of mappings, each mapping associating at least one user value to at least one information source;
creating the user profile with default user values and associating the user profile with the user record;
for each policy record:
determining if the policy record is applicable to the user record;
if the policy record is applicable:
extracting a set of information sources from the mappings of the policy record; and
amending the user profile to reflect the set of information sources.
18 . A method for creating a set of user profiles, comprising:
loading a set of user records, each user record comprising a set of user values describing a user;
loading a policy record comprising a set of mappings, each mapping associating at least one user value to at least one information source;
for each user record:
creating a user profile with default user values and associating the user profile with the user record;
determining if the policy record is applicable to the user record;
if the policy record is applicable:
extracting a set of information sources from the mappings of the policy record; and
amending the user profile to reflect the set of information sources.
19 . A method for creating a set of user profiles, comprising:
loading a set of user records, each user record comprising a set of user values describing a user;
loading a set of policy records, each policy record comprising a set of mappings, each mapping associating at least one user value to at least one information source;
for each user record:
creating a user profile with default user values and associating the user profile with the user record;
for each user record and each policy record:
determining if the policy record is applicable to the user record;
if the policy record is applicable:
extracting a set of information sources from the mappings of the policy record; and
amending the user profile to reflect the set of information sources.
20 . A method for creating a user profile using a profile generator, comprising:
specifying a user record comprising a set of user values describing a user;
specifying a policy record comprising a set of mappings, each mapping associating at least one user value to at least one information source; and
executing the profile generator;
wherein the profile generator is adapted to create the user profile by:
loading the user record;
loading the policy record;
creating the user profile with default user values and associating the user profile with the user record;
determining if the policy record is applicable to the user record;
if the policy record is applicable:
extracting a set of information sources from the mappings of the policy record; and
amending the user profile to reflect the set of information sources;
21 . The method of claim 20 , wherein the method is executed in response to an update of a user record.
22 . The method of claim 20 , wherein the method is executed in response to an update of a policy record.
23 . The system of claim 20 , wherein the method is executed by manual input.
24 . The system of claim 20 , wherein the method is executed automatically.
25 . A system adapted to create a user profile, comprising:
a profile generator;
a user record store;
a policy record store; and
a user profile store;
wherein the profile generator is adapted to generate the user profile by:
loading a user record from the user record store, the user record comprising a set of user values describing a user;
loading a policy record from the policy store, the policy record comprising a set of mappings, each mapping associating at least one user value to at least one information source;
creating the user profile with default user values and associating the user profile with the user record;
determining if the policy record is applicable to the user record; and
if the policy record is applicable:
extracting a set of information sources from the mappings of the policy record; and
amending the user profile to reflect the set of information sources.
26 . The system of claim 25 , wherein at least two members of the group consisting of the profile generator, the user record store, the policy record store and the user profile store are connected by a network.
27 . The system of claim 25 , wherein at least two members of the group consisting of the profile generator, the user record store, the policy record store and the user profile store reside on a same computer system.
28 . A computer readable medium having program instructions stored thereon that, when executed, causes a computer system to:
load a user record comprising a set of user values describing a user;
load a policy record comprising a set of mappings, each mapping associating at least one user value to at least one information source;
create a user profile with default user values and associating the user profile with the user record;
determine if the policy record is applicable to the user record; and
if the policy record is applicable:
extract a set of information sources from the mappings of the policy record; and
amend the user profile to reflect the set of information sources.