GB2503546A - Document suggestion by user action association and threshold comparison - Google Patents

Document suggestion by user action association and threshold comparison Download PDF

Info

Publication number
GB2503546A
GB2503546A GB1307409.1A GB201307409A GB2503546A GB 2503546 A GB2503546 A GB 2503546A GB 201307409 A GB201307409 A GB 201307409A GB 2503546 A GB2503546 A GB 2503546A
Authority
GB
United Kingdom
Prior art keywords
user
document
action
file
numeric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB1307409.1A
Other versions
GB201307409D0 (en
Inventor
Joseph Saib
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AppSense Ltd
Original Assignee
AppSense Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AppSense Ltd filed Critical AppSense Ltd
Publication of GB201307409D0 publication Critical patent/GB201307409D0/en
Publication of GB2503546A publication Critical patent/GB2503546A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems

Abstract

A method for providing at least one document suggestion (recommendation) from a computer system using an information source, comprises: storing in the information source plural associations 602, each of which includes a numeric coefficient (weight) that corresponds to at least one user action or activity and at least one document; receiving a triggering user action 603; comparing 605 the numeric coefficients (weights) with a suggestion (recommendation) threshold based on the triggering action; and for each numeric coefficient that exceeds the threshold, identifying 606 the corresponding at least one suggested or proposed document, based on contextual information. Document suggestion may be via a notification or alert (301, Figure 3). Tracked user actions may include: opening files or documents, saving or modifying files, file access, emailing actions, association with calendar entries, keyword searching, organising into folders, etc; alternatively, actions may be non file-related, such as using WiFi hotspot association, GPS location data, or based on reaching a time of day. Alerts may also be time related, e.g. suggesting documents prior to a meeting. The numeric coefficients or weights of at least two (plural) users actions may be combined.

Description

SYSTEMS AND METHODS FOR PROVIDING
DATA-DRIVEN DOCUMENT SUGGESTIONS
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to thc following applications, filed herewith and hereby incorporated by reference: "Systems and Methods for Mining Organizational Data to Form Social Networks" (U.S. Application No.13/457,158), and "Systems and Methods for Automatically Associating Tags With Files in a Computer System" (U.S. Application No. 13/457,150).
BACKGROUND
Technical Field
[0002] Disclosed systems and methods relate to automatically providing data-driven document suggestions in a computer system.
Description of the Related Art
[0003] Traditionally, eomputcr users often require access to files and/or documcnts on a networked computer system. These files may be maintained on a file server, and are typically accessed using user applications, such as email applications and word processing applications. Files may be maintained on an intranct, which is a network that restricts access to authorized users within a particular company or organization. Files on the intranet may be retrieved using a variety of methods.
[0004] One method commonly used for retrieving files from a file server is to use the organization of files on the file server to provide a user with sufficient information to find particular files. For examplc, information can bc provided by organizing files in folders and/or subfolders, where the names of the folders and subfolders are used to indicate which files are located within the folders, or information can be provided by sorting files by date within a specific folder. Another commonly-used method is to deploy a search engine on the intranet. The search engine may index the contents and metadata of the files on the intranet and make them available to one or more users using a search bar. When a user enters a search query into the search engine, the search engine retrieves any matching documents and displays them to the user.
[0005] However, using a traditional search engine has disadvantages. For instance, a search engine may not be able to correctly assess the relevance of a document, and will therefore not be able to rank the documents in ordcr of relevance when presenting them to the user. Also, a search engine may not be able to effectively assess a document if it does not contain textual information, which is necessary for most search engines to retrieve data. Further, a search engine is not discriminating in that it will return any and all hits.
This can produce a large number of hits, many ofwhich may be irrelevant, may include okl documents or old versions of documents, and/or may include documents that are rarely or infrequently accessed. Also, the ways in which the resulting hits can be presented to the user are limited. The resulting hits can be organized by file name, data created, last date accessed, etc. This results in a user having to look through all the hits in order to find the desired document or documents.
[0006] Therefore, there is a need in the art to provide alternative document retrieval systems for use on intranets and other networks. In particular, there is a need in the art to provide systems and methods for automatically providing data-driven documents suggestion in a variety of situations.
[0007] Accordingly, it is desirable to provide methods and systems that overcome these and other deficiencies of the related art.
SUMMARY
[0008] In accordance with the disclosed subject matter, systems and methods arc provided for automatically providing data-driven document suggestions in a computer system.
[0009] The disclosed subject matter includes a method for providing at cast one document suggestion from a computer system using at least one information source, the method comprising storing in the information source a plurality of associations, each of which includes a numeric coefficient that corresponds to at least one action of a user and at least one document; receiving a triggering action related to the at least one action of the user; comparing the numeric coefficients stored in the information source with a suggestion threshold based on the triggering action; and for each numeric coefficient that exceeds the suggestion threshold, identi1'ing the corresponding at least one document as a suggested document.
[0010] The method further comprises tracking the one action of the user, updating the numeric coefficient that corresponds to the at least one action of the user and the at least one document, presenting a notification of the one or more suggested documents at a user device, storing the user's actions in a data store, and identi'ing the one or more suggested documents based on the user's actions retrieved from the data store. The numeric coefficient relates the corresponding one of the one or more documents with a likelihood that the document will subsequently be retrieved. The numeric coefficient for at least two users' actions may be combined. Notifications of the one or more suggested documents to the user may be based on contextual information about one of the user and the user's actions, and may be presented to the user as an alert message on a mobile device. The actions may include one or more of: opening the file; saving the file; modifying the file; accessing the file; searching for the file; performing a keyword search; receiving an email; receiving an email containing an attached file; reaching a time of day; and a null action.
100111 The disclosed subject matter also includes a system for providing document suggestions in a communications network, the system comprising one or more interfaces configured to provide communication with a server via communication network; a processor, in communication with the one or more interfaces, and configured to run a module stored in memory that is configured to store in the information source a plurality of associations, each of which includes a numeric coefficient that corresponds to at least one action of a user and at least one document, receive a triggering action related to the at least one action of the user, compare the numeric coefficients stored in the information source with a suggestion threshold based on the triggering action, and for each numeric coefficient that exceeds the suggestion threshold, identify the corresponding at least one document as a suggested document, wherein the suggested documents are subsequently suggested to a user.
100121 The system may further comprise a storage system for storing numeric coefficients assigned to files. One or more notification modules, for providing document suggestions to a user, application modules, configured to track a set of user actions specific to an application, may also be included.
[0013] The disclosed subject matter also includes a non-transitory computer-readable medium having executable instructions operable to cause a device to store in the information source a plurality of associations, each of which includes a numeric coefficient that corresponds to at least one action of a user and at least one document, receive a triggering action related to the at least one action of the user, compare the numeric coefficients stored in the information source with a suggestion threshold based on the triggering action, and for each numeric coefficient that exceeds thc suggestion threshold, identify the corresponding at least one document as a suggested document, wherein the suggested documents are subsequently suggested to a user.
[0014] The executable instructions may further comprise instructions to track the one action of the user, and update the numeric coefficient that corresponds to the at least one action of the user and the at least one document. Numeric coefficients relate each file with a likelihood that the tile will subsequently be retrieved. The executable instructions may frirther comprise instructions to combine the numeric coefficients for at least two user actions, and instructions to present notifications of the suggested documents to the user based on current contextual information about the user. The user actions include one or more of: opening a file; saving a file; modifying a file; accessing a file; searching for a file, performing a keyword search, receiving an email, and receiving an email containing an attachcd file.
[0015] There has thus been outlined, rather broadly, the features of the disclosed subject matter in order that the detailed description thereof that follows may be better understood, and in order that the present contribution to the art may be better appreciated.
There are, of course, additional features of the disclosed subject matter that will be described hereinafter and which will form the subject matter of the claims appended hereto.
[0016] In this respect, before explaining at least one embodiment of the disclosed subject matter in detail, it is to be understood that the disclosed subject matter is not limited in its application to the details of construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. The disclosed subject matter is capable of other embodiments and of being practiced and carried out in various ways. Also, it is to be understood that the phrascology and terminology employed herein are for the purpose of description and should not be regarded as limiting.
[0017] As such, those skilled in the art will appreciate that the conception, upon which this disclosure is based, may readily be utilized as a basis for the designing of other structures, methods and systems for carrying out the several purposes of the disclosed subject matter. It is important, therefore, that the claims be regarded as including such equivalent constructions insofar as they do not depart from the spirit and scope of the disclosed subject matter.
[0018] These together with the other objects of the disclosed subject matter, along with the various features of novelty which characterize the disclosed subject matter, are pointed out with particularity in the claims annexed to and forming a part of this disclosure. For a better understanding of the disclosed subject matter, its operating advantages and the specific objects attained by its uses, reference should be had to the accompanying drawings and descriptive matter in which there are illustrated preferred embodiments of the disclosed subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Various objects, features, and advantages of the disclosed subject matter can be more fully appreciated with reference to the following detailed description of the disclosed subject matter when considered in connection with the following drawings, in which like reference numerals identiir like elements.
[0020] FIG. 1 is a network connectivity diagram of a networked system in accordance with some embodiments of the invention.
[0021] FIG. 2 is a schematic diagram of user action tracking for a client device using a networked system in accordance with some embodiments of the invention.
[0022] FIG. 3 is a schematic diagram of a document suggestion alert on a computer operating system in accordance with some embodiments of the invention.
[0023] FIG. 4 is a schematic diagram of a document suggestion alert on an intranet web page in accordance with some embodiments of the invention.
[0024] FIG. 5 is a schematic diagram of search results on an intranet web page in accordance with some embodiments of the invention.
100251 FIG. 6 is a flow diagram of identifying documents for suggestion in accordance with certain embodiments of the invention.
[0026] FIG. 7 is a flow diagram of identifying documents for suggestion using a notification module in accordance with certain embodiments of the invention.
[0027] FIG. 8 illustrates a block diagram of a client device in accordance with certain embodiments of the invention.
[0028] FIG. 9 illustrates a block diagram of a server device in accordance with certain embodiments of the invention.
S
DETAILED DESCRIPTION
[0029] In thc following description, numerous specific details arc set forth regarding the systems and methods of the disclosed subject matter and the environment in which such systems and methods may operate, etc., in order to provide a thorough understanding of the disclosed subject matter. It will be apparent to one skilled in the art, however, that the disclosed subject matter may be practiced without such specific details, and that certain features, which are well known in the art, are not described in detail in order to avoid complication of the subject matter of the disclosed subject matter. In addition, it will be understood that the examples provided below are exemplary, and that it is contemplated that there are other systems and methods that are within the scope of the disclosed subject matter.
100301 Users of present-day computer systems often need to retrieve files for various purposes. These files may be stored on local storage systems, or they may be stored on storage systems that arc located on a network, such as an internal intranct network or the public Internet. The retrieval of these files may be for various purposes, such as editing documents, reviewing documents, or participating in meetings where documents are used.
These documents may also be ones that are frequently used, or infrequently used, or ones that are tied to specific times of day or other usage patterns, or ones that are associated with a specific task or meeting.
100311 One of the most common techniques today for finding documents is the use of search. Search involves using an application or intranet website configured to provide search and retrieval capabilities to find the document in question. Another common technique is to use a filing system to retrieve the document, based on knowledge about the location of the document on the system. For example, a file may relate to a particular client, project or product, and may logically be organized on the storage system in a folder or directory for that client, project or product. Many companies have elaborate systems for organizing information, using some combination of metadata, keywords and filing systems. These companies may also spend a significant amount of user time or administrator time to set up the appropriate storage or search systems.
[0032] Although these approaches have strengths and will undoubtedly continue to be available on computer systems, an approach is suggested herein where documents can be predictably retrieved and automatically suggested. There are many situations in which this would be useful, and an exemplary system is dcscribed below for providing such a document suggestion system.
[0033] To provide document suggestions, analysis is needed to determine which files are important. This analysis may be performed on user tracking data, where such data may be correlated with files. User tracking may include the tracking of user actions, such as the opening, modit'ing, saving, moving, renaming, and/or sending of files, the searching for a given set of terms and/or files, and the sending of emails. User actions may also include saving a file, clicking on a link, sending a calendar invitation, changing a calendar invitation, accepting a calendar invitation, performing a search, updating a database record, viewing metadata about a file or record, communicating with a user via an email, using specific key words in an email, or accessing an application. User actions may also include any inputs that are available to the system, such as information about the user's environment, including lighting, heating, ventilation and air conditioning (HVAC) control, use of or association with specific WiFi access points, use of remote access devices or tools, use of security badges to gain access to secured physical locations, use of electronic credentials to log into or out of a system, or other inputs. Any other suitable user actions or combination of user actions may be tracked.
[0034] User tracking may also include tracking of contextual information around each action. For example, when a file is opened, the system may track the time of day when it is opened, whether the file was opened in response to receiving an email, whether the opened file was subsequently edited, whether the opened file was subsequently sent and to whom, from whom the email was sent, and any other suitable contextual information or combination of contextual information. As another example, when a given set of search terms is used to search, the system may track which results are selected. This allows the system to determine that there is a correlation between the search terms and the results, or the file and the received email.
[0035] In order to track user data, the present disclosure describes a tracking system that is in communication with an application program. When the application program perfonms a user action, such as opening a file or sending an email, a tracking program may monitor and save this information. In some cases this may require modification of the application program. Examples of an application program for this purpose include a mail client such as Microsoft Outlook or Apple Mail or any webmail interface, a mail server such as Microsoft Exchange Server or any industry-standard Internet Mail Application Protocol (IMAP) or Post Office Protocol (POP) server, a document management system such as Interwoven iManage, a source code revision control and tracking system such as Perforce, Subversion or Git, a bug tracking system such as Bugzilla, a calendaring program such as Microsoft Outlook and/or Microsoft Exchange Server, a content management system (CMS) such as WordPrcss or Verity, a customer relationship management (CRM) system such as Siebel or Peoplesofi, a general database such as Oracle, MySQL or PostgrcSQL, or any other suitable application program or combination of application programs.
[0036] User tracking may be performed at a server in some embodiments. In other embodiments, it may be performed at a local computing device, as part of the system used by the user. The application may be customized as necessary in order to capture the most relevant contextual information for document suggestion. For example, a Microsoft Exchange server may be customized to track user actions such as receiving, sending, opening and deleting emails. This enables the present system to correlate documents and/or emails with these actions, and also allows the present system to provide suggestions when these actions arc performed. In some embodiments, a centralized user action tracking server may be used, and the tracking sewer may be a software module executing on a physical computing device. The tracking server may operate on the same physical server or computing device as is used by other resource servers within the organization, such as a file server, storage area network (SAN) server, Microsoft Exchange server, Internet Mail Application Protocol (IMAP) server or other email sewer, World Wide Web server, or other shared intranet server. This offers the advantage of increased performance when communicating between the user tracking server and the intranet server. In other embodiments, the user tracking server may be located on another sewer, which enables use of the invention with Internet servers and other sewers that arc not under the organization's control.
[0037] In certain embodiments, user tracking may be performed at a client device or user device. This may be the case on a mobile device, where it may be difficult to guarantee connectivity to a remote sewer for immediate communication of tracked actions, or where monitoring actions performed at applications on the user device is not possible from a remote server. In certain embodiments, user tracking may be performed both at a client device and a server.
[0038] The present system allows for the establishment of suggestion rules based on tracked user actions. Specific user actions or contextual information around a user's interaction with an application may be used as triggers. When the specified actions or contextual information is detected by a user action tracking system, the system may act to suggest documents. It is important that a variety of applications be supportable by the present system, in order to provide helpful and useful suggestions to the user based on the user's own activity across many applications. For this purpose, the present system is built in a modular fashion, such that a large number of user actions may be supported by a single tracking and suggestion module. The module keeps track of individual documents or files and their correlations with user actions.
[0039] Many user actions may be tracked, including opening files, saving files, cmailing files to others, associating files with calendar entries, searching for keywords, opening files after searching for keywords, organizing files into folders, and other actions.
The actions need not be related to files; for example, associating with a WiFi hotspot, sending OPS location data to a server, sending, receiving, opening, or forwarding email, or any other action could be tracked as well. The additional tracking information allows the system to provide better contextual suggestions.
I000l In the present system, correlations arc associated with each document using a numeric value that reflects the conelation. This numeric value may be a value between 0 and 1, in some embodiments. Each document is given one or more numeric scores, which are modified when user actions are correlated with that document. For example, if a document is opened, the stored score for that document is modified by a certain amount.
The amount can be set based on how likely the particular user action is to lead to the user re-opening the document. An alpha decay function automatically reduces the numeric score over time, so that recently-used documents are more likely to be suggested than less-accessed documents.
[0041] The weighting process involves assigning a coefficient to each action, based on an a priori set of rules, or based on a machine learning process that adjusts coefficients automatically. These coefficients are associated with individual files. More than one coefficient may be associated with a file, based on particular context. More than one coefficient may be associated over time as well. When more than one coefficient is associated with a single file, the new and old coefficients may be combined, according to predetermined rules. Coefficients in the system may be subject to an alpha decay rule, such that more recent coefficients are weighted heavily and old coefficients gradually decay. The result of the alpha decay rule is to provide suggestions more frequently for documents that have been recently accessed or acted upon. In certain embodiments, multiple coefficients are associated with each file, so that each action performed by a user that is tracked by the system is correlated to one or more tiles by storing or updating a coefficient associated with the one or more files and associated with the action. This provides a multi-dimensional weighting for each file based on different aspects of user activity and different users' activity. In other embodiments, a single set of coefficients is kept for each user and/or file pairing. These coefficients are also called weights or weight coefficients.
[0042] Various algorithms, heuristics and rules may be used for determining the values of coefficients for file-action association and for determining the threshold and alpha decay values. In some embodiments, the determination of which files to suggest may be performed probabilistically.
[0043] In certain embodiments of the invention, an application module is used. The application module facilitates selection of the coefficient for a given file-action association that may be specific to the application, in order to provide suggestions that arc useflul to the user. For example, if a software developer is using his computer, and has clicked on a bug report in a bug reporting system, documents that are relevant to that bug report may be retrieved and presented to the software developer via a notification system.
The action "click on bug report" may be associated with each of the documents associated with the selected bug report and a high coefficient may be assigned, so that when the user clicks on the bug report, the documents are returned. The rules and coefficients may thus be highly specialized. The desired specificity may be described in object code, a scripting language, natural language, by the user using a software rule-building tool, or by other means, in certain embodiments.
[0044] Another example is as follows. If a user is using her computer, and she has a meeting at 10 A.M. for which a coworker has emailed her several documents, the documents may be automatically suggested for her at 9:50 AM., so that she can open and print the documents prior to her meeting. This example is made possible by a specific rule that assigns a high coefficient for the association of the received documents with the action "receive as attachment from coworker," and also assigns a high coefficient for the association of documents received from the coworker with the action "request reminder ten minutes before meeting with coworker." When both of these actions arc performed by the user, as in the provided example, the associated documents are retrieved, and if the combined coefficients for each file are high enough to exceed a threshold, the documents are suggested.
[0045] A plurality of application modules may be used in conjunction with a user action tracking server as follows. Rules that are specific to a particular application may be specified in computer code that executes in an application module, potentially using an application programming interface (API) specific to the application, such that the application module is thus a module that enables user action tracking within one or more specific applications. In some embodiments, a user action tracking server may monitor and track user actions without the use of application modules. For a user environment where actions relating to in multiple applications or multiple environments, an application module for each application or environment may observe user actions performed within the specific application. Once user actions are observed, they may be transmitted to a server that is a user action nacking server, via a network, inter-process communication (IPC), or other means. The user action tracking server may receive user actions from multiple application modules and may use the received user actions to perform tracking, triggering and other frmnctions as described herein.
[0046] In some embodiments, the system may track different content elements. For example, emails may be tracked as well as files or documents. Thus, emails may be provided as suggested content elements regardless of whether the emails are stored in a database or a file system. In other embodiments, individual sales contacts, individual content objects in a CMS, individual bugs in a bug tracking system, or arbitrary data objects in a database may be tracked in addition to, or in lieu of, tracking files. One or more of these tracked objects may be present in the same system or embodiment.
Document suggestions may be provided for each object or for a configurable subset of these objects.
[0047] In some embodiments, user tracking may be provided by one system to multiple users in a corporation or organization. When used in an organization, user actions performed by others may also be used to provide conelation data. For example, in an organization where all coworkers' access to an expense report spikes on the 26th of the month, each coworker can be suggested the document at that time on the basis of other coworkers' actions. The system may track connections between users using a social network to accommodate user action tracking for only relevant users.
100481 To providc document suggestions, a notification scheme can be uscd.
Notifications are provided automatically to the user, or may also be presented at appropriate times after a user action has taken place. For example, a user may turn on his computer and be notified of a document suggestion as soon as the computer is turned on.
The user may be notified of a file based on a time of day or a calendar notification. The user may be notified when he browses the web to a certain website, or opens a particular project folder in the document management system. In other words, the user may be notified at times which are contextually determined to be the time when the documents are helpful.
[0049] Notifications may take various forms. In the previous example, if the bug report is on an intranet page, the notification may be inserted into the web page. If a notification via email, phone call, or text message is desired, such notifications may also be used. If a notification via another notification method is desired, such as Apple iOS push notification, instant message, or a pop-up notification on a desktop, mobile, tablet computer, or cellular telephone, such notifications may also be used. In each case, the notification includes one or more files that are deemed to be relevant by the system. The user may also be presented with an opportunity to act on the notification by, e.g., opening the file or files suggested by the document suggestion system.
[0050] In some embodiments, searching may also be enhanced by the described document suggestion system. For example, when a user performs a search, the search engine may return regular search results and may also include alternative results based on stored conelations in the document suggestion system. As another example, the search engine may simply return the results based on stored correlations in the document suggestion system.
[0051] FIG. 1 is a network conductivity diagram of a networkcd system in accordance with some embodiments of the invention. Network system 100 is a client/server system, in which at least one client 101 (e.g., devices 101-1, 101-1, ... 101-n) and sewer 103 communicate via communication network 102. Device 101 is a mobile device or user-operated device associated with a user. Device 101 can be any suitable device, including desktop computers, mobile computers, tablet computers, and cellular phones. Users usc device 101 to communicate with applications on sewer 103. In the case of mobile devices, such as smartphones (c.g., Apple iPhoncs or Android-based smartphoncs), the devices may run agent software that performs user action tracking and communicates with the sewer 103. Sewer 103 saves data to, and retrieves data from, database 104. In some embodiments, database 104 is accessed by server 103. In other embodiments, database 104 is accessed by other devices on the communication network 102, including devices 101. In some embodiments, device 101 may run only standard application programs and standard operating system software, such as Mozilla Firefox running on a version of the Microsoft Windows operating system. In other embodiments, device 101 may run specialized or customized application programs that communicate with user action tracking software on server 103.
[0052] Users perform actions on devices 101, which are then communicated via communication network 102 to server 103. On server 103, a user action tracking server (not shown) sits alongsidc an application server (not shown) in some embodiments of the invention. In other embodiments of the invention, the user action tracking sewer may reside on device 101 or on database 104. According to some embodiments of the invention, user action tracking server (not shown) communicates with a document suggestion module (not shown) that returns documents suggestions to the user of device 101. The document suggestion module (not shown) may reside at sewer 103, or elsewhere on the network.
[0053] FIG. 2 is a schematic diagram of user action tracking for a client device using a network system, in accordance with some embodiments of the invention. A user uses a user device 201 to access file 202. The user then performs a user action on the file, such as saving the file, opening the file, modi'ing the file, or another action. This action is performed via communication network 203. For example, the user could save the file to storage pool 206. According to certain embodiments of the invention, the request to save the file would first pass through an application server 204, e.g., a file server application or a mail server application. According to certain embodiments of the invention, user action tracking sewer 205, residing on the same server as the application server, would be notified of the user action. User action tracking server 205 may then record the user action, update metadata for the file to reflect a user action in storage pool 206, and allow the file to be stored in storage pool 207. Storage poo' 206 is used by user action tracking server 205. Storage pool 207 is used by the application sewer 204 as a file store, email store, or other application data store. The metadata that is updated by the user action tracking service is described hereinbelow.
[0054] In some embodiments of the invention, the user action tracking sewer may be located on user device 201 or on another device in the network. In some embodiments of the invention, the storage system used for storing metadata associated with each file may be located on local device 201 or elsewhere in the network. In some embodiments of the invention, the user action tracking server 205 may intercept messages before they reach the application server 204. In some embodiments of the invention, there may be more than one application server and/or more than one user action tracking server; in the case when there is more than one application server, user actions may be tracked by one or more user action tracking servers. Each user action tracking server may be co-located with the document suggestion module (not shown), or may be located on another server.
The user action tracking servers may also be configured to send out notifications periodically to the document suggestion server, or on an as-needed basis, e.g., by "pushing" relevant user actions to the document suggestion server.
[0055] FIG. 3 is a schematic diagram of a document suggestion alert on a computer operating system in accordance with some embodiments of the invention. Schematic view 300 is a representation of a screen of a user device on a computer operating system.
Document suggestion alert 301 appears on the screen of the user device. This alert 301 may occur when the user is performing an action that would be facilitated by document suggestions. The alert may be based on a time of day, on a contextual cue such as the application being in use, information about the user's current activity, such as derived from currently open documents and or applications, or other suitable factors. In certain embodiments of the invention, it is not necessary for the user to enter explicit search terms, or otherwise indicate to the system that he or she wishes to open a document. In certain embodiments of the invention, user actions may be monitored to determine when it is appropriate to offer document suggestions. The suggestions may be offered immediately when turning on a computer. The alert may be a Google alert, a non-modal alert, and may be offered alone or in combination with other alerts. One file, or a plurality of files, may be suggested to the user. The alert may be an instant message, an email, a pop-up notification, a text message or SMS, or another suitable type of notification. The alert may include any suitable content, including text, images, and/or a link to one or more flies. The user is presented with the opportunity to act on the notification, including opening the suggested file or files.
[0056] FIG. 4 is a schematic diagram of a document suggestion alert on an intranet webpage, in accordance with some embodiments of the invention. The representative web browser 400 is shown, together with document suggestion alert 401. Additional content from a user's intranet is shown as well. The document that is suggested is contextualized according to the particular intranet page and according to other information about the user's current activity. This other information may include information aggregated from other users within the user's organization. An example would be for a user to be presented with a suggestion to open a particular file that other users in the organization found useftil. Searching is also possible on an intranet website, and indeed, search context, including search terms, may be used to contextualize the document suggestion.
The document suggestion system may include one or more rules that enable the system to understand the context of the user's actions, including context based on actions by other users. As in the previous figure, the user is presented with an opportunity to interact with and open a suggested file.
100571 FIG. 5 is a schematic diagram of search results on an intranet web page supplemented in accordance with some embodiments of the invention. The representative web browser 500 is shown. Searching is also possible on an intranet wcbsite, and indeed, search context, including search terms, may be used to contextualize the document suggestion. The document suggestion system may include one or more rules that enable the system to understand the context of the user's actions, including context based on actions by other users. As in the previous figure, the user is presented with an opportunity to interact with and open one or more suggested files. In the figure, search terms 501 have been previously entered by the user, and the intranet has retrieved search results 502 using a search engine as is known in the art. As well, in accordance with the invention, the search and the search terms have been tracked by a user action tracking server (not shown), which has provided supplemental search results in the form of suggested documents 503 and 504. The suggested documents match the search terms, and also are highly correlated to the user and to activities performed by the user. The user action information used to match the documents to the query may be shown to the user in some embodiments. For example, the first suggested document 503 indicates that it was received in an email from B. Smith on 4/4/10. The second suggested document 504 indicates that the searching user previously opened the document.
[0058] FIG. 6 is a flow diagram of identi'ing documents for suggestion in accordance with certain embodiments of the invention. At step 601, user actions are tracked over time. User actions may be tracked for a plurality of users. Tracking may be initiated as a result of a timer, receipt of user action, or based on periodic re-analysis of user actions and file coefficients, in certain embodiments of the invention. At step 602, tracked user actions are associated with documents, and the action and document are also associated with a numeric coefficient according to rules as described above. Steps 601 and 602 may occur in real time, at a time delay, on the same server as steps 603 and following, or on a different sewer. Steps 601 and 602 may be repeated for many actions and for many users. If a numeric coefficient already exists, step 602 may update it by resetting an alpha decay timer or by adding a value to the previously-stored value.
[0059] At step 603, the system begins processing document suggestion information based on a notification of a user action relating to a file received from one or more users.
This user action may be the same user action initially tracked at step 601; in other words, the system may immediately attempt to suggest documents to a user as soon as one action is received. At step 604, all documents that are associated with the action are identified using the user action tracking data store. Each document associated with the action has a numeric coefficient that indicates whether it should be offered as a suggestion. At step 605, the coefficient for each document is compared with a threshold value. At step 606, if the coefficient for a document exceeds the threshold, the document is identified as a document that may be suggested to the user.
[0060] FIG. 7 is a flow diagram of identifying documents for suggestion using a notification module, in accordance with certain embodiments of the invention. At step 701, a document suggestion module is in communication with, and receives a triggering action from an application. This cues the document suggestion module to provide any available document suggestions. The triggering action may be a scheduled timer or interrupt timer, which is a special case of a user action. The triggering action may also be a message based on a user action, such as accessing a particular folder or application, or such as another user taking action on a file by, e.g., cmailing a file to the current user. The triggering action may be related to previous actions performed by the same user or other users by a rule, and may be an action in the same application or a related application.
[0061] At step 702, the document suggestion module determines whether a suggestion is available. Certain suggestions may takes into account the user's current application and recent user actions, or other contextual information such as upcoming calendar appointments or physical location. For example, a user may have a meeting at 10 AM, and the user may have received documents pertaining to that meeting via email. At 9:50 AM, the user should receive a suggestion to open documents contained in the email.
The system enables the suggestion to be sent to the user by triggering the document suggestion module at 9:50 AM based on contextual information from the user's calendar.
If a suggestion for a document to be opened or accessed is available, the file or files to be suggested is determined and sent to the notification module for suggestion to the user at step 703.
100621 As another example, if a user accesses an organization's intranet, and reaches a webpage pertaining to company-wide policies, the system may take into account documents that other users within the organization have retrieved from the company-wide policies section of the intranet, and suggest those documents to the current user. The invention is not limited to an intranet, but may also extend to documents/files retrieved from the Internet.
[0063] In the absence of contextual cues, the system may provide suggestions for most-recently used documents for the current user, most-recently used documents for all users, or relevant results for a search, if search terms were entered as part of the user action. This is equivalent to a system that is configured to correlate or associate document suggestions for a null action for a given user. If no suggestions are available, processing is terminated at step 704.
[0064] FIG. 8 shows client device 800 in accordance with certain embodiments of the disclosed subject matter. Client device 800 includes processor 802, memory 804, local suggestion module 806, application module 808, user action tracking module 810, and interface 814. In other embodiments of the invention, client device 800 can include additional modules, fewer modules, or any other suitable combination of modules that perform any suitable operation or combination of operations. The memory 804 can be a non-transitory computer readable medium, flash memory, a magnetic disk drive, an optical drive, a programmable read-only memory (PROM), a read-only memory (ROM), or any other memory or combination of memories. The software runs on a processor 802 capable of executing computer instructions or computer code. The processor 802 might also be implemented in hardware using an application specific integrated circuit (ASIC), programmable logic array (PLA), field programmable gate array (FPGA), or any other integrated circuit.
[0065] An interface 814 provides an input and/or output mechanism to communicate over a network. The interface 814 enables communication with servers, as well as other network nodes in the communication network. The interface 814 is implemented in hardware to send and receive signals in a variety of mediums, such as optical, copper, and wireless, and in a number of different protocols some of which may be non-transient.
[0066] The client device 800 can include user equipment of a cellular network. The user equipment communicates with one or more radio access networks and with wired communication networks. The user equipment can be a cellular phone having phonetic communication capabilities. The user equipment can also be a smart phone providing services such as word processing, web browsing, gaming, c-book capabilities, an operating system, and a full keyboard. The user equipment can also be a tablet computer providing network access and most of the services provided by a smart phone. The user equipment operates using an operating system such as Symbian OS, iPhone OS, RIM's Blackberry, Windows Mobile, Linux, HP WebOS, and Android. The screen may be a touch screen that is used to input data to the mobile device, in which case the screen can be used instead of the full keyboard. The user equipment can also keep global positioning coordinates, profile information, or other location information.
[0067] The client device 800 also includes any platforms capable of computations and communication. Non-limiting examples can include televisions (TVs), video projectors, set-top boxes or set-top units, digital video recorders (DVR), computers, netbooks, laptops, and any other audio/visual equipment with computation capabilities. The client device 800 is configured with one or more processors 802 that process instructions and run software that may be stored in memory. The processor 802 also communicates with the memory and interfaces to communicate with other devices. The processor 802 can be any applicable processor such as a system-on-a-chip that combines a CPU, an application processor, and flash memory. The client device 800 can also provide a variety of user interfaces such as a keyboard, a touch screen, a trackbafl, a touch pad, and/or a mouse.
The client device 800 may also include speakers and a display device in some embodiments.
[00681 Client device 800 is operable according to some embodiments of the invention as follows. A user using client device 800 uses applications, which may be stored in the memory and/or be run on the processor. The applications may also be in communication with one or more application modules 808. Application module(s) 808, as discussed in detail above in paragraph [0045], provides access to one or more applications in order to allow tracking of user actions performed within the applications. User action tracking data may be shared with user action tracking module 810, which tracks user actions and sets up associations between users, actions, and documents (or other objects). User action tracking module 810 may be in communication with other client devices or servers using interface 814, in order to provide synchronization across devices, to provide multi-user tracking capability, or to off-load one or more ifinctions to a user action tracking server.
In some embodiments, a local suggestion module 806 may be present and may use the user actions and associations stored by the user action tracking module to suggest documents. More commonly, this functionality may be provided by a server device, as described below.
[00691 FIG. 9 is a block diagram of a server device in accordance with certain embodiments of the invention. Server device 900 includes processor 902, memory 904, application module 906, weighting module 908, threshold module 910, and notification module 912. Processor 902 performs processing for one or more modules as disclosed in this specification. Memory 904 provides temporary storage of data as required by the processor 902. The memory 904 can be a non-transitory computer readable medium, flash memory, a magnetic disk drive, an optical drive, a programmable read-only memory (PROM), a read-only memory (ROM), or any other memory or combination of memories.
The software runs on a processor 902 capable of executing computer instructions or computer code. The processor 902 might also be implemented in hardware using an application specific integrated circuit (ASIC), programmable logic array (PLA), field programmable gate array (FPGA), or any other integrated circuit.
[0070] Application module 906 is in communication with an application or application server, as disclosed elsewhere in the specification, and enables user action tracking. Application module 906 may be written to be interopcrablc with the application or application server (not shown). Alternatively, application module 906 may interact with the application using an application programming interface (API). Weighting module 908 applies coefficients to create correlations between user actions and files, as described herein. Weighting module 908 may use an a priori table of coefficients, or may usc machine learning or dynamic techniques to determine the coefficients. For example, the weighting module 908 may be configured to assign a higher coefficient to a user action for a given file when the user action is modi'ing and saving the file, as opposed to merely opening the file. Any system of assigning coefficients or learning appropriate coefficients may be used. The weighting module 908 may also be configured to get higher or lower priority or weight to actions performed by other users. Threshold module 910 may perform comparisons of file coefficients associated with files with a global or contextual threshold, as described in figure 5 and accompanying text. Notification module 912 may determine when and how to present document suggestions to the user, and may integrate with user devices and client operating systems to enable notification. Interface 914 may allow computer system 900 communicate with other systems, such as other devices on one or more networks, server devices on the same or different networks, or user devices either directly or via intermediate networks. The interface 914 may be implemented in hardware to send and receive signals in a variety of mediums, such as optical, copper, and wireless, and in a number of different protocols some of which may be non-transient.
[0071] In the case that more than one computer system providing document suggestion services is available on one or more networks, the devices may communicate with each other to share user actions and coefficients, enhance performance of the other suggestion server, and perform additional features in some embodiments of the invention.
[0072] The server 900 can operate using an operating system (OS) software. In some embodiments, the OS software is based on a Linux software kernel and runs specific applications in the server such as monitoring tasks and providing protocol stacks. The OS software allows server resources to be allocated separately for control and data paths. For example, certain packet accelerator cards and packet services cards are dedicated to performing routing or security control functions, while other packet accelerator cards/packet services cards are dedicated to processing user session traffic. As network requirements change, hardware resources can be dynamically deployed to meet the requirements in some embodiments.
[0073] The server's software can be divided into a series of tasks that perform specific functions. These tasks communicate with each other as needed to share control and data information throughout the server 900. A task can be a software process that performs a specific function related to system control or session processing. Three types of tasks operate within the server 900 in some embodiments: critical tasks, controller tasks, and manager tasks. The critical tasks control functions that relate to the server's ability to process calls such as server initialization, error detection, and recovery tasks.
The controller tasks can mask the distributed nature of the software from the user and perform tasks such as monitoring the state of subordinate manager(s), providing for intra-manager communication within the same subsystem, and enabling inter-subsystem communication by communicating with controller(s) belonging to other subsystems. The manager tasks can control system resources and maintain logical mappings between system resources.
[0074] Individual tasks that run on processors in the application cards can be divided into subsystems. A subsystem is a software element that either performs a specific task or is a culmination of multiple other tasks. A single subsystem includes critical tasks, controller tasks, and manager tasks. Some of the subsystems that run on the server 900 include a system initiation task subsystem, a high availability task subsystem, a shared configuration task subsystem, and a resource management subsystem.
[0075] The system initiation task subsystem is responsible for starting a set of initial tasks at system startup and providing individual tasks as needed. The high availability task subsystem works in conjunction with the recovery control task subsystem to maintain the operational state of the server 900 by monitoring the various software and hardware components of the server 900. Recovery control task subsystem is responsible for executing a recovery action for failures that occur in the server 900 and receives recovery actions from the high availability task subsystem. Processing tasks are distributed into multiple instances running in parallel so if an unrecoverable software fault occurs, the entire processing capabilities for that task are not lost. User session processes can be sub-grouped into coHeetions of sessions so that if a problem is encountered in one sub-group users in another sub-group will not be affected by that problem.
100761 Shared configuration task subsystem can provide the server 900 with an ability to set, retrieve, and receive notification of server configuration parameter changes and is responsible for storing configuration data for the applications running within the server 900. A resource management subsystem is responsible for assigning resources (e.g., processor and memory capabilities) to tasks and for monitoring the task's use of the resources.
[0077] In some embodiments, the server 900 can reside in a data center and form a node in a cloud computing infrastructure. The server 900 can also provide services on demand. A module hosting a client is capable of migrating from one server to another server seamlessly, without causing program faults or system breakdown. The server 104/304 on the cloud can be managed using a management system.
[0078] It is to be understood that the disclosed subject matter is not limited in its application to the details of construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. The disclosed subject matter is capable of other embodiments and of being practiced and carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting.
[0079] As such, those skilled in the art will appreciate that the conception, upon which this disclosure is based, may readily be utilized as a basis for the designing of other structures, methods, and systems for carrying out the several purposes of the disclosed subject matter. It is important, therefore, that the claims be regarded as including such equivalent constructions insofar as they do not depart from the spirit and scope of the disclosed subject matter.
[0080] Although the disclosed subject matter has been described and illustrated in the foregoing exemplary embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementatioll of the disclosed subject matter may be made without departing from the spirit and scope of the disclosed subject matter, which is limited only by the claims which follow.

Claims (24)

  1. Claims A method for providing at least one document suggestion from a computer system using at least one information source, the method comprising: storing in the information source a plurality of associations, each of which includes a numeric coefficient that corresponds to at least one action of a user and at least one document.receiving a triggering action related to the at least one action of the user; comparing the numeric coefficients stored in the information source with a suggestion threshold based on the triggering action; and for each numeric coefficient that exceeds the suggestion threshold, identifying the corresponding at least one document as a suggested document.
  2. 2. The method of claim 1, fhrthcr comprising: tracking the one action of the user; and updating the numeric coefficient that corresponds to the at least one action of the user and the at least one document.
  3. 3. The method of claim I or 2, further comprising presenting a notification of each suggested document at a user device.
  4. 4. The method of claim 1, 2 or 3, wherein the numeric coefficients relate the corresponding at least one document with a likelihood that the document will subsequently be retrieved.
  5. 5. The method of claim 4, thrthcr comprising combining the numeric coefficients for at least two users' actions.
  6. 6. The method of any preceding claim, further comprising presenting the notifications of each suggested document to the user based on contextual information about one of the user and the user's actions.
  7. 7. The method of claim 6, further comprising presenting the notifications to the user as an alert mcssage on a mobile device.
  8. 8. The method of any preceding claim, wherein the actions include one or more of opening the file; saving the file; modifying the file; accessing the file; searching for the file; performing a keyword search; receiving an email; receiving an email containing an attached file; reaching a time of day; and a null action.
  9. 9. A system for providing document suggestions in a communications network, the system comprising: one or more interfaces configured to provide communication with a server via communication network; and a processor, in communication with the one or more interfaces, and configured to run a module stored in memory that is configured to: store in the information source a plurality of associations, each of which includes a numeric coefficient that corresponds to at least one action of a user and at least one document; receive a triggering action related to the at least one action of the user; compare the numeric coefficients stored in the information source with a suggestion threshold based on the triggering action; and for each numeric coefficient that exceeds the suggestion threshold, identi' the corresponding at least one document as a suggested document.
  10. 10. The system of claim 9, further comprising: an application module for tracking user activity; a weighting module for updating the numeric coefficient that corresponds to the at least one action of the user and the at least one document; and a threshold module for comparing the numeric coefficient with the suggestion threshold and for determining whether to suggcst the document to the user based on contextual user activity.
  11. 11. The system of claim 9 or 10, further comprising a notification module for providing document suggestions to a user.
  12. 12. The system of claim 11, wherein the suggested documents are subsequently suggested to a user.
  13. 13. The system of any of claims 9 to 12, ifirther comprising a storage system for storing numeric coefficients associated with documents and actions.
  14. 14. The system of any of claims 9 to 13, ifirther comprising one or more application modules configured to track a set of user actions that is specific to an application.
  15. 15. A computer-readable medium having executable instructions operable to cause a device to: store in the information source a plurality of associations, each of which includes a numeric coefficient that corresponds to at least one action of a user and at least one document; receive a triggering action related to the at least one action of the user; compare the numeric coefficients stored in the information source with a suggestion threshold based on the triggering action; and for each numeric coefficient that exceeds the suggestion threshold, identif,' the corresponding at least one document as a suggested document.
  16. 16. The medium of claim 15, thc executable instructions frirther comprising instructions to track thc onc action of thc uscr, and update the numeric coefficient that corresponds to the at least one action of the user and the at least one document.
  17. 17. The medium of claim 15 or 16, wherein the numeric coefficients relate each file with a likelihood that the file will subsequently be retrieved.
  18. 18. The medium of any of claims 15 to 17, the executable instructions further comprising instructions to combine the numeric coefficients for at least two user actions.
  19. 19. The medium of any of claims 15 to 18, the executable instructions further comprising instructions to present notifications of the suggested documents to the user based on current contextual information about the user.
  20. 20. The medium of any of claims 15 to 19, wherein the user actions include one or more of: opening a file; saving a file; modifying a file; accessing a file; searching for a file, performing a keyword search, receiving an email, and receiving an email containing an attached file.
  21. 21. Computer software which, when executed by a computer, is arranged to perfomi a method according to any of claims I to 8.
  22. 22. A computer readable medium substantially as described hereinbefore with reference to the accompanying drawings.
  23. 23. An apparatus substantially as described hereinbefore with reference to the accompanying drawings.
  24. 24. A method substantially as described hcrcinbcforc with reference to the accompanying drawings.
GB1307409.1A 2012-04-26 2013-04-24 Document suggestion by user action association and threshold comparison Withdrawn GB2503546A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/457,136 US20130290347A1 (en) 2012-04-26 2012-04-26 Systems and methods for providing data-driven document suggestions

Publications (2)

Publication Number Publication Date
GB201307409D0 GB201307409D0 (en) 2013-06-05
GB2503546A true GB2503546A (en) 2014-01-01

Family

ID=48579585

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1307409.1A Withdrawn GB2503546A (en) 2012-04-26 2013-04-24 Document suggestion by user action association and threshold comparison

Country Status (2)

Country Link
US (1) US20130290347A1 (en)
GB (1) GB2503546A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016130231A1 (en) * 2015-02-11 2016-08-18 Google Inc. Methods, systems, and media for presenting contextually relevant information
US9769564B2 (en) 2015-02-11 2017-09-19 Google Inc. Methods, systems, and media for ambient background noise modification based on mood and/or behavior information
US10223459B2 (en) 2015-02-11 2019-03-05 Google Llc Methods, systems, and media for personalizing computerized services based on mood and/or behavior information from multiple data sources
US10284537B2 (en) 2015-02-11 2019-05-07 Google Llc Methods, systems, and media for presenting information related to an event based on metadata
US11392580B2 (en) 2015-02-11 2022-07-19 Google Llc Methods, systems, and media for recommending computerized services based on an animate object in the user's environment

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9195721B2 (en) 2012-06-04 2015-11-24 Apple Inc. Mobile device with localized app recommendations
US9262535B2 (en) * 2012-06-19 2016-02-16 Bublup Technologies, Inc. Systems and methods for semantic overlay for a searchable space
US9154629B2 (en) * 2012-12-14 2015-10-06 Avaya Inc. System and method for generating personalized tag recommendations for tagging audio content
US9367646B2 (en) 2013-03-14 2016-06-14 Appsense Limited Document and user metadata storage
US9465856B2 (en) * 2013-03-14 2016-10-11 Appsense Limited Cloud-based document suggestion service
US9172720B2 (en) 2013-08-30 2015-10-27 Bank Of America Corporation Detecting malware using revision control logs
US20150095771A1 (en) * 2013-09-30 2015-04-02 Lenovo (Singapore) Pte. Ltd. Journal launch based on context
US10176159B2 (en) * 2014-05-05 2019-01-08 Adobe Systems Incorporated Identify data types and locations of form fields entered by different previous users on different copies of a scanned document to generate an interactive form field
US9913100B2 (en) 2014-05-30 2018-03-06 Apple Inc. Techniques for generating maps of venues including buildings and floors
US9402161B2 (en) 2014-07-23 2016-07-26 Apple Inc. Providing personalized content based on historical interaction with a mobile device
US20160063505A1 (en) * 2014-08-26 2016-03-03 Sugarcrm Inc. Natural language processing (nlp) of follow up to a scheduled event in a customer relationship management (crm) system
US10331399B2 (en) 2015-06-05 2019-06-25 Apple Inc. Smart audio playback when connecting to an audio output system
US9529500B1 (en) 2015-06-05 2016-12-27 Apple Inc. Application recommendation based on detected triggering events
US20160371258A1 (en) * 2015-06-22 2016-12-22 Microsoft Technology Licensing, Llc Systems and methods for creating unified document lists
CN105279271A (en) * 2015-10-28 2016-01-27 田磊 Message push method and apparatus
US20170272550A1 (en) * 2016-03-21 2017-09-21 Kitedesk, Inc. Systems and methods for establishing communication interfaces to monitor online interactions via event listeners
US10796235B2 (en) 2016-03-25 2020-10-06 Uptake Technologies, Inc. Computer systems and methods for providing a visualization of asset event and signal data
US20180300324A1 (en) * 2017-04-17 2018-10-18 Microstrategy Incorporated Contextually relevant document recommendations
WO2019006732A1 (en) * 2017-07-06 2019-01-10 华为技术有限公司 Information recommendation method and apparatus
US11093510B2 (en) 2018-09-21 2021-08-17 Microsoft Technology Licensing, Llc Relevance ranking of productivity features for determined context
US11163617B2 (en) * 2018-09-21 2021-11-02 Microsoft Technology Licensing, Llc Proactive notification of relevant feature suggestions based on contextual analysis
JP7298208B2 (en) * 2019-03-13 2023-06-27 富士フイルムビジネスイノベーション株式会社 Information processing device and program
CN110442658B (en) * 2019-08-14 2022-03-04 爱笔(北京)智能科技有限公司 Data association method and device
US11743723B2 (en) 2019-09-16 2023-08-29 Microstrategy Incorporated Predictively providing access to resources
US11900012B2 (en) 2020-09-24 2024-02-13 Apple Inc. Method and system for seamless media synchronization and handoff

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040019846A1 (en) * 2002-07-24 2004-01-29 Xerox Corporation System and method for managing document retention of shared documents
US20110197166A1 (en) * 2010-02-05 2011-08-11 Fuji Xerox Co., Ltd. Method for recommending enterprise documents and directories based on access logs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040019846A1 (en) * 2002-07-24 2004-01-29 Xerox Corporation System and method for managing document retention of shared documents
US20110197166A1 (en) * 2010-02-05 2011-08-11 Fuji Xerox Co., Ltd. Method for recommending enterprise documents and directories based on access logs

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016130231A1 (en) * 2015-02-11 2016-08-18 Google Inc. Methods, systems, and media for presenting contextually relevant information
US9769564B2 (en) 2015-02-11 2017-09-19 Google Inc. Methods, systems, and media for ambient background noise modification based on mood and/or behavior information
GB2552278A (en) * 2015-02-11 2018-01-17 Google Inc Methods, systems and media for presenting contextually relevant information
US10223459B2 (en) 2015-02-11 2019-03-05 Google Llc Methods, systems, and media for personalizing computerized services based on mood and/or behavior information from multiple data sources
US10284537B2 (en) 2015-02-11 2019-05-07 Google Llc Methods, systems, and media for presenting information related to an event based on metadata
US10425725B2 (en) 2015-02-11 2019-09-24 Google Llc Methods, systems, and media for ambient background noise modification based on mood and/or behavior information
US10785203B2 (en) 2015-02-11 2020-09-22 Google Llc Methods, systems, and media for presenting information related to an event based on metadata
US10880641B2 (en) 2015-02-11 2020-12-29 Google Llc Methods, systems, and media for ambient background noise modification based on mood and/or behavior information
US11048855B2 (en) 2015-02-11 2021-06-29 Google Llc Methods, systems, and media for modifying the presentation of contextually relevant documents in browser windows of a browsing application
GB2552278B (en) * 2015-02-11 2021-08-25 Google Llc Methods, systems and media for presenting contextually relevant information
US11392580B2 (en) 2015-02-11 2022-07-19 Google Llc Methods, systems, and media for recommending computerized services based on an animate object in the user's environment
US11494426B2 (en) 2015-02-11 2022-11-08 Google Llc Methods, systems, and media for modifying the presentation of contextually relevant documents in browser windows of a browsing application
US11516580B2 (en) 2015-02-11 2022-11-29 Google Llc Methods, systems, and media for ambient background noise modification based on mood and/or behavior information
US11671416B2 (en) 2015-02-11 2023-06-06 Google Llc Methods, systems, and media for presenting information related to an event based on metadata
US11841887B2 (en) 2015-02-11 2023-12-12 Google Llc Methods, systems, and media for modifying the presentation of contextually relevant documents in browser windows of a browsing application
US11910169B2 (en) 2015-02-11 2024-02-20 Google Llc Methods, systems, and media for ambient background noise modification based on mood and/or behavior information

Also Published As

Publication number Publication date
US20130290347A1 (en) 2013-10-31
GB201307409D0 (en) 2013-06-05

Similar Documents

Publication Publication Date Title
US20130290347A1 (en) Systems and methods for providing data-driven document suggestions
US10565077B2 (en) Using cognitive technologies to identify and resolve issues in a distributed infrastructure
US10275355B2 (en) Method and apparatus for cleaning files in a mobile terminal and associated mobile terminal
US9436744B2 (en) Combining internal and external search results
US10621281B2 (en) Populating values in a spreadsheet using semantic cues
US10567220B2 (en) Distributed rules engine for processing events associated with internet of things devices
JP2018523187A (en) Modeling personal entities
US20130290323A1 (en) Systems and methods for automatically associating tags with files in a computer system
US11770450B2 (en) Dynamic routing of file system objects
US11620182B2 (en) System for resolution of technical issues using computing system-specific contextual data
US10237694B2 (en) Geo-classification of users from application log data
US20170374001A1 (en) Providing communication ranking scheme based on relationship graph
EP3497586A1 (en) Discovery of calling application for control of file hydration behavior
WO2017142792A1 (en) Malware identification using qualitative data
US20220222266A1 (en) Monitoring and alerting platform for extract, transform, and load jobs
US20240012540A1 (en) Methods and Systems for Input Suggestion
US20130346405A1 (en) Systems and methods for managing data items using structured tags
US20160261541A1 (en) Prioritizing log messages
US20120278078A1 (en) Input and displayed information definition based on automatic speech recognition during a communication session
US9483535B1 (en) Systems and methods for expanding search results
US9251273B2 (en) Delivering a filtered search result
US20140025674A1 (en) User-Specific Search Result Re-ranking
CN105787359A (en) Course guarding method and device
CN110659406A (en) Searching method and device
US11704371B1 (en) User centric topics for topic suggestions

Legal Events

Date Code Title Description
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20160602 AND 20160608

732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20190523 AND 20190529

WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)