Multi-user system with dynamic data source selection
First Claim
1. A computer program product comprising:
- a first set of instructions, executable on a computer system, configured to receive user identification information for each user of a plurality of users at a start of a current session of each user;
a second set of instructions, executable on the computer system, configured to dynamically determine a plurality of data sources designated for each user based on the user identification information, wherein the plurality of data sources comprisesa common database that is accessible by all of the plurality of users, andat least one user-specific database that is configured to be accessed by only designated users;
a third set of instructions, executable on the computer system, configured to set a data source variable for each user, whereinthe data source variable comprises information configured to identify the data sources designated for the user, andthe data source variable is a session-specific variable that is utilized by the user only for the current session;
a fourth set of instructions, executable on the computer system, configured to provide a user-specific data source selection interface to each user so as to enable each user to select one or more user-specific data sources, wherein said fourth set of instructions is configured to determine if a user is authorized to select another data source and to receive, after the start of the current session and after the data source variable is set, a user selection identifying at least one data source which is different from the data sources designated for the user and associated with the data source variable;
a fifth set of instructions, executable on the computer system, configured to dynamically change the data source variable during the current session so that the data source variable comprises information configured to identify one or more data sources identified by the user selection;
a sixth set of instructions, executable on the computer system, configured to direct queries for each user to the data sources designated for the user or identified by the user selection based on the identity of the data sources set in the data source variable, wherein said sixth set of instructions is configured to direct identical queries for different users to different data sources even when results returned from the data sources in response to the identical queries are different; and
non-transitory computer readable storage media, wherein said first set of instructions, said second set of instructions, said third set of instructions, said fourth set of instructions, said fifth set of instructions, and said sixth set of instructions are encoded in said non-transitory computer readable storage media.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques to dynamically select data sources for users and to direct queries for the users to the proper data sources. Initially, user information (e.g., user name) for each user is received and used to determine a data source designated for the user. The designated data source may be determined via a look-up table or by running a query with the user information to obtain the identity (e.g., the logical name) of the data source. A data source variable for each user can then be set to the identity of the designated data source. Thereafter, queries for each user are directed to the user'"'"'s designated data source by determining database connection information for the designated data source based on the data source variable and using this information to direct the queries.
56 Citations
17 Claims
-
1. A computer program product comprising:
-
a first set of instructions, executable on a computer system, configured to receive user identification information for each user of a plurality of users at a start of a current session of each user; a second set of instructions, executable on the computer system, configured to dynamically determine a plurality of data sources designated for each user based on the user identification information, wherein the plurality of data sources comprises a common database that is accessible by all of the plurality of users, and at least one user-specific database that is configured to be accessed by only designated users; a third set of instructions, executable on the computer system, configured to set a data source variable for each user, wherein the data source variable comprises information configured to identify the data sources designated for the user, and the data source variable is a session-specific variable that is utilized by the user only for the current session; a fourth set of instructions, executable on the computer system, configured to provide a user-specific data source selection interface to each user so as to enable each user to select one or more user-specific data sources, wherein said fourth set of instructions is configured to determine if a user is authorized to select another data source and to receive, after the start of the current session and after the data source variable is set, a user selection identifying at least one data source which is different from the data sources designated for the user and associated with the data source variable; a fifth set of instructions, executable on the computer system, configured to dynamically change the data source variable during the current session so that the data source variable comprises information configured to identify one or more data sources identified by the user selection; a sixth set of instructions, executable on the computer system, configured to direct queries for each user to the data sources designated for the user or identified by the user selection based on the identity of the data sources set in the data source variable, wherein said sixth set of instructions is configured to direct identical queries for different users to different data sources even when results returned from the data sources in response to the identical queries are different; and non-transitory computer readable storage media, wherein said first set of instructions, said second set of instructions, said third set of instructions, said fourth set of instructions, said fifth set of instructions, and said sixth set of instructions are encoded in said non-transitory computer readable storage media. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method implemented on a computer system comprising one or more processors, the method comprising:
-
receiving user identification information for each user of a plurality of users at a start of a current session of each user; dynamically determining a plurality of data sources designated for each user based on the user identification information, wherein the plurality of data sources comprises a common database that is accessible by all of the plurality of users, and at least one user-specific database that is configured to be accessed by only designated users; setting a data source variable for each user, wherein the data source variable comprises information configured to identify the data sources designated for the user, and the data source variable is a session-specific variable that is utilized by the user only for the current session; providing a user-specific data source selection interface to each user so as to enable each user to select one or more user-specific data sources, determining if a user is authorized to select another data source, and receiving, after the start of the current session and after the data source variable is set, a user selection identifying at least one data source which is different from the data sources designated for the user and associated with the data source variable; dynamically changing the data source variable during the current session so that the data source variable comprises information configured to identify one or more data sources identified by the user selection; directing queries for each user to the data sources designated for the user or identified by the user selection based on the identity of the data sources set in the data source variable, wherein said directing directs identical queries for different users to different data sources even when results returned from the data sources in response to the identical queries are different. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
Specification