Patent ID: 8458186

Claim:
A computer-implemented method for indexing data for use by a plurality of applications, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising: receiving a program-specific data object at a first application of a plurality of applications, the program-specific data object being configured to be accessed by at least one program type; determining, based on metadata associated with the program-specific data object, that an index of tokens associated with the program-specific data object is not stored in a database that is accessible by the plurality of applications, wherein the plurality of applications comprise two or more application types; converting, after determining that the index of tokens associated with the program-specific data object is not stored in the database, the program-specific data object to a common-form data object; tokenizing the common-form data object to extract tokens from the common-form data object; creating an index of the tokens extracted from the common-form data object, the index of the tokens extracted from the common-form data object being formatted to be utilized by each of the plurality of applications; performing a first data classification of the program-specific data object to obtain a first set of classification data that is associated with the program-specific data object and particular to the first application; storing the common-form data object, the index of the tokens extracted from the common-form data object, and the first set of classification data in the database that is accessible by the plurality of applications; receiving, from a second application of the plurality of applications that has received the program-specific data object, a request for the index of the tokens extracted from the common-form data object; allowing the second application to access the index of the tokens extracted from the common-form data object; receiving, from the second application, a second set of classification data that is associated with the program-specific data object and particular to the second application, the first set of classification data being different than the second set of classification data; storing the second set of classification data in the database that is accessible by the plurality of applications.