Patent Publication Number: US-9430538-B2

Title: Providing additional information and data in cooperation with a communication application

Description:
FIELD 
     This invention relates generally to data classification systems, more particularly, to methods and systems for providing information to a requester. 
     DESCRIPTION OF THE RELATED ART 
     The amount of data available to information seekers has grown astronomically, whether as the result of the proliferation of information sources on the Internet, or as a result of private efforts to organize business information within a company, or any of a variety of other causes. As the amount of available data grows, so does the need to be able to categorize or label that data so that the data may be more efficiently searched and a user may determine the relevance of data to them. 
     For businesses and organizations, data from different applications is typically grouped together based on the data&#39;s relation to a person or entity with which business is conducted, such as a client. For example, a business may arrange the data from different applications under a folder for a particular client. However, in order to view the different data, a user must view the data in each separate application in order to determine the nature and subject of the data. 
     One type of application utilized by businesses and organizations is a communication application. These application allow the employees of the business to communicate with customers and clients. These applications typically consist of web-based chat applications, voice and video telephone application, and the like. 
     When an employee receives a communication via one of these application, the application typically receives some type of identity information from the initiator of the communication. For example, a incoming telephone call will include the telephone number of the initiator. However, the identity information is often limited and the information doesn&#39;t include any information regard the nature and context of the communication. Accordingly, there is a need in the art for a mechanism to allow users of a communication application to receive additional data about incoming communication. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Various features of the embodiments can be more fully appreciated, as the same become better understood with reference to the following detailed description of an embodiment when considered in connection with the accompanying figures, in which: 
         FIG. 1  illustrates an exemplary system in accordance with an embodiment. 
         FIG. 2  illustrates an exemplary software environment in accordance with an embodiment. 
         FIG. 3  illustrates an exemplary data classification module in accordance with another embodiment. 
         FIGS. 4A-4C  illustrates exemplary data structures in accordance with yet another embodiment. 
         FIG. 5  illustrates an exemplary interface in accordance with yet another embodiment. 
         FIGS. 6A-6B  each illustrate an exemplary interface for displaying retrieved information in accordance with yet another embodiment. 
         FIG. 7  illustrates an exemplary process flow of a data classification module in accordance with another embodiment. 
         FIG. 8  illustrates an exemplary computer platform in accordance with another embodiment. 
     
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
     For simplicity and illustrative purposes, the principles of the present invention are described by referring mainly to exemplary embodiments thereof. However, one of ordinary skill in the art would readily recognize that the same principles are equally applicable to, and can be implemented in, all types of computing systems, and that any such variations do not depart from the true spirit and scope of the present invention. Moreover, in the following detailed description, references are made to the accompanying figures, which illustrate specific embodiments. Electrical, mechanical, logical and structural changes may be made to the embodiments without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense and the scope of the present invention is defined by the appended claims and their equivalents. 
     Embodiments relate generally to systems and methods for classifying and organizing data from a variety of applications based on entities associated with the data. More particularly, a data classification module is configured to retrieve data from different applications. Each application can utilize data in a different format from other applications. The data classification module is configured to extract identifying information from the data, received from the applications. The identifying information includes information on entities and persons related to the data. For example, entities can be companies, corporations, associations, organization, and the like. Persons can be anyone related to the entities and the data such as employees of the entity. 
     The data classification module is configured to organize the identifying information into a data structure based on the entities associated with the data. After organization, the data classification module is configured to store the data structure in a searchable repository. 
     According to embodiments, the data classification module is further configured to operate in cooperation with a communications application. Upon receiving an incoming communication via the communication application, the data classification module is configured to receive the identifying information from the communication application. 
     The data classification module is configured to utilize the identifying information to retrieve additional information and data associated with the remote user from the searchable repository. The additional information and data can include additional identity information for the remote user. The additional information and data can also include information to allow the user to discern the context of the incoming communication. The data classification module is configured to generate an interface to provide the retrieved information to the user of communication application. 
     By cooperating with a communication application, the data classification module can efficiently and quickly provide additional identifying information about an initiator of an incoming communication. This allows a user to easily identify additional information about the communication such as the nature and context of the communication 
       FIG. 1  illustrates an exemplary system  100  in accordance with an embodiment. It should be readily apparent to those of ordinary skill in the art that system  100  depicted in  FIG. 1  represents a generalized schematic illustration and that other components may be added or existing components may be removed or modified. Moreover, system  100  may be implemented using software components, hardware components, or combinations thereof. 
     As shown in  FIG. 1 , system  100  includes clients  105 , a network  110  and a server  115 . Client  105  is configured to provide users a platform for a software environment  120 , such as described in  FIG. 2 . The users can be private individuals, employees of private business or public business or other persons interested in utilizing software environment  120  and accessing server  115 . Client  105  can be implemented in personal computers, personal mobile devices, workstations or other networked computing platforms. While  FIG. 1  illustrates three clients  105 , those of ordinary skill in the art will realize that system  100  can include fewer or additional clients  105 . 
     Network  110  can be a combination of wide area and local area networks such as the Internet. Network  110  can be configured to provide a communication channel between client  105  and server  115 . Network  110  can implement a variety of network protocols to provide the communication channel such as Internet Protocol (“IP”) Vx, ATM, SONET, or other similar network protocols. 
     Server  115  is configured to provide a variety or services and functions to client  105 . Server  115  can be configured to provide application services, database services, website services, and the like. For example, server  115  can be configured to support software environment  120  and a database  125 . Server  115  can be implemented in server computers, mainframes, workstations or other networked computing platforms. While  FIG. 1  illustrates one server  115 , those of ordinary skill in the art will realize that system  100  can include additional servers  115 . 
     According to embodiments, software environment  120  can include a data classification module  130 . Data classification module  130  is configured to operate in cooperation with a communications application. Upon receiving an incoming communication via the communication application, data classification module  130  is configured to receive the identifying information from the communication application. 
     Data classification module  130  is configured to utilize the identifying information to retrieve additional information and data associated with the remote user. The additional information and data can include additional identity information for the remote user. The additional information and data can also include information to allow the user to discern the context of the incoming communication. Data classification module  130  is configured to generate an interface to provide the retrieved information to the user of the communication application. 
       FIG. 2  illustrates an exemplary software environment  120  in accordance with an embodiment. It should be readily apparent to those of ordinary skill in the at that software environment  120  depicted in  FIG. 2  represents a generalized schematic illustration and that other components may be added or existing components may be removed or modified. 
     As shown in  FIG. 2 , software environment  120  can include an operating system  205 . Operating system  205  can be a version of a Linux™, UNIX™, Windows™, or similar multi-tasking, multi-user operating system. A run-time environment (not shown) can be configured to execute on operating system  205 . The run-time environment can provide a set of software that supports the execution of applications/programs. The run-time environment can also comprise an application program interface (“API”)  210  and a complementary API (not shown) within an application space  215 . API  210  can be configured to provide a set of routines that application space  215  uses to request lower-level services performed by operating system  205 . Operating system  205  can include a kernel (not shown). The kernel can be configured to provide secure access to the underlying hardware of a processor. 
     Application space  215  can represent the space where a user can execute applications given the allotted memory space as determined by a system administrator of software environment  120 . Within application space  215 , a user can open and execute a number of applications  220 . Applications  220  that can be executed within application space  215  can be a wide variety from databases, electronic mail, customer relationship management programs, utilities, browsers, multi-media application, word processing applications, spreadsheet applications, etc. Each of applications  220  has data objects, such as a native file and/or document format, that is associated with the respective application. For example, Microsoft Word™ has default document format, a Word document. Similarly, Adobe™ has a default document type “.pdf” file, as another example. 
     Software environment  120  can further include a data classification module  130 . Data classification module  130  can be configured to retrieve data from application  220 . The data from each application  220  can be data objects that include any type of information (e.g., an email, email thread, forum, a website, a text file, an image or a Word document), each data object having a respective application  220  (browser, electronic mail, spreadsheet, content repository, etc.) The data object can also include abstract concepts such as events, projects, dates, places, and the like. 
     Data classification module  130  can be configured to extract identifying information from the data received from applications  220 . The identifying information includes information on entities and persons related to the data. For example, entities can be companies, corporations, associations, organization, and the like. Person can be any one related to the entity or the data such as an employ of the entity. 
     Data classification module  130  organizes the identifying information into a data structure based on the entities associated with the data. After organization, data classification module  130  can be configured to store the data structure in a searchable repository, such as database  125 . In particular, data classification module  130  stores the identifying information such that data from different applications  220  can be located by searching for an entity or person related to the data. According to embodiments, data classification module  130  is rather configured to retrieve stored information from the repository. 
     Within application space  215 , a user can open and execute a communication applications  230 . Communication application  230  can be any type of application that is configured to provide communication services to client  105 . For example, communication application  230  can be a chat application, voice or video telephone application, and the like. As such, communication application  230  is configured to provide a communication interface to allow the user to communicate with remote users. The communication interface provides a portal for the user to communicate remotely with other users. 
     When receiving incoming communications from remote users, communication application  230  receives identifying information that is associated with the remote users communicating with the user via communication application  230 . For example, if communication application  230  is a chat application, communication application  230  typically receives a user ID and name from the remote users communicating with the user. Likewise, if communication application  230  is a telephone application, communication application  230  typically receives a telephone number from the remote users communicating with the user. 
     According to embodiments, data classification module  130  is further configured to operate in cooperation with communications application  230 . Upon receiving an incoming communication via communication application  230 , data classification module  130  is configured to receive the identifying information from the communication application  230 . 
     Data classification module  130  is configured to utilize the identifying information to retrieve additional information and data associated with the remote user. The additional information and data can include additional identity information for the remote user. The additional information and data can also include information to allow the user to discern the context of the incoming communication. Data classification module  130  is configured to generate an interface to provide the retrieved information to the user of communication application  230 . 
       FIG. 3  depicts a more detailed block diagram  360  of data classification module  130  in accordance with another embodiment. It should be readily apparent to those of ordinary skill in the art that the diagram depicted in  FIG. 3  represents a generalized schematic illustration and that other components may be added or existing components may be removed or modified. 
     As shown in  FIG. 3 , data classification module  130  can comprise a translation engine  305 , an application interface  310 , a database interface  315 , and a search engine  320 . Modules  305 - 320  of data classification module  130  can be implemented as software components, hardware components or combinations thereof. More particularly, modules  305 - 320  can be implemented using conventional programming languages (e.g., Pascal, FORTRAN, etc.), objected oriented programming languages (e.g., C++), Java, PHP, Perl, XML or other similar languages. Modules  305 - 320  can also be implemented as hardware components such as an application specific integrated circuit, a programmable read-only memory, an EEPROM, a microcontroller, a microprocessor or other similar computing platform. 
     Data classification module  130  can be coupled to a database  325 . Database  325  can be implemented utilizing any type of conventional database architecture using open source technologies, proprietary technologies, or combinations thereof. 
     Translation engine  305  can be configured to manage modules  310 - 320  to provide the functionality of data classification module  130  as previously described and firer described herein below. In particular, translation engine  305  is configured to receive data from different applications  220 . The data received from the different applications can be in it respective native or default data format. For example, data received from an email application can be in the format for an email message or email thread. In another example, data received from a word processing application can be in the format of a word processing file. 
     In order to receive data from applications  220 , translation engine  305  can be coupled to application interface  310 . Application interface  310  can be configured to interface to different applications, such as applications  220 , in order to retrieve data from the applications. Application interface  310  can be configured to retrieve data from applications  220  each time new data is entered into or created in application  220 . 
     Likewise, application interface  310  can be configured to retrieve data from application  220  in response from a request from a user of software environment  120 . For example, a menu icon that is linked to application interface  310  can be configured to be installed with applications  220 . In some instances, applications  220  can be open source applications, which allow these configuration/installation modifications. If applications  220  are proprietary applications, i.e., not open source, applications  220  can permit the same configuration/installation modification depending on their published application program interfaces. When the menu icon is activated, application interface  310  can retrieve data from the activating application. 
     Translation engine  305  is configured to extract identifying information from the data received from applications  220 . The identifying information can be the type of application the data was retrieved from, the subject of the data, a reference to the data, an entity associated with the data, and a person related to the entity and associated with the data and the like. 
     In order to extract identifying information from the application data, translation engine  305  can include rules for extracting identifying information from data received from each application  220 . In particular, for each application  220 , translation engine  305  can include a rule that sets forth the identifying information for data received from that application. For example, for data received from an email application, the rule can be that the identifying information includes the type email application, all recipients and senders of the email, and the subject of the email. 
     Translation engine  305  can extract the identifying information from the data itself or from meta data. For example, most data generated by applications include meta data. The meta data typically describes the property of the data such as application type, description of the data, creator of the data, and the like. Translation engine  305  can include a list of meta data included in data from different applications  220 . Translation engine  305  can utilize the list in order to identify meta data in received data from applications  220 . 
     The rules can further include how to extract the identifying information from the data. For example, for an email application, the rule can define that the type of application can be extracted from the meta data, the recipients and senders can be extracted from the “to,” “from,” and “cc” fields, and the description can be extracted from the “subject” field. As such, translation engine  305  can parse the data from application  220  in order to extract the identifying information. 
     After extracting the identifying information, data classification module  130  organizes the identifying information into a searchable data structure. To achieve this, translation engine  305  can be coupled to a database interface  315 . Database interface  315  can organize the identifying information into a searchable data structure based on entities and persons associated with the entity. Database interface  315  can then store the organized identifying information in a searchable repository such as database  325 . 
     Database interface  315  utilizes a hierarchical relational structure  400  based on an entity and person associated with the entity to organize the identifying information, as shown in  FIG. 4A . It should be readily apparent to those of ordinary skill in the art that the diagram depicted in  FIG. 4A  represents a generalized schematic illustration and that other components may be added or existing components may be removed or modified. 
     As illustrated in  FIG. 4A , structure  400  includes records for entities, person related to the entity, and data related to the entity. Structure  400  can include an entity record  405 , a department record  410 , employee record  415 , and data record  420 . 
     Entity record  405  includes fields that identify and describe an entity. For example, entity record  405  can include an entity name field  425 , a description field  430 , a department field  435 , and employees field  440 . Entity name field  425  can be filled with information that identifies the entity such as the legal name of the entity. Description field  430  can be filled with information that describes the entity such as the address, phone number, and business type. Department field  435  can be filled with the various department or sections of the entity. Employee field  440  can be filled with the various employees of the entity. Although  FIG. 4A  illustrates only one entity record  405 , it should be readily apparent to those of ordinary skill in the art that structure  400  can include any number of entity records  405  for each entity. 
     Department record  410  can include an employee field  445 . Employee field  405  can be filled with employees of the entity that belong to the particular department. Although  FIG. 4A  illustrates only one department record  410 , it should be readily apparent to those of ordinary skill in the art that structure  400  can include any number of department records  410  for each department of the entity. 
     Employee record  415  can include an employee information field  450 . Employee information field  450  can be filled with details of the employee such as name, title, phone number, email address, instant message “IM” handle, physical address, and the like. Although  FIG. 4A  illustrates only one employee record  415 , it should be readily apparent to those of ordinary skill in the art that structure  400  can include any number of employee records  415  for each employee of the entity. 
     Data record  420  can include information that identifies data received from applications. Data record  420  can include a data type field  455 , an application type field  460 , a description field  465 , reference field  470 , and associations field  475 . Data type field  455  can be filled with information that describes the type of data the record identifies, such as email message, word processing file, invoice, and the like. 
     Application type field  460  can be filled with information that identifies the application associated with the data, such as email application, word processing application, financial application, and the like. Reference field  470  can be filled with a information identifying a storage location of the data such as a link to the data. Associations field  475  can be filled with information identifying employees, departments, and entities associated with the data. Although  FIG. 4A  illustrates only one data record  420 , it should be readily apparent to those of ordinary skill in the art that structure  400  can include any number of data records  420  for each data item received from an application. 
     Structure  400  illustrated in  FIG. 4A  shows the relation of the identifying information for received data to a particular entity. Database interface  315  can also be configured to generate a data structure that references all entities and all persons associated with the entities. This data structure can be utilized during searching. 
       FIG. 4B  show an exemplary structure  480  that references all entities and persons. It should be readily apparent to those of ordinary skill in the art that the diagram depicted in  FIG. 4B  represents a generalized schematic illustration and that other components may be added or existing components may be removed or modified. 
     As illustrated in  FIG. 4B , structure  480  can include entity listing record  485  and persons listing record  490 . Structure  480  can aid with searching by allowing data classification module  130  to search by the name of an entity or a person and locate records associated with the entity or person. 
     Entity listing record  485  can include an entity name fields  492  and record number fields  494 . Entity name fields  492  can be filled with the names of entities for which records  405  exist. Record number fields  494  can be filled with an identifier, such as record number, that identifies the record associated with each entity name. 
     Persons listing record  490  can include person name fields  496  and entity association fields  498 . Person name fields  496  can be filled with the names of persons, such as employees of the entities, that have been identified in structure  400 . Entity association fields  498  can be filed with an entity with which the named persons are associated. 
     Prior to storing information in data structure  400 , record entry  405  in the hierarchy must be generated for different entities. Record entry  405  for each entity can be generated by designating one application  220  as a master application. Typically, this master application would have all the data required for record  405 . For example, a financial application can be designated as the master application. Since the financial application typically includes information about all entities, the financial application would include most information in record  405 . 
     Each time the master application receives information about a new entity from a user, a new record  405  can be created for the new entity. The new record  405  can be populated with the data entered in the master application. 
     In addition to designating a master application, application interface can be configured to generate a graphical user interface, (“GUI”) such as dialog boxes, web pages and the like in order to create a new record  405 . The GUI can include field for entering information about the new entity such as name of the entity, address, telephone number, contact person, and the like.  FIG. 5  illustrates an exemplary GUI  500  for creating a new record  405 . It should be readily apparent to those of ordinary skill in the art that the diagram  500  depicted in  FIG. 5  represents a generalized schematic illustration and that other components may be added or existing components can be removed or modified. 
     As illustrated, GUI  500  can includes an entity name text field  505 , an address text field  510 , telephone number text field  515 , a business description text field  520 , and confirmation buttons  525 . A user can enter the identity of the entity in text field  505 , the address of the entity in text field  510 , the telephone number of the entity in text field  515 , and description of the entity in text field  520 . 
     Once the user has entered the information in text fields  505 - 520 , the user can transmit the identifying information to data classification module  130  by selecting the “OK” button of confirmation buttons  525 . The user can also cancel the request by selecting the “Cancel” button of the confirmation buttons  525 . 
     After a record  405  has been created, data classification module  130  can begin receiving data associated with the entity identified in record  405 .  FIG. 4C  illustrates an exemplary structure  499  in which the records  405 - 420  have been filled with identifying information. 
     As illustrated, entity record  405  can be created and filled with information for an entity named “XYZ Corp.” Entity record  405  can be created an filled by a master application or by a GUI such as GUI  500 . Also, department records  410  and employees records  415  can be created and filled with information for the entity “XYZ Corp.” Department records  410  and employees records  415  can be created an filled by the master application or by a GUI such as GUI  500 . 
     Also, as illustrated in  FIG. 4C , record  420  can created and can be filled with data from an email application such as Outlook. For example, a user of another entity “ABC corp” can be operating an application  220 , such as Outlook. Application  220  can receive an email from “Jane Smith” at “XYZ Corp” with the subject “Support for client ABC Corp.” The email can be regarding a technical support issue at “ABC Corp” that “XYZ Corp” is servicing. Once application  220  receives the email, a request can automatically be sent to data classification engine  130  to retrieve the email and classify the email. Likewise, the request can be initiated by the user. 
     After receiving the request, translation engine  305  can extract the identifying information from the email in order to fill record  420 . For example, translation engine  305  can extract, from the email, the type of email program from the meta data; the sender of the email, “Jane Smith,” from the senders email address; the entity, “XYZ Corp,” associated with the sender from the senders email address; and a storage location, “//mail.xyzcorp.com/user,” from the meta data. 
     After extracting the identifying information, database interface  315  can create record  420  and fill record  420  with the extracted information. For example, data type field  455  can be filled “email message”; application type field  460  can be filled “Outlook,” the email application receiving the email; reference field  470  can be filled “//mail.abccorp.com/user,” the mail server for “ABC Corp” where the email is stored; and associations field  475  can be filled with “Jane Smith” and “Support”. Database interface  315  can then store record  420  in database  325  linked to records  405 ,  410 , and  415 . 
     Returning to  FIG. 3 , data classification module  130  can include a search engine  320 . Search engine  320  can be an independent module  320  or be part of database  325  in some embodiments. Search engine  320  can be configured to receive a query from translation engine  305  that includes search topics related to any fields and records included in data structures stored in database  325 , such as data structures  400  and  480  illustrated in  FIGS. 4A and 4B . 
     According to embodiments, data classification module  130  is further configured to operate in cooperation with communications application  230 . As mentioned above, communication application  230  can be any type of application that is configured to provide communication services to client  105 . For example, communication application  230  can be a chat application, voice or video telephone application, and the like. As such, communication application  230  is configured to provide a communication interface to allow the user to communicate with remote users. The communication interface provides a portal for the user to communicate remotely with other users. 
     Upon receiving an incoming communication via communication application  230 , data classification module  130  is configured to receive the identifying information from communication application  230 . In particular, application interface  310  can be configured to receive the identifying information from communication application  230 . The identifying information can be any type of information that identifies a remote user. For example, if communication application  230  is a chat application, communication application  230  typically receives a user ID and name from the remote users communicating with the user. Likewise, if communication application  230  is a telephone application, communication application  230  typically receives a telephone number from the remote users communicating with the user. 
     Data classification module  230  is configured to utilize the identifying information to retrieve additional information and data associated with the remote user. In particular, translation engine  305  is configured to receive the identifying information from application interface  310 . Translation engine  305  is configured to generate a search request based on the identifying information. For example, if the identifying information is a telephone number, translation engine  305  can generate a search request with the telephone number. 
     Translation engine  305  is also configured to generate the search request based on configuration parameters previously established by the user. For example, translation engine  305  can be configured to search and receive only select information and data from database  325 . 
     Translation engine  305  is configured to pass the search request to search engine  320 . Search engine  320  is configured to search database  325  utilizing the search request. Search engine  320  can be configured to receive the request from translation engine  305 . 
     The request can include search topics related to any fields and records included in data structures stored in database  325 , such as data structures  400  and  480  illustrated in  FIGS. 4A and 4B . For example, if the request includes a telephone number, search engine  320  can search records  405  and  415  to identify entities and persons associated with the telephone number. Further, search engine  320  can locate records  420  that include data associated with the entities and persons. 
     Once search engine  320  determines search results, translation engine  305  is configured to retrieve information and data located in the search. Translation engine  305  can be configured to retrieve the information via database interface  315 . The information and data retrieved can be any type of information and data stored in database  325 . The information and data retrieved can be based on configuration parameters previously established by the user. 
     For example, if the identifying information is a telephone number, translation engine  305  can be configured to retrieve entity information associated with the telephone number and persons associated with the telephone number. Additionally translation engine  305  can be configured to retrieve data associated with the telephone number in database  305 . Once an entity or person is identified, translation engine  305  can be configured to retrieve data stored in records  420 . 
     Data classification module  130  is configured to generate an interface to provide the retrieved information to the user of communication application  230 . In particular, translation engine  305  can pass the retrieve additional information and data to application interface  310  to generate the interface. Application interface  310  can be configured to generate interfaces that include text fields and widgets to display the retrieve information. Application interface  310  can generate the interface based on configuration parameters established by the user. 
       FIG. 6A  shows an exemplary interface  600  for providing the additional information and data to the user. Interface  600  shows receiving a request for additional information and data from database  325  from a voice or video telephone application. One of skilled in the are will realize that interface  600  is exemplary and can be utilized with other communication applications  230 . Additionally, one skilled in the art will realize that interface  600  can be modified to include additional components. 
     As illustrated, interface  600  includes an identity text fields  602  and data text fields  604 . Identity text fields  602  are configured to include identity information about the remote user. The identity information can be received from communication application  230 . Likewise, the identity information can be retrieved from database  325 . 
     Identity text fields  602  include a phone number text field  606 , a name text field  608 , an entity text field  610 , and a title text field  612 . Phone number text field  606  can be populated with the telephone number received from communication application  230 . Name text field  608 , entity text field  610 , and title text field  612  can be populated with information from database  325 . 
     Data text fields  604  can be configured to provide application data retrieved from database  325  associated with entities and persons retrieved from database  325 . Data text fields  604  include a support text field  614  and a calender text field  616 . Support text field  614  and calender text field  616  is configured to display data from a technical support applications and calender applications, respectively. Support text field  614  and calender text field  616  can be populated with data retrieved from database  325 . In particular, support text field  614  and calender text field  616  can be populated with data from records  420  associated with entities and persons related to the received telephone number. 
     Data text fields  604  can also be configured to be interactive by including a link to the data. As such, a user can select the data provided in data text field  604 . In response, data classification module  130  can be configured to send a command to the application associated with the data displayed in data text fields  604 . The command can launch the application to display the data from data text fields  604 . 
     As mentioned above, data classification module  130  can be configured to retrieve additional information and data based on configuration parameters. For example, in interface  600 , data text fields  604  can be modified to include different text field in order to display information from different data stored in database  325 . To receive configuration parameters, application interface  310  can be configured to generate an configuration interface. The configuration interface can be configured to allow a user to enter parameters for searching and retrieving additional information from database  325 . For example, the user can select different types of data to include in interface  600 . Application interface  310  can generate the configuration interface based on a request from communication application  230 . 
       FIG. 6B  shows an exemplary configuration interface  650 . As shown, interface  650  includes selection widgets  655 , date text fields  660 , and confirmation buttons  665 . One of skilled in the are will realize that interface  650  can be modified to include additional components. 
     Selection widgets  655  can be configured to allow the user to select which applications to search database  325  for data related to the remote user. As shown, selection widgets  655  can be associated with four applications: a calender application, support application, email application, and word processing application. Interface  650  can be configured to include any number of widgets  655  depending on the applications for which data is stored in database  325 . 
     Date text field  660  can be configured to allow the user to select a date range for data. The user can enter a date range in fields  660  and, in response, translation engine  305  can be configured to limit the search request of database  325  to the entered date range. 
     Once the configuration parameters has been entered, confirmation button  665  can be configure to allow the user to accept the configuration parameters or discard the configuration parameters and close configuration interface  650 . 
       FIG. 7  depicts an exemplary data classification flow diagram  700  implemented by data classification module  130  in accordance with another embodiment. It should be readily apparent to those of ordinary skill in the art that the flow diagram  700  depicted in  FIG. 7  represents a generalized schematic illustration and that other steps may be added or existing steps may be removed or modified. 
     As shown in  FIG. 7 , data classification module  130  can be configured to receive a request from an application  230  to provide additional information and data about a remote user, in step  705 . The request from application  230  can include various identity information depending on application  230 . For example, if communication application  230  is a chat application, communication application  230  typically receives a user ID and name from the remote users communicating with the user. Likewise, if communication application  230  is a telephone application, communication application  230  typically receives a telephone number from the remote users communicating with the user. 
     Then, data classification module  130  determines the additional information and data based on the request, in step  710 . Specifically, translation engine  305  is configured to direct search engine  320  to search database  325  based on the request. 
     After determining the information, data classification module  130  retrieve the additional information and data from the database, in step  715 . Specifically, translation engine  305  can direct database interface  315  to retrieve the additional information and data from database  325 . 
     Then, data classification module  130  generates an interface to provide the additional information and data to the user, in step  720 . Specifically, translation engine  305  can provide the retrieved information to application interface  310 . Application interface  310  can generate an interface to display the information to the requester. The interface can be a user interface as illustrated in  FIG. 6A . After generating the interface, data classification module  130  provides the interface to the user, in step  725 . 
       FIG. 8  illustrates an exemplary block diagram of a computing platform  800  where an embodiment may be practiced. The functions of the data classification module  130  can be implemented in program code and executed by computing platform  800 . Data classification module  130  can be implemented in computer languages such as PASCAL, C, C++, JAVA, etc. 
     As shown in  FIG. 8 , computing platform  800  includes one or more processors, such as processor  802  that provide an execution platform for embodiments of data classification module  130 . Commands and data from processor  802  are communicated over a communication bus  804 . Computing platform  800  also includes a main memory  806 , such as a Random Access Memory (RAM), where data classification module  130  can be executed during runtime, and a secondary memory  808 . Secondary memory  808  includes, for example, a hard disk drive  810  and/or a removable storage drive  812 , representing a floppy diskette drive, a magnetic tape drive, a compact disk drive, etc., where a copy of a computer program embodiment for data classification module  130  can be stored. Removable storage drive  812  reads from and/or writes to a removable storage unit  814  in a well-known manner. A user interfaces with the data classification module  130  with a keyboard  816 , a mouse  818 , and a display  820 . Display adapter  822  interfaces with the communication bus  804  and display  820 . Display adapter  822  also receives display data from processor  802  and converts the display data into display commands for display  820 . 
     Certain embodiments may be performed as a computer program. The computer program may exist in a variety of forms both active and inactive. For example, the computer program can exist as software program(s) comprised of program instructions in source code, object code, executable code or other formats; firmware program(s); or hardware description language (HDL) files. Any of the above can be embodied on a computer readable medium, which include storage devices and signals, in compressed or uncompressed form. Exemplary computer readable storage devices include conventional computer system RAM (random access memory), ROM (read-only memory), EPROM (erasable, programmable ROM), EEPROM (electrically erasable, programmable ROM), and magnetic or optical disks or tapes. Exemplary computer readable signals, whether modulated using a carrier or not, are signals that a computer system hosting or running the present invention can be configured to access, including signals downloaded through the Internet or other networks. Concrete examples of the foregoing include distribution of executable software program(s) of the computer program on a CD-ROM or via Internet download. In a sense, the Internet itself, as an abstract entity, is a computer readable medium. The same is true of computer networks in general. 
     While the invention has been described with reference to the exemplary embodiments thereof, those skilled in the art will be able to make various modifications to the described embodiments without departing from the true spirit and scope. The terms and descriptions used herein are set forth by way of illustration only and are not meant as limitations. In particular, although the method has been described by examples, the steps of the method may be performed in a different order than illustrated or simultaneously. Those skilled in the art will recognize that these and other variations are possible within the spirit and scope as defined in the following claims and their equivalents.