A computer implemented method of recording user activity in a knowledge archival and recollection system, comprising: initiating a network browser plug-in on detecting that a network browser has been opened; providing at least one file to a user from the network; transmitting and storing at least one file to a file archive using a file transfer protocol; gathering user activity data for each said at least one file accessed; associating user activity data to each related file; transmitting and storing user activity data to a database server using a database connection protocol; and indexing each file.
|
1. A computer implemented method of recording user activity of a user on a computer in a knowledge archival and recollection system, said method comprising:
initiating a network browser plug-in on detecting that a network browser has been opened;
providing a file to said user from said network;
transmitting and storing said file to a file archive using a file transfer protocol;
gathering user activity data for each said file accessed by said user;
associating said user activity data with each said file accessed; and
transmitting and storing said user activity data to a database server using a database connection protocol,
wherein said user activity data includes data of activity of said user on said computer including said user accessing online data, being provided to said computer from said network, and offline data, being locally available on said computer,
wherein said offline data includes files stored locally on said computer, and wherein said user activity data includes operations performed on said offline data,
wherein said user activity data associated with said accessed file includes annotation and file insertion,
wherein said user activity data further includes actual content accessed by the user, and
wherein the method further comprises:
collecting file enhancement data, associating the file enhancement data with a file being currently accessed by the user, and transmitting the file enhancement data for being stored, wherein the file enhancement data includes annotations and file insertions;
storing the actual content accessed by the user and the file enhancement data as stored material;
indexing the stored material using a front-end indexer and a background indexer, wherein the front-end indexer processes queries and the background indexer generates and updates indexes;
receiving a command, including input parameters, for conducting a search of the stored material, the input parameters including keyword, date range, the user activity, the file enhancement data, criteria and graph options from the user;
generating a customizable user activity report based on the input parameters and the user activity data;
further comprising the steps of:
(1) transmitting said user activity data to a database connection module; (2) categorizing said user activity data; (3) ranking said user activity data; (4) encrypting/decrypting said user activity data; (5) compressing/decompressing said user activity data; (6) removing redundant data from said file archive; and (7) creating preview thumbnails of said files; and
presenting the report to the user.
2. The method of
3. The method of
4. The method of
5. The method of
reading a configuration file;
creating a file transfer connection from said user's local machine to said file archive; and
establishing communication between said database server and said network browser plug-in.
6. The method of
7. The method of
10. The method of
11. The method of
12. The method of
13. The method of
acknowledging an actuation action;
initiating a file enhancement application in said web browser;
selecting a file enhancement form;
initiating a file enhancement input interface according to said file enhancement form;
receiving a file enhancement;
recording said file enhancement;
associating said file enhancement to each related said at least one file;
transmitting said file enhancement to said network browser plug-in;
transmitting said file enhancement to said database server; and
storing said file enhancement on said database server.
14. The method of
15. The method of
16. The method of
17. The method of
18. The method of
19. The method of
creating a transparent layer over said file enhancement document;
temporarily recording said file modification properties; and
transmitting and storing said file modification properties to said database server.
20. The method of
21. The method of
providing a user with an associated user identifier;
receiving said user identifier;
opening a network browser;
initiating a network browser plug-in upon opening said network browser;
accessing at least one file over a network;
searching said file archive for stored files related to the network address of said at least one file accessed;
retrieving from said file archive file enhancements associated with said network address associated with said at least one file; and
displaying said retrieved file enhancements.
22. The method of
obtaining a web address associated with said at least one file's network address;
searching said database server for data related to said at least one file's network address;
retrieving stored file enhancements associated with said network address from said database server to obtain retrieved file enhancements; and
comparing stored file enhancements associated with said file's network address with said file.
23. The method of
24. The method of
reading a configuration file;
creating a file transfer connection from said network browser plug-in and said database server; and
establishing communication between said network browser plug-in and said database server.
|
This application is a divisional application of application Ser. No. 10/818,874 filed Apr. 5, 2004, which is currently issued U.S. Pat. No. 7,801,905.
The present invention generally relates to data acquisition, analysis, and management system for professionals and organizations of all sizes across many different industries. Specifically system and software with the function of tracking, logging, reporting, archiving, searching, and mining on- and off-line user interactions. The present invention simplifies business and/or academic research activities but also makes it an easy task to build and manage a scalable and secure e-library system. The present invention includes a unique log, report, search, and annotation engines, plus personalization and customization features. The present invention also consists of sophisticated data acquisition, analysis, and management modules hidden behind a simple toolbar embedded in the Web browser on a client computer. The backend of the present invention consists of a scalable database system, which is able to build itself into a hierarchical e-library system. The present invention is envisioned to be scalable from implementation in a small office network of a few client computers to a global corporate network with thousands of users.
While there exists prior art that mainly performs data logging, none address the issues of extracting meaningful insights from the tracking data in a client server environment. The present invention tracks the activities (web and locally) of a user and keeps an audit trail of his actions. The Data Acquisition part consists of plug-ins embedded within the network browser. These components can be programmed to collect system wide data and send the information to a central server in an enterprise setting or store them locally for a standalone deployment. The information collected is extensive in nature and is used as the base for a variety of analytics and reports. The tracking component in the network browser is a lightweight invisible component completely transparent to the user, and it tracks all the user actions in a browser including the navigation and input actions. All the data collected on the client machines is stored in a central database server for post processing and analysis. Partner online can provide complete profiling of the user behavior with different granularity levels.
Advanced Productivity Software, Inc. (APS) develops and markets time tracking and electronic research tracking software for the legal and other professional markets. APS's software tracks time spent on e-mail, tasks, calendar events, etc. and integrates with accounting, time & billing systems and other software applications. Unlike the present invention, APS's software requires manual time-entry by the user and does not provide an audit trail.
Time Matters Software is a leading practice management software provider. Some features of Time Matters include: a Central Timer Control system that enables time tracking of concurrent multiple tasks, SQL reporting, web access tools and multi-office replication and synchronization capabilities to portable devices. Its desktop and web-based software versions are available via a non-ASP model. Time Matters provides an option to link to industry leading programs for billing/expense control, and document automation and management. Time Matters integrates into a practice management software package, and is also sold through Lexis Nexis, a third party legal content provider and data aggregator. Unlike the present invention, Time Matters requires the manual setting of an on-off timer clock and requires the user to create and manually maintain databases of web sites and web references.
PensEra Knowledge Technologies Inc. provides time tracking and knowledge management to the legal profession. PensEra develops Web-based knowledge tools and portal tools, i.e. an online timesheet and central repository of data input, respectively. Its software accommodates a wide range of portable upload and synchronization devices. Unlike The present invention, PensEra's tracking software requires time entries by the user and does not provide an audit trail.
AskSam Systems, Inc. through its SurfSaver software creates a searchable archive of information. The software allows for permanent storage of websites including graphics and hypertext links. The SurfSaver Network version lets multiple users save, search, and view information. In addition, folders can be emailed to other SurfSaver users. SurfSaver lets a research assistant gather on-line research to share with others. Unlike the present invention, SurfSaver does provide an audit trail or track time on the computer. It also can not be integrated into any time and billing/invoicing software packages.
Both Worlds Software, Inc. through its Image Time software mainly addresses the accounting profession. Through the company's Image Time software, a client is provided the ability to eliminate timesheets, monitor productivity and track client receivables; provide timely reports about clients and staff; analyze firm growth, and prepare peer review. Unlike the present invention, Both Worlds Software does not track Internet research.
AimingTech provides software integrated with other windows applications to help users find information online and offline. AimingTech software also allows a user to annotate online and offline content and search these annotated documents. Unlike the present invention the AimingTech software does not provide users with the audit trails of the user activities or have an efficient report generated embedded with the package.
iMarkup Solutions, Inc. provides collaboration and workflow solutions for digital content and document management. Their products enable workers to collaborate within and across document content and knowledge management systems. Their tools enable end-users to communicate, annotate, organize and collaborate over the Web as well as providing business users the tools needed to automate and manage their existing business processes. Unlike the present invention iMarkup is not capable of generating customized reports, nor does it provide users with a logical, visual trail depicting how information is retrieved.
Net Snippets is a suite of Personal and Collaborative Information Management Solutions for Internet-based Research. Net Snippets offers a user-friendly platform for personal and collaborative enterprise research, providing users selective information clipping, built in editing tools and an embedded search engine. Net Snippets also creates enterprise research repository and automatically indexes the data both locally and remotely. However, unlike the present invention it does not provide an audit trail of the online or offline user activities.
BillQuick, a time and billing software is used for off-site consultants and satellite offices: time keeping, expense recording, report generation, invoicing, client management and project management via the Web, and time and expense recording on a Palm or Windows CE device. Unlike the present invention, BillQuick does not disclose a web based document archive or web based document modification, and recollection system.
Elite Information Group, Inc. through its subsidiaries including Elite.com and Law Manager, Inc., provides financial & practice management software applications for law firms and other professional service organizations. Elite provides Internet-based time tracking and billing services to smaller professional services companies. Law Manager provides software products including case management, docketing, records management, e-commerce systems and implementation services to law firms, large corporate legal departments and government agencies. Systems include invoice tracking, budgeting, case management and records management. Unlike the present invention, Elite's products do not track, monitor, or capture Internet research activity.
Telemate.Net provides URL filtering tools primarily to help companies manage their employees Internet access and usage. Such as network gateways, switches, and provisioning and billing systems, as well as call accounting and Internet usage management applications. Unlike The present invention, Telemate's products do not have automated time tracking and billing/invoicing capabilities.
Websense Enterprise, provides Employee Internet Management (EIM) software that enable businesses to manage how their employees use the Internet at work. This product gives businesses the ability to implement and configure Internet access policies in support of their efforts to improve employee productivity, conserve network bandwidth and storage space, and mitigate potential legal liability. The Company's software applications operate in conjunction with its proprietary Websense Master Database, which is available for daily incremental downloads.
Westlaw Group provides online legal research services. It enables legal professionals to conduct their research quickly with an extensive collection of legal resources, news, business, and public records information. Additionally, the company's software platform allows them to allocate time and billing services to a client project. Westlaw is mainly a third party content provider and data aggregator. Unlike The present invention, Westlaw's products do not have automated Internet activity tracking, monitoring and capturing features.
U.S. Pat. No. 6,189,024 issued to Bauersfeld et al. discloses a browsing session recording playback and editing system for generating user defined paths and allowing users to mark the importance of items in the paths. The '024 invention automatically records every web page that the user visits. The user can then view all of the paths traversed using a session history toolbar, which incorporates a few control options. The user may also edit the paths, and mark pages on a priority basis. Unlike the present invention, the Bauersfeld et al. invention does not allow the user to query the session history, it merely allows a user to play back and modify the session history.
U.S. Pat. No. 6,052,730 issued to Feliciano et al. discloses a method for monitoring and modifying web browsing sessions. The '730 invention allows for network activity to be recorded by rerouting client HTTP requests through a centralized gateway server, which can record the sequence and timing of URL's accessed by the individuals on the network. The Feliciano et al. invention also allows the user to add content to the network documents and stores the modification on the gateway server. Unlike the present invention, the '730 patent does not allow the user to act on behalf of a multitude of clients tracking Internet activity on a client matter basis.
U.S. Pat. No. 6,625,624 issued to Chen et al. discloses a system and method of archiving web pages and accessing information from a server across a communication network. The '624 invention enables users to retrieve information even after such information has disappeared from the original server. Unlike the present invention the Chen system does not include the ability to monitor on an individual client basis the time spent on the internet, nor does it allow the user to modify the web based documents or provide access to archived data gathered by other users utilizing the archive system.
U.S. Pat. No. 6,647,531 issued to Issac et al. discloses a method of customization of network documents. A user may access a network document, and customize it. The customized document is archived. Upon the user navigating to a network address, the network address is cross-referenced with an archive storing customized network documents. If the network document has been previously customized, the customized document is output to the user. Unlike the present invention the '531 patent does not disclose a method of keeping an audit trail of user interaction, nor does it provide document confidence ranking or knowledge sharing within the network users group.
The present invention enables clients to effectively track, monitor, and capture in-house and outsourced professional services with regard to computer activity and Internet research. The present invention is a web-based application applicable across the entire PSA market. The prior art consisting of software applications designed to capture and bill for time spent, and in some cases time spent on the computer. However, other than the present invention, no prior art appears capable of providing an automated audit trail to validate time spent online, with detail of the websites visited. Much of the prior art's capabilities are limited to generating user-managed time sheets.
Although the prior art perform their respective purposes, what is needed in the industry of time tracking is a system which consists of sophisticated data acquisition, analysis, and management modules hidden behind a simple toolbar embedded in the Network browser on a client computer, and a backend which consists of a scalable database system, which is able to build itself into a hierarchical e-library system and software comprised of unique log, report, search, and annotation engines, plus personalization and customization features.
The present invention relates generally to systems and computed implemented methods that seamlessly track a users movement and activity on their computer. The user's computer may be a stand alone or over a simple or distributed network.
One embodiment of the present invention is a knowledge archival and recollection system accessible by at least one user. The system comprises a data acquisition module in communication with a database server and a file archive. The data acquisition module includes a network browser plug-in and a toolbar plug-in embedded in a network browser toolbar of the at least one user's computer. The file archive is in communication with the database server, a file archive indexer, and the data acquisition module. A data presentation module is in communication with a report module and a search module. The report module is in communication with the database server, the data presentation module, the search module and the file archive. The search module is in communication with the database server, a file archive indexer, the data presentation module, the report module and the file archive. The file archive indexer is in communication with the file archive, the database server, the report module and the search module. The system gathers user activity data and files accessed by each at least one user through the data acquisition module and archives the user activity data and files on the database server and the file archive for retrieval by each at least one user.
Another embodiment provides a method of recording user activity in a knowledge archival and recollection system. The method comprising a first step of initiating a network browser plug-in on detecting that a network browser has been opened. This is followed by the step of providing at least one file to the user from the network. The next step may be transmitting and storing at least one file to a file archive using a file transfer protocol. User activity data may be gathered for each at least one file accessed. User activity data may be gathered for each related at least one file. Followed by transmitting and storing the user activity data to a database server using a database connection protocol. Followed by the final step of indexing each at least one document.
Yet another embodiment provides a method of extracting knowledge from a knowledge archival and recollection system. This method may comprise the steps of recognizing a user actuation; initiating a search application; displaying a user search interface; receiving input parameters via the search interface; identifying a query type based on the received input parameters; formulating a database query based on the received input parameters; transmitting the database query to a database; obtaining database query results from the database; providing the database query results to a result analyzer module; and displaying search result analyzer module results to a user.
Another embodiment provides a method of extracting knowledge from a knowledge archival and recollection system. The method may comprise the steps of recognizing a user actuation; launching a reporting engine in response to the user actuation; receiving report parameters from a user; formulating a query; configuring a report generator according to the report parameters; transmitting the query to a database server; searching archived reports; loading query results into a report generator; generating a report; and displaying the report on a graphical user interface.
Another embodiment provides a method of extracting knowledge from an enterprise-wide web knowledge recollection and archival system. The method may comprise the steps of recognizing a user actuation; launching a reporting engine; receiving report parameters; formulating a query; configuring a report generator according to the report parameters; transmitting the query to a database server; obtaining query results from the database server according to the query; loading the query results into a report generator; generating a report; and displaying the report on a graphical user interface.
Another embodiment provides a method of timing and recording user activity in a knowledge archival and recollection system. The method comprises the steps of configuring an activity tracking module; logging into said knowledge archival and recollection system; prompting the user with a task identifier input interface upon opening an application user interface; initiating a timer upon input into the input interface; stopping the timer upon inactive application interface; and storing timer data into a database server.
Another embodiment provides a method of billing in an enterprise wide web knowledge archival and recollection system. The method comprising the steps of: recognizing a user actuation; presenting a billing module user interface. Inputting billing parameters; reading supporting data from a configuration file; formulating a query from the billing parameters; transmitting the query to a database server, and obtaining the results from the query; analyzing the results; generating a report using a report generator and presenting the report to a user using a report viewer.
Yet another embodiment discloses a knowledge archival and recollection system accessible by at least one user, the system comprising: a data acquisition module in communication with a database server and a file archive and a database connectivity module. The data acquisition module includes a network browser plug-in and a toolbar plug-in embedded in a network browser of the at least one user's computer. The network browser plug-in transmits data gathered from at least one users network browser to the database server through the database connectivity module. The file archive is in communication with the database server, a file archive indexer, and the data acquisition module. A data presentation module is in communication with a report module and a search module wherein the report module is in communication with the database server, the data presentation module, the search module and the file archive and the database connectivity module. The search module is in communication with the database server, a file archive indexer, the data presentation module, the report module and the file archive and the database connectivity module. The file archive indexer is in communication with the file archive, the database server, the report module and the search module and a timing module in communication with the database server. The timing module records the start time and stop time for an activity within any computer based application. An automatic billing module is in communication with a report module and database server. The automatic billing module generates invoices on user activity. A messenger monitor module is in communication with the database server, and the file archive. The messenger monitor module tracks user activity in a messenger application. A database connectivity module in communication with the data acquisition module, the file archive, the database server, the report module, and the search module, and the automatic billing module, the timing module, the messenger monitor module. The database connectivity module acts as communication gateway to the database server. The system gathers user activity data and files accessed by each the at least one user through the data acquisition module and archives the user activity data and files on the database server and the file archive for the retrieval by each the at least one user.
Another embodiment of the present invention provides a method of recording user activity in a knowledge archival and recollection system, the method comprising the steps of: initiating a network browser plug-in on detecting that a network browser has been opened; providing at least one file to the user from the network; reading a configuration file; creating a file transfer connection from the network browser plug-in to a file archive; establishing communication between the network browser plug-in and a database server; transmitting and storing at least one file to a file archive using a file transfer protocol; gathering user activity data for each the at least one file accessed; associating the user activity data to each related the at least one file; transmitting and storing the user activity data to a database server using a database connection protocol; and indexing each the at least one file.
Another embodiment provides a method of searching in a knowledge archival and recollection system, the method comprising the steps: recognizing a user actuation; initiating a search application; displaying a user search interface; receiving input parameters via the search interface; identifying a query type based on the received input parameters; formulating a keyword query based on the received input parameters; transmitting the keyword query to an indexer; formulating a database query based on the received input parameters; transmitting the database query to a database; obtaining the keyword query results from the indexer; obtaining database query results from the database; determining an intersection of the keyword query results and the database query results; providing the intersection to the post-processing module; generating a rank for each database query result; obtaining a click stream for each database query result; displaying search result analyzer and click stream visualization module results to a user.
These and other features, aspects and advantages of the present invention will become better understood with reference to the following drawings, description and claims.
The present invention, as depicted in
The knowledge archival and recollection system 20 has modules intercommunicating to perform a myriad of functions. The vast functionality of the knowledge archival and recollection system 20 stems from three basic functions: (1) data acquisition, (2) data archival, and (3) data recollection. The data acquisition functionality may be both online and offline. Much work throughout all industries and academia is done using a computer in both online and offline settings. For example, a lawyer working on a computer may be working on behalf of a client searching Internet resources and concurrently typing a memorandum in a word processing application running on the local computer operating system. Data acquisition functions include tracking, logging, and file modification and may be both online and offline. Tracking and logging user to activity provides an easy way of automatically auditing time spent by users utilizing a computer system with marginal need for user input. Because all data acquisition functions are designed to operate for both online and offline applications, complete records of all activity in the computer environment may be generated and stored. Intrinsic to the tracking and logging function is the ability of users to modify and personalize the files accessed using their computer system. Given the vast amount of electronic information, it is extremely useful for users to write notes, or modify information on the files accessed. For example, a user may navigate to a file (may include a webpage) on a network, find it relevant to the task at hand and make certain notes and modifications to the file highlighting pertinent information. At a future date the same user may navigate to the same file. The previously made modifications may quickly remind the user exactly why the page was marked with importance. Modification and personalization functions aid users in keeping track of information and knowledge accessed while browsing a network. Paired with a searching function, the modification function allows multiple users researching common subjects to share thoughts on the information accessed. This results in reduced searching times and a collaborative learning environment.
The data archiving function works in conjunction with the tracking, logging, and modifying functionality by recording all the information collected by the data acquisition function. The data archiving function archives files accessed by a user and the respective data gathered by the tracking and logging and modifying functions. The search function aids users in knowledge recollection and information sharing between users. All information recorded by the data acquisition functions is at the disposal of the user, for users may search the archived information according to customizable input parameters. The searching functions effectively reduce the amount of time wasted performing redundant research, which may be especially beneficial to research groups in which multiple users are researching a common topic. The searching function also allows users to retrieve files previously accessed and may also provide a user with a visual depiction of the logical steps taken to arrive at a particular file.
A reporting function works in conjunction with the searching functions and generates customizable activity reports based on user input parameters and information stored on the knowledge archival and recollection system 20.
The present invention consists of sophisticated data acquisition, analysis, and management modules hidden behind a simple toolbar embedded in the network browser on a client computer. The backend of the present invention consists of a scalable database system, which self-propagates to build itself into a hierarchical e-library system. The present invention is envisioned to be scalable from implementation in a small office network of a few client computers to a global corporate network with thousands of users. It should be understood that the number 20 is intended to encompass a number of different systems as in
The flexible client server system provides flexibility and scalability to the system.
The database server 22 may be in communication with a data acquisition module 26, a messenger monitor module 34, an automatic timing module 36, a file archive 24, a search module 28, a report module 30, a billing module 38 (See
The file archive 24 is in communication with the data acquisition module 26, file archive indexer 32 and search module 28. The file archive 24 may also be in communication with the report module 30. The file archive 24 stores the files accessed by the user in the network browser, generating a comprehensive e-library of information. The term file may include, but is not limited to, web-based document, word processing document, spreadsheet document, portable document format, XML file, a text file, a web-based file, a media file, and an audio file. The file archive 24 is an integral component to the knowledge recollection functions of the present invention.
The amount of information on computer networks and the World Wide Web is growing at astronomical rates and can often be overwhelming. A barrage of sources often confronts those performing research on the World Wide Web and can lead to confusion and frustration. For example, an individual may be researching a topic and find a very good and relevant source of information. The individual may want to access the same source at a later date, only to find it no longer in existence. The knowledge archival and recollection system 20 remedies this situation by archiving all files accessed by the user on the file archive 24 effectively building an e-library of information. By storing the files accessed by users on the file archive 24, paired with the activity data stored on the database server 22, the knowledge archival and recollection system 20 may record complete records of user activity. This solves the problem of outdated yet potentially important files being lost.
The data acquisition module 26 maybe in communication with the database server 22 and the file archive 24. The data acquisition module 26 gathers user activity data that may be transmitted and stored on the file archive 24 and the database server 22. The data acquisition module 26 also gathers files accessed by at least one user in a network browser, and transmits the files to the file archive. The functionality of the system revolves around user activity data collection by the data acquisition module 26, the storage of the user activity data on the database server 22, and the storage of the files accessed on the file archive 24.
A file archive indexer 32 is in communication with the file archive 24, with the prime function of indexing the information stored on the file archive 24. As the size of the file archive 24 increases, the time required to search the archive increases as well. To alleviate this problem, the file archive indexer 32 is implemented to generate an index of the contents of the file archive 24. Searching the file archive indexer 32 rather than searching the entire file archive 24 increases the efficiency of the system.
The search module 28 is in communication with the file archive indexer 32, the file archive 24, the database server 22 the report module 30, and the data presentation module 40. The search module 28 orchestrates the search functions of the knowledge archival and recollection system 20. Searching as performed by the search module 28, allows users to access information stored on the file archive 24 and the database server 22. The search module 28 assembles search parameters input by the user, translates these parameters into search queries, and transmits the search queries to the file archive 24, file archive indexer 32 and database server 22. The search module 28, in conjunction with the data presentation module 40, also displays these query results to the user, received from the file archive 24, file archive indexer 32 and database server 22, to the user.
A report module 30 is in communication with both the database server 22 and the search module 28. Like the search module, the report module is an integral part of the greater knowledge recollection function. The report module 30 and search module 28 perform many of the same functions, such as querying the database server 22, and are therefore in communication. The report module 30 generates activity reports based on user input parameters, and may not only display the report to the user, but also transmit the reports electronically to a mail server.
The system may also have an automatic timing module 36. The automatic timing module 36, records the time duration of user activity for both online and offline computer applications. This time data is transmitted to and stored on the database server 22.
The knowledge archival and recollection system 20 may also have a messenger monitor module 34. The messenger monitor module 34 is in communication with the database server 22, and monitors all user activities in various messenger applications, and transmits the data gathered to the database server 22. This provides for extensive records of all Instant Messaging activities.
Modules in communication with the file archive 24 (e.g. data acquisition module 26, file archive indexer 32, search module 28) communicate with the file archive 24 according to a file transfer connection which may be a network drive map, secure FTP, HTTP, IP-based connection. Modules in communication with the database server 22 (e.g. file archive 24, search module 28, report module 30, billing module 38 automatic timing module 36, messenger monitor module 34, data acquisition module 26 database connectivity module 44) communicate with the database server 22 according to a database connection protocol, which may be ODBC, JDBC, HTTP/PHP.
The network browser plug-in 50 is in communication with the network browser 54, the database server 22, and the file archive 24. The network browser plug-in 50 may also be in communication with a database connectivity module 44. The network browser plug-in 50 may sit on the back of the network browser 54, it may be selected from the group consisting of visible plug-in, invisible plug-in and in built plug-in.
The functionality of the knowledge archival and recollection system 20 revolves around the collection of user activity data. The data acquisition module 26 has multiple functions. One main function is to gather the user activity data and transmit the data to the database server 22. Another function of the data acquisition module is to gather actual content accessed by the user and transmit the files to the file archive 24, as well as provide a platform through which the user can invoke other functions of the knowledge archival and recollection system 20 such as search, report and file modification. Via the data acquisition module 26, users gain access to the knowledge archival and recollection system 20. In gaining access to the system 20, a user may be required to present any given amount of identification information, for example, a user name and password. Users may also have different levels of authority. The authority level assigned to users dictates what level of access the user may have to the system. The authority levels may be designated and controlled by a system administrator.
The network browser plug-in 50 may be programmed to monitor all user activity in the network browser 54, gather user activity data, and send the user activity data to the database server 22 or store the user activity data locally. The information collected is extensive in nature and may be used as the base for a variety of analytics and reports, executed by the search module 28 and report module 30. The user activity data gathered by the network browser plug-in 50 may consist of user activity information, system information and environment information. The network browser plug-in 50 may also send the files accessed by the user in the network browser 54 to the file archive 24. This feature allows the system to build an e-library of content accessed by the user.
The network browser plug-in 50 is able to sit behind any network browser 54 without noticeable computing overhead. Large computing overhead is a problem with many other plug-in programs, as the overhead will slow down the machine as well as take up system resource substantially. The network browser plug-in 50, on the other hand, is taking the minimum system resources and may work seamlessly with all types of network browsers.
The toolbar plug-in 52 may collect file enhancement information and transmit the collected information to the database server 22. File enhancement information may include but is not limited to annotations, highlights, categories, rankings and other file modifications. The present invention facilitates rapid customization of data by giving the user the power to highlight the sub-parts or the relevant parts of the files accessed in the network browser.
The search module 28 of the knowledge archival and recollection system 20 provides multi parameter search facilities for the retrieval of user activity data stored on the database server, or files stored on the file archive. The search module 28 provides the user with a variety of search options and result visualization options.
Users may invoke the user search interface 70 by an actuation method. The actuation method may be actuating an icon located in the network browser toolbar, or an icon in the system tray of the operating system. In the case of the user search interface 70 being a web-based interface, it may be invoked either through the toolbar of the network browser or by accessing a specific web address. When a user is presented with the user search interface 70, the user may input parameters according to which the user would like to search the knowledge archival and recollection system 20. The types of input parameters may be customized to the specific needs of the user. The input parameters will essentially pertain to the user activity data stored on the database server 22 or the content of files stored on the file archive 24. Examples of input parameters for the search user interface 70 are keyword, time, user information, system information and client information. The user search interface 70 may transmit the input parameters entered by the user to the search engine 72. The search engine 72 is programmed to convert the parameters transmitted from the user search interface 70 into a search query. The search engine 72 may transmit the search query to the database server 22, file archive indexer 32 and the file archive 24.
Results from the query initiated by the search engine 72 are transmitted to the result analyzer 74 and the click stream visualization module 76. The result analyzer and the click stream visualization module process these query results, and transmit the processed results to the user search interface. Process functions executed by the result analyzer 74 may be dynamic, such as ranking and categorization. The click stream visualization module 76 generates a visual depiction of the logical actions taken by a user while browsing in the network browser. Click streams may also be searchable so that multiple users working on similar subjects may access relevant click streams from previous researchers. Processed results are transmitted to the user search interface 70 from the result analyzer 74 and the click stream visualization module 76 and are displayed to the user.
The report module 30 is comprised of a user report interface 80, a report engine 86, a report generator 82, and a report viewer 84. The user report interface 80 is in communication with the report engine 86, and the report viewer 84. The user report interface 84 may be embedded in a user's network browser window, may be a web based interface or a standalone module on the users computer. The report engine 86 is in communication with the database server 22, the file archive 24, and the file archive indexer 32, the report generator 82, and the user report interface 80. The report engine 86 may also be in communication with a mail server 88, and a database connectivity module 44. The report generator 82 is in communication with the report engine 86 and the report viewer 84. The report generator 82 may be web based, and may be selected from the group consisting of crystal reports, ASP.net, and XML.
The report module 30 of the knowledge archival and recollection system 20 provides multi parameter report facilities for the retrieval of user activity data stored on the database server, or files stored on the file archive, and the generation of reports incorporating this information. The report module 30 provides the user with a variety of report options and result visualization options.
Users may invoke the user report interface 80 by an actuation method. The actuation method may be actuating an icon located in the network browser toolbar, or an icon in the system tray of the operating system. In the case of the user report interface 80 being a web-based interface, it may be invoked either through the toolbar of the network browser or by accessing a specific web address. When a user is presented with the user report interface 70, the user may input parameters according to which the user would like a report generated. According to these parameters, the stored information on the knowledge archival and recollection system 20 will be searched, and a report generated. The types of input parameters may be customized to the specific needs of the user. The input parameters will essentially pertain to the user activity data collected by the data acquisition module. Examples of input parameters for the report user interface 80 are keyword, time, user information, system information and client information. The user report interface 80 may transmit the input parameters entered by the user to the report engine 86. The report engine 86 is programmed to convert the search parameters transmitted from the user report interface 80 into a report query. The report engine 86 may transmit the report query to the database server 22. Query results from the database server 22 may be transmitted to the report generator 82. The report generator 82 processes the query results, and transmits the processed results to the report viewer 84. Both the report generator 82 and the report viewer 84 may be customized. The reports may be customized per the requirements of the organization. For example, this may include graphics, logos, selection parameters, etc. Generated reports may transmitted to the database server 22. Storing previously generated reports on the database server prevents redundant report generation.
Users may generate the same report with the same parameters multiple times, because previously generated reports are stored on the database server. The previously generated report will be returned and displayed to the user thus minimizing work carried out by the knowledge archival and recollection system 20.
Generated reports may be automatically sent from the report engine 86 to a mail server 88. Users may often be working for an employer, or on behalf of a client, who frequently requires user activity reports. To streamline the task of reporting to employers or clients, it may desirable for generated reports to be automatically transmitted to at least one specific email address.
As more and more work is being performed in a computer environment, there is an increased need for worker accountability. Keeping track of billable time in itself may also be time consuming, as such the knowledge archival and recollection system 20 includes an automatic timing module 36. The main function of the automatic timing module 36 is to time and record the duration of user activities in a computer environment without the hassle of extensive direct user input into a timing system.
Time logs generated by the automatic timing module 36, are transmitted and stored on the database server 22. The time logs in conjunction with their respective user activity records recorded by the data acquisition module 26 facilitate the requirements of the search module 28, billing module 38 and report module 30. User activity includes both activity online in the network browser 54, and offline in any applications on a users operating system. The application to be timed may also be chosen by the user using a simple selection menu in the network browser toolbar. These applications may be, but are not limited to, word processing applications, Internet applications or spreadsheet applications.
As the size of the file archive 24 begins to grow, queries to the file archive 24 from other modules take longer to process. As a result, the information stored in the file archive 24 is indexed so that the file archive 24 is easier to search and is available for faster retrieval. The background indexer 90 may apply at least one indexing algorithm to the file archive 24 to generate an index of the file archive contents. Indexing may be a time and system resource consuming function. Because there is not a high demand for a constantly updated index, indexing may therefore be done at a predetermined time interval. The index generated by the background indexer 90 may be stored on the front-end indexer 92. By storing an index of the file archive 24 contents on the front-end indexer, the search module 28 and report module 30 queries are processed by the front-end indexer.
Another form of data presentation is the presentation of search results and report results. Through the data acquisition module 26 and the toolbar plug-in 52, a user may invoke search and report functions that are performed by the search module 28 and report module 30 respectively. Search results generated by the search module 28 are displayed through the search module interface, and reports generated by the report module 30 may be displayed to the user through the report user interface. Both the search user interface and the report user interface display the results through the network browser. In this case, the network browser plug-in 50 is in communication with the report module 30 and the search module 28.
Eagan, George, Singh, Prabhdeep
Patent | Priority | Assignee | Title |
10038731, | Aug 29 2014 | BOX, INC. | Managing flow-based interactions with cloud-based shared content |
10044773, | Sep 13 2013 | BOX, INC. | System and method of a multi-functional managing user interface for accessing a cloud-based platform via mobile devices |
10078650, | Jun 19 2009 | International Business Machines Corporation | Hierarchical diff files |
10095725, | Jun 19 2009 | International Business Machines Corporation | Combinators |
10110656, | Jun 25 2013 | CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT | Systems and methods for providing shell communication in a cloud-based platform |
10200256, | Sep 17 2012 | BOX, INC. | System and method of a manipulative handle in an interactive mobile user interface |
10229134, | Jun 25 2013 | CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT | Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform |
10235383, | Dec 19 2012 | BOX, INC. | Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment |
10437808, | Jun 19 2009 | International Business Machines Corporation | RAM daemons |
10452667, | Jul 06 2012 | Box Inc. | Identification of people as search results from key-word based searches of content in a cloud-based environment |
10509527, | Sep 13 2013 | Box, Inc | Systems and methods for configuring event-based automation in cloud-based collaboration platforms |
10530854, | May 30 2014 | BOX, INC.; Box, Inc | Synchronization of permissioned content in cloud-based environments |
10574442, | Aug 29 2014 | Box, Inc | Enhanced remote key management for an enterprise in a cloud-based environment |
10599671, | Jan 17 2013 | BOX, INC. | Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform |
10708321, | Aug 29 2014 | BOX, INC. | Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms |
10708323, | Aug 29 2014 | BOX, INC. | Managing flow-based interactions with cloud-based shared content |
10713624, | Feb 24 2012 | BOX, INC. | System and method for promoting enterprise adoption of a web-based collaboration environment |
10725968, | May 10 2013 | CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT | Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform |
10846074, | May 10 2013 | Box, Inc | Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client |
10866931, | Oct 22 2013 | Box, Inc | Desktop application for accessing a cloud collaboration platform |
10877937, | Jun 13 2013 | BOX, INC. | Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform |
10877950, | Jun 19 2009 | International Business Machines Corporation | Slashtags |
10909141, | Nov 29 2011 | BOX, INC. | Mobile platform file and folder selection functionalities for offline access and synchronization |
10997145, | Jun 19 2009 | International Business Machines Corporation | Hierarchical diff files |
11055270, | Jun 19 2009 | International Business Machines Corporation | Trash daemon |
11080256, | Jun 19 2009 | International Business Machines Corporation | Combinators |
11146600, | Aug 29 2014 | BOX, INC. | Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms |
11176114, | Jun 19 2009 | International Business Machines Corporation | RAM daemons |
11232481, | Jan 30 2012 | Box, Inc | Extended applications of multimedia content previews in the cloud-based content management system |
11435865, | Sep 13 2013 | BOX, INC. | System and methods for configuring event-based automation in cloud-based collaboration platforms |
11487735, | Jun 19 2009 | International Business Machines Corporation | Combinators |
11531648, | Jun 21 2013 | BOX, INC. | Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform |
11537630, | Nov 29 2011 | BOX, INC. | Mobile platform file and folder selection functionalities for offline access and synchronization |
11822759, | Sep 13 2013 | BOX, INC. | System and methods for configuring event-based automation in cloud-based collaboration platforms |
11853320, | Nov 29 2011 | BOX, INC. | Mobile platform file and folder selection functionalities for offline access and synchronization |
11876845, | Aug 29 2014 | BOX, INC. | Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms |
8472063, | Feb 20 2008 | Ricoh Company, Ltd. | Information processing system, information processing method, and computer-readable recording medium |
8666991, | Jun 19 2009 | BLEKKO, INC | Combinators to build a search engine |
8892679, | Sep 13 2013 | BOX, INC. | Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform |
8918365, | Jun 19 2009 | International Business Machines Corporation | Dedicating disks to reading or writing |
8990151, | Oct 14 2011 | BOX, INC. | Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution |
9015248, | Nov 16 2011 | Box, Inc | Managing updates at clients used by a user to access a cloud-based collaboration service |
9015601, | Jun 21 2011 | Box, Inc | Batch uploading of content to a web-based collaboration environment |
9021099, | Jul 03 2012 | BOX, INC. | Load balancing secure FTP connections among multiple FTP servers |
9054919, | Apr 05 2012 | Box, Inc | Device pinning capability for enterprise cloud service and storage accounts |
9063912, | Jun 22 2011 | Box, Inc | Multimedia content preview rendering in a cloud content management system |
9098474, | Oct 26 2011 | Box, Inc | Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience |
9117087, | Sep 06 2012 | BOX, INC. | System and method for creating a secure channel for inter-application communication based on intents |
9135462, | Aug 29 2012 | Box, Inc | Upload and download streaming encryption to/from a cloud-based platform |
9195519, | Sep 06 2012 | BOX, INC. | Disabling the self-referential appearance of a mobile application in an intent via a background registration |
9195636, | Mar 07 2012 | Box, Inc | Universal file type preview for mobile devices |
9197718, | Sep 23 2011 | BOX, INC. | Central management and control of user-contributed content in a web-based collaboration environment and management console thereof |
9213684, | Sep 13 2013 | Box, Inc | System and method for rendering document in web browser or mobile device regardless of third-party plug-in software |
9237170, | Jul 19 2012 | BOX, INC. | Data loss prevention (DLP) methods and architectures by a cloud service |
9280613, | May 23 2012 | Box, Inc | Metadata enabled third-party application access of content at a cloud-based platform via a native client to the cloud-based platform |
9292833, | Sep 14 2012 | BOX, INC. | Batching notifications of activities that occur in a web-based collaboration environment |
9298782, | Jun 19 2009 | International Business Machines Corporation | Combinators |
9311071, | Sep 06 2012 | BOX, INC. | Force upgrade of a mobile application via a server side configuration file |
9369520, | Aug 19 2012 | Box, Inc | Enhancement of upload and/or download performance based on client and/or server feedback information |
9396216, | May 04 2012 | BOX, INC. | Repository redundancy implementation of a system which incrementally updates clients with events that occurred via a cloud-enabled platform |
9396245, | Jan 02 2013 | BOX, INC. | Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
9413587, | May 02 2012 | Box, Inc | System and method for a third-party application to access content within a cloud-based platform |
9450926, | Aug 29 2012 | BOX, INC. | Upload and download streaming encryption to/from a cloud-based platform |
9473532, | Jul 19 2012 | BOX, INC. | Data loss prevention (DLP) methods by a cloud service including third party integration architectures |
9483473, | Sep 13 2013 | BOX INC | High availability architecture for a cloud-based concurrent-access collaboration platform |
9495364, | Oct 04 2012 | BOX, INC. | Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform |
9507795, | Jan 11 2013 | BOX, INC. | Functionalities, features, and user interface of a synchronization client to a cloud-based environment |
9519526, | Dec 05 2007 | Box, Inc | File management system and collaboration service and integration capabilities with third party applications |
9519886, | Sep 13 2013 | BOX, INC. | Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform |
9535909, | Sep 13 2013 | BOX, INC. | Configurable event-based automation architecture for cloud-based collaboration platforms |
9535924, | Jul 30 2013 | Box, Inc | Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
9552444, | May 23 2012 | Box, Inc | Identification verification mechanisms for a third-party application to access content in a cloud-based platform |
9558202, | Aug 27 2012 | BOX, INC. | Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment |
9575981, | Apr 11 2012 | BOX, INC. | Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system |
9602514, | Jun 16 2014 | BOX, INC. | Enterprise mobility management and verification of a managed application by a content provider |
9607085, | Jun 19 2009 | International Business Machines Corporation | Hierarchical diff files |
9628268, | Oct 17 2012 | BOX, INC. | Remote key management in a cloud-based environment |
9633037, | Jun 13 2013 | CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT | Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform |
9652741, | Jul 08 2011 | Box, Inc | Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof |
9665349, | Oct 05 2012 | BOX, INC. | System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform |
9705967, | Oct 04 2012 | BOX, INC. | Corporate user discovery and identification of recommended collaborators in a cloud platform |
9712510, | Jul 06 2012 | Box, Inc | Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform |
9729675, | Aug 19 2012 | CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT | Enhancement of upload and/or download performance based on client and/or server feedback information |
9756022, | Aug 29 2014 | CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT | Enhanced remote key management for an enterprise in a cloud-based environment |
9773051, | Nov 29 2011 | Box, Inc | Mobile platform file and folder selection functionalities for offline access and synchronization |
9792320, | Jul 06 2012 | Box, Inc | System and method for performing shard migration to support functions of a cloud-based service |
9794256, | Jul 30 2012 | BOX, INC. | System and method for advanced control tools for administrators in a cloud-based service |
9805050, | Jun 21 2013 | Box, Inc | Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform |
9894119, | Aug 29 2014 | CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT | Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms |
9904435, | Jan 06 2012 | Box, Inc | System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment |
9953036, | Jan 09 2013 | Box, Inc | File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
9959420, | Oct 02 2012 | Box, Inc | System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment |
9978040, | Jul 08 2011 | Box, Inc | Collaboration sessions in a workspace on a cloud-based content management system |
Patent | Priority | Assignee | Title |
6397256, | Jan 27 1999 | International Business Machines Corporation | Monitoring system for computers and internet browsers |
6625624, | Feb 03 1999 | AT&T Corp | Information access system and method for archiving web pages |
6957390, | Nov 30 2000 | MEDIACOM NET, LLC | Method and apparatus for providing dynamic information to a user via a visual display |
7337389, | Dec 07 1999 | Microsoft Technology Licensing, LLC | System and method for annotating an electronic document independently of its content |
7565425, | Jul 02 2003 | Amazon Technologies, Inc | Server architecture and methods for persistently storing and serving event data |
20010003172, | |||
20020063735, | |||
20030009495, | |||
20030217008, | |||
20040001104, | |||
20040100498, | |||
20050108383, | |||
20060206460, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 24 2003 | SINGH, PRABHDEEP | APPLIEDE, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032655 | /0777 | |
Oct 21 2010 | EAGAN, GEORGE | APPLEDE, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032654 | /0555 |
Date | Maintenance Fee Events |
Jul 08 2015 | M2551: Payment of Maintenance Fee, 4th Yr, Small Entity. |
Jul 11 2019 | M2552: Payment of Maintenance Fee, 8th Yr, Small Entity. |
Sep 11 2023 | REM: Maintenance Fee Reminder Mailed. |
Feb 26 2024 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Jan 24 2015 | 4 years fee payment window open |
Jul 24 2015 | 6 months grace period start (w surcharge) |
Jan 24 2016 | patent expiry (for year 4) |
Jan 24 2018 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jan 24 2019 | 8 years fee payment window open |
Jul 24 2019 | 6 months grace period start (w surcharge) |
Jan 24 2020 | patent expiry (for year 8) |
Jan 24 2022 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jan 24 2023 | 12 years fee payment window open |
Jul 24 2023 | 6 months grace period start (w surcharge) |
Jan 24 2024 | patent expiry (for year 12) |
Jan 24 2026 | 2 years to revive unintentionally abandoned end. (for year 12) |