Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS20040267746 A1
Publication typeApplication
Application numberUS 10/609,104
Publication dateDec 30, 2004
Filing dateJun 26, 2003
Priority dateJun 26, 2003
Also published asCN1813233A, CN1813233B, EP1636686A2, EP1636686A4, US7636890, US20050256842, WO2005003895A2, WO2005003895A3, WO2005003895A8
Publication number10609104, 609104, US 2004/0267746 A1, US 2004/267746 A1, US 20040267746 A1, US 20040267746A1, US 2004267746 A1, US 2004267746A1, US-A1-20040267746, US-A1-2004267746, US2004/0267746A1, US2004/267746A1, US20040267746 A1, US20040267746A1, US2004267746 A1, US2004267746A1
InventorsCezary Marcjan, Andrzej Turski, Lili Cheng
Original AssigneeCezary Marcjan, Andrzej Turski, Lili Cheng
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
User interface for controlling access to computer objects
US 20040267746 A1
Abstract
A computer object access control graphical user interface allows a user to set computer locations where a computer object may be accessed and other users who may access the computer object. The computer object may be a computer file, a computer message, person contact information, etc. The access control user interface may operate, for example, to save a computer object to one or more computer locations, and also to specify sharing of the computer object with one or more other users so that they can access the object. Saving a computer object and setting the sharing of it are together referred to as controlling access to the object, the former referring to where the object may be accessed from and the latter referring to who may access the object. This provides, therefore, a unified interface for selecting and displaying destinations that can be either a file store or a person, thereby unifying the control of access to a computer object.
Images(5)
Previous page
Next page
Claims(22)
1. A computer object access control graphical user interface rendered on a computer display screen for controlling access to a computer object, comprising:
a name field indicating a name for the computer object; and
one or more access control fields rendered together and indicating plural selectable computer spaces for the computer object, at least one of the computer spaces corresponding to a computer location and at least one of the computer spaces corresponding to access to the computer object for one or more computer users.
2. The user interface of claim 1 in which the at least one of the computer spaces corresponding to access to the object for one or more computer users is provided by one of plural computer communication formats.
3. The user interface of claim 1 in which the plural computer communication formats include email.
4. The user interface of claim 1 in which the plural computer communication formats include instant messaging.
5. The user interface of claim 1 in which the plural selectable computer spaces for the computer object are listed in a ranked sequence.
6. The user interface of claim 5 in which the sequence is ranked according to associations to the computer object determined automatically from user computer interactions.
7. The user interface of claim 1 in which computer spaces corresponding to a computer location and computer spaces corresponding to access for computer users are listed together in a single access control field.
8. The user interface of claim 1 in which computer spaces corresponding to a computer location and computer spaces corresponding to access for computer users are listed in separate respective access control fields.
9. The user interface of claim 1 in which access control field includes a flat representation without hierarchy of plural selectable computer spaces corresponding to computer locations of a hierarchical file structure.
10. In a computer readable medium, software for a computer object access control graphical user interface, comprising
software to render a computer object access control graphical user interface on a computer display screen for controlling access to a computer object, the user interface including a name field indicating a name for the computer object and an access control field indicating plural selectable computer spaces for the computer object, at least one of the computer spaces corresponding to a computer location and at least one of the computer spaces corresponding to access to the computer object for one or more computer users.
11. The software of claim 10 in which the at least one of the computer spaces corresponding to access to the object for one or more computer users is provided by a computer communication format.
12. The software of claim 10 in which the computer communication format includes email.
13. The software of claim 10 in which the computer communication format includes instant messaging.
14. The software of claim 10 in which the plural selectable computer spaces for the computer object are listed in a ranked sequence.
15. The software of claim 14 in which the sequence is ranked according to associations to the computer object determined automatically from user computer interactions.
16. The software of claim 10 in which computer spaces corresponding to a computer location and computer spaces corresponding to access for computer users are listed together in a single access control field.
17. The software of claim 10 in which computer spaces corresponding to a computer location and computer spaces corresponding to access for computer users are listed in separate respective access control fields.
18. The software of claim 10 in which access control field includes a flat representation without hierarchy of plural selectable computer spaces corresponding to computer locations of a hierarchical file structure.
19. A computer object access control graphical user interface rendered on a computer display screen for controlling access to a computer object, comprising:
a query field for indicating a query to access the computer object; and
a recent object field rendered with the query field and listing plural computer objects that have been accessed by the user, the plural computer objects including objects obtained from computer locations and computer communication objects.
20. The user interface of claim 19 in which the plural computer objects are listed in reverse chronological order in the recent object field.
21. The user interface of claim 19 in which the query field receives a query a chunk expression language format.
22. In a computer readable medium, software for a computer object access control graphical user interface, comprising
software to render a computer object access control graphical user interface rendered on a computer display screen for controlling access to a computer object, the user interface including a query field for indicating a query to access the computer object, and a recent object field rendered with the query field and listing plural computer objects that have been accessed by the user, the plural computer objects including objects obtained from computer locations and computer communication objects.
Description
    TECHNICAL FIELD
  • [0001]
    The present invention relates to user interfaces for accessing and controlling access to computer objects and, in particular, to a user interface for accessing or controlling access to computer objects in computer spaces relating to computer locations and computer users.
  • BACKGROUND AND SUMMARY
  • [0002]
    Computer objects (e.g., files) are commonly copied or saved from one computer to another. Computer messages are sent between computers. Computer users give each other access to or “share” different sets of computer files or different computer file directories.
  • [0003]
    Typically, the sharing of computer objects between users as a “share” is distinct from the saving of computer objects to computer (e.g. network) locations. This distinction relates to the traditional view that computer storage occurs at locations (e.g., drives, folders, etc.), while the sharing of computer objects relates to the security or accessibility of the object at that location. As a result, the user interfaces for saving computer objects to computer locations are distinct from the user interfaces for setting the sharing of the objects.
  • [0004]
    An aspect of the present invention is an appreciation that access to a computer object according to its computer location is analogous to who is accessing the object. The common aspect is accessibility to the object. Accordingly, the present invention provides a computer object access control graphical user interface for setting computer locations where a computer object may be accessed and users who may access the computer object. The computer object may be a computer file, a computer message, person contact information, etc.
  • [0005]
    The access control user interface may operate, for example, to save a computer object to one or more computer locations, and also to specify sharing of the computer object with one or more other users so that they can access the object. Saving a computer object and setting the sharing of it are together referred to as controlling access to the object, the former referring to where the object may be accessed from and the latter referring to who may access the object.
  • [0006]
    In one implementation, the user interface includes a name field indicating a name for the computer object and multiple access control fields that are rendered together and indicate multiple selectable computer spaces for the computer object. At least one of the computer spaces corresponds to a computer location, and at least one of the computer spaces corresponds to access to the computer object for one or more computer users. The present invention provides, therefore, a unified interface for selecting and displaying destinations that can be either a file store or a person, thereby unifying the control of access to a computer object.
  • [0007]
    In one implementation, the multiple computer spaces are listed in a ranked sequence, which can be based upon recency of user interaction with the computer spaces (i.e., locations or users) or according to associations to the computer object determined automatically from user computer interactions. Users can be represented by an email address, an instant messaging name, a full name, or any other person identifiers, and specific transports to the users can also be identified or specified.
  • [0008]
    Additional objects and advantages of the present invention will be apparent from the detailed description of the preferred embodiment thereof, which proceeds with reference to the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • [0009]
    [0009]FIG. 1 is a an illustration of a computer object access control graphical user interface for setting computer locations where a computer object may be accessed and users who may access the computer object.
  • [0010]
    [0010]FIG. 2 is a an illustration of another computer object access control graphical user interface for setting computer locations where a computer object may be accessed and users who may access the computer object.
  • [0011]
    [0011]FIG. 3 is a an illustration of a computer object access control graphical user interface for accessing a computer object computer from a location on a computer or received via computer communication.
  • [0012]
    [0012]FIG. 4 is a flow diagram of a computer-implemented computer object access control graphical user interface method.
  • [0013]
    [0013]FIG. 5 is a functional block diagram of an automatic context association system that automatically determines context associations between user computer activities, computer objects (e.g., files, contacts, etc.), and other events.
  • [0014]
    [0014]FIG. 6 is a detailed block diagram of one implementation of data collection system.
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • [0015]
    [0015]FIG. 1 is a an illustration of a computer object access control graphical user interface 100 for setting computer locations where a computer object may be accessed and users who may access the computer object. The computer object may be a computer file, a computer message, person contact information, etc.
  • [0016]
    Access control user interface 100 may operate, for example, to save a computer object to one or more computer locations, and also to specify sharing of the computer object with one or more other users so that they can access the object. Saving a computer object and setting the sharing of it are together referred to as controlling access to the object, the former referring to where the object may be accessed from and the latter referring to who may access the object. Access control user interface 100 may be generated from within any application or by a computer operating system whenever the access controlling user wishes to save the object to a specified location of share access with a specified other person.
  • [0017]
    Access control user interface 100 includes a name field 102 in which a name for the computer object can be entered, either automatically by a computer or manually by the user. An author field 104 specifies who created the computer object (e.g., a computer file, a computer message, person contact information, etc.) for which access is being set with user interface 100. An optional comment field 106 allows the user who is controlling access to the object (referred to as the access-controlling user) to enter and store a comment about the object, and an optional “more” link 108 gives the user access to optional additional fields for entering other properties relating to the object. The additional fields at “more” link 108 may include any or all of a creation date field indicating when the object was created, a modified field indicating when the object was last modified, any keywords, category names, etc.
  • [0018]
    An access control field 110 includes a listing or display of multiple computer spaces 112A-112F (referred to generally as computer spaces 112) that have or can be selected to have access to the computer object. Computer spaces 112 may refer to different portions of a computer network (e.g., public and private portions or “folders”), different computers, different computer access rights of different computer users, different computer users, etc. User interface 100 provides, therefore, a unified control over access to the computer object at computer spaces corresponding to computer users and computer locations.
  • [0019]
    For example, computer spaces 112A, 112B, and 112F reference computers or other locations on a computer network where access to the object may be provided. Computer space 112A indicates the controlling user's local or desktop computer, computer space 112B indicates the controlling user's portable or laptop computer, and computer space 112F indicates a location on a local or global computer network. It will be appreciated that these particular computer spaces 112A, 112B, and 112F are merely examples.
  • [0020]
    As additional examples, computer spaces 112C-112E reference computer users to whom access to the object may be granted. Computer space 112C indicates an individual (e.g., Coworker1) to whom the object is provided by email. Computer space 112D indicates a group of users (e.g., “Work Group”) to whom the object may be provided, either by computer communication such as email or at a shared computer location. Computer space 112D indicates a group of instant messaging users or “buddies” who could be given access. The users of computer spaces 112C-112E can each be represented by an email address, an instant messaging name, a full name, or any other person identifiers, and specific transports to the users can also be identified or specified. A scroll bar 113 allows the access controlling user to scroll to other selectable computer spaces.
  • [0021]
    Access control indicators 114A-114F indicate whether each corresponding computer space 112A-112F has been selected to have access to the computer object. For example, access control indicators 114A-114C indicate that respective computer spaces 112A-112C have access to the computer object, and access control indicators 114D-114F indicate that respective computer spaces 112D-112F do not have access to the computer object. The access-controlling user provides access to any of computer spaces by graphical activation of the corresponding one of access control indicators 114A-114F. It will be appreciated that access control indicators 114A-114F may be implemented in any of a wide variety of graphical control formats.
  • [0022]
    User interface also includes controls 116A and 116B with which the access controlling user can accept or cancel access control changes, and optionally may include a summary region 118 listing a summary of information from various fields in the user interface.
  • [0023]
    In one implementation, the listing of computer spaces 112 in access control field 110 is ordered as a ranked listing of possible destinations for the computer object. The ranked listing may be based upon the computer spaces that the access-controlling user has most recently accessed or interacted with. In another implementation, the ranked listing may be based on the extent or strengths of associations to the object, such as associations to computer locations commonly used by the user, or people the user commonly works or communicates with, or user computer interactions that are identified automatically. Such associations and their relative strengths could be determined automatically, as described below in greater detail.
  • [0024]
    [0024]FIG. 2 is a an illustration of another computer object access control graphical user interface 130 for setting computer locations where a computer object may be accessed and users who may access the computer object. Access control user interface 130 includes a name field 132 in which a name for the computer object can be entered, either automatically by a computer or manually by the user. An author field 134 specifies who created the computer object (e.g., a computer file, a computer message, person contact information, etc.) for which access is being set with user interface 130.
  • [0025]
    An optional comment field 136 allows the access-controlling user to enter and store a comment about the object, and an optional “more” link 308 gives the access-controlling user optional additional fields for entering other properties relating to the object. An object type field 139 provides a type indication (e.g., graphical) for the computer object, specifying for example that the object is a word processor document, a picture, a spreadsheet, an audio or video file, etc.
  • [0026]
    An access control field 140 includes a listing of multiple computer spaces 142A, 142B (referred to generally as computer spaces 142) that have or can be selected to have access to the computer object. Computer spaces 142 are like computer spaces 112 (FIG. 1) and may refer to different portions of a computer network (e.g., public and private portions or “folders”), different computers, different computer access rights of different computer users, different computer users, etc. Access control indicators 144A, 144B are analogous to access control indicators 114 and indicate whether each corresponding computer space 142A, 142B has been selected to have access to the computer object.
  • [0027]
    Access control graphical user interface 130 further includes a category field 146 that includes a flat listing of categories 148A-148C in which the computer object is or may be selected to be included according to category control indicators 149A-149C. In one implementation, categories 148A-148C of category field 146 correspond to directories or folders of a hierarchical file structure of the type commonly used in the art.
  • [0028]
    The hierarchical file structure, or tree structure, is commonly rendered as successively indented file structure levels for successively nested levels of folders or directories. In the flat representation of category field 146, folders and directories are listed by their names as categories in a single level (i.e., flat) arrangement. This flat arrangement allows multiple folder or directories to be listed efficiently without requiring the display area to render the hierarchical file structure. In another implementation, categories 148 may also or alternatively correspond to keywords for organizing objects. Categories 148 may be ranked or ordered according to the recency with which they have been used or accessed by the user.
  • [0029]
    [0029]FIG. 3 is a an illustration of a computer object access control graphical user interface 150 for accessing a computer object computer from a location on a computer or received via computer communication.
  • [0030]
    Access control user interface 150 includes a query field 152 in which a query can be entered to retrieve one or more computer objects. Query field 152 may be configured to receive a general database-type query (as illustrated) or may be a graphical user interface to a hierarchical tree structure as is known in the art. As a database-type query, query field may receive or accommodate a chunk expression language format, for example.
  • [0031]
    As is known in the art, a chunk expression language format is a pseudo-natural language (e.g., English-like) that can be easily parsed by a computer into a formal query specification language, such as SQL. A sample chunk expression might be:
  • [0032]
    Show every email whose sender is ‘John Smith’ and whose subject contains “patent”,
  • [0033]
    which would be parsed by a computer into a formal query specification language, such as SQL as:
  • [0034]
    SELECT*FROM EMAIL WHERE SENDER=‘JOHN SMITH’ AND SUBJECT LIKE ‘% patent %’
  • [0035]
    In general, a chunk expression might take the form of:
  • [0036]
    Show <selector> <object-type> whose <property> <comparator> <value>*[<conjunction> <property> <comparator> <value>]
  • [0037]
    A recent object field 154 lists in reverse chronological order computer objects 156 that have been accessed by the user. Recent object field 154 includes both objects obtained from computer locations, such a computer files, pictures, audio files, etc., and computer communication objects such as emails or other computer messages, which the user can select to access at access indicators 158. A drop-down control 160 allows a user to access recent past queries.
  • [0038]
    [0038]FIG. 4 is a flow diagram of a computer object access control user interface method 180. User interface method 180 is performed in response to computer software for that is stored in a computer readable medium for performing the steps of method 180.
  • [0039]
    In step 182, a user initiates an access control method for a computer object.
  • [0040]
    In step 184, any computer spaces that have already been given access to the computer object are identified. In FIG. 1, for example, access control indicators 114A-114C may indicate that computer spaces 112A-112C had already been given access to the computer object.
  • [0041]
    In step 186, a ranked listing of plural other spaces that could be given access to the computer object is determined. The ranked listing may be based upon which computer spaces were most recently used or interacted with, or may be based upon associations determined between the computer object and the various computer spaces.
  • [0042]
    In step 188, a computer object access control graphical user interface is rendered on a computer display screen.
  • [0043]
    In step 190, access control entries from an access-controlling user are received into the user interface and accepted by the user.
  • [0044]
    In step 192, access to the computer object is provided to the computer spaces indicated by the user.
  • [0045]
    It will be appreciated that method 180 and user interface 100 could also be used to remove access from one or more computer spaces, such as by the user de-selecting the computer space from the access field of user interface 100. For some computer spaces, such as a computer space corresponding to an email address of another user, de-selecting of access rights might not be feasible because the object has already been transmitted. In this situation, de-selection of the computer space may be indicated as unavailable in the computer space.
  • [0046]
    [0046]FIG. 5 is a functional block diagram of an automatic context association system 200 that automatically determines context associations between user computer activities, computer objects (e.g., files, contacts, etc.), and other events. The context associations allow context association system 200 to provide users with automatic access to related computer files, contacts, and information (referred to generally as objects).
  • [0047]
    As described below, context associations between the objects may include similarities between them and their importance. The importance of and similarities between objects may be determined from user computer interactions with the objects. The user computer interactions may occur on a conventional desktop or laptop computer, or any other user-operated computing device such as a handheld computer, a digital cellular telephone, etc. For purposes of simplicity, these types of devices are referred to herein generally as computers. Context association system 200 may be implemented as software that is stored on and executed by one or more such computers.
  • [0048]
    Context association system 200 includes a data collection system 202 that collects data relating to user computer activities, computer actions, interactions between the user and various computer objects (e.g., applications, files, communications, etc.), and other events. For example, data collection system 202 may collect data relating to computer system events (e.g., the operation of applications or other software elements, various operations on computer files, sharing of computer data or other objects, etc.) computer communications (e.g., email communications, instant messaging communications, etc.), and external data (e.g., news, events, etc.)
  • [0049]
    In one implementation, data collection system 202 may include a system activity monitor 204, for example, that monitors user activity on a user-operated computer (not shown). System activity monitor 204 may be implemented as a computer program to which other applications, or the operating system, provide information of user computer activities, such as search queries, the opening or modification of a document or other file, etc. For example, while objects may exhibit many properties, searches performed by a user and the search results can indicate which properties are most important for the user. For each such activity, system activity monitor 204 creates or adds to a record of information (sometimes called “metadata”) that is stored in a computer system database 206.
  • [0050]
    For example, system activity monitor 204 may include a universal input activity monitor that provides a single entry point for all user interactions with the computer, or at least specified user interactions with the computer. In this universal input implementation, system activity monitor 204 may determine and store as metadata in computer system database 206 any or all of the following: input method data (e.g., text, speech, mouse, etc.), input language data (English, Chinese, etc.), input mode data (e.g., dictation or typed command), input assistance data (e.g., typed word completion, command guessing, etc.), input feedback data (e.g., whether the computer needs additional information, corrections of wrong guesses by the computer, etc.), etc. For instance, if a user copies or stores a picture in a web browser, system activity monitor 204 could store the network address (e.g., Uniform Resource Locator, URL) of the source page, as well as the URL of the image itself, as metadata in computer system database 206.
  • [0051]
    Computer system database 206 stores information (e.g., “metadata”) about computer files stored on and activities carried out on a computer. The metadata may include conventional information, such as is conventional for computer-generated documents, including when the file was created, who created it, and a modification history. Also, some types of computer file types may have specific metadata fields that are not applicable to other file types. For instance, the metadata fields for a photo file type may include the size of the image, where the picture was taken, who took it, who is in it, etc. In one implementation, new metadata fields can be added to database system 206 to accommodate new file types or to store new information about an existing file type.
  • [0052]
    Table 1A lists exemplary information that may obtained by system activity monitor 204 and stored in computer system database 206. With regard to the various computer files and computer information (referred to collectively as objects) a computer user might interact with, system activity monitor 204 may collect data relating to any or all of the creator/author of the object, the type of the object, any pointer to the object (if available), activation events, object size, etc. For example, system activity monitor 204 may obtain the information about the objects with which a computer user interacts, determine whether the objects are new or unique relative to other objects listed in computer system database 206 (e.g., based upon a unique object identifier), and aggregate or store the activities in computer system database 206 in association with the unique object identifier of the object.
    TABLE 1A
    Data Collection and Analysis
    Operationalization
    Constructs Data Collecting Data Processing
    Objects Users Interact With
    General creator/author of object, get information about
    type of object, pointer to objects, determine if
    object if it still exists, new/unique & aggregate
    activation events, object events at level of unique
    size object ID
    People
    people in user's email client aliases
    email
    people in user's contact list files
    contact list
    people users IM, buddy list email aliases
    Chat with
    Communications
    Emails email events (open, close),
    email addresses
    phone messages phone message events
    (open, close), email alias
    instant messages instant message (IM)
    session events (open,
    close), people
    chat messages chat session events
    Files
    any file created, file names, place in
    opened, saved, directory
    played, sent, etc.
    Web items
    web pages URLs
    streaming items URLs
    played
    Notifications type of notification,
    response notification
    Applications pointer to application
  • [0053]
    The objects with which the computer user interacts may be associated with other people, communications with other people, computer files, network or Web items, computer system notifications, and applications run on or accessible by the computer. System activity monitor 204 can obtain and store in computer system database 206 for each of the listed types of exemplary information.
  • [0054]
    Context association system 200 includes a relationship processing system 208 that determine one or more relationships between objects or metadata obtained by data collection system 202 or stored in computer system database 206. In one exemplary implementation, relationship processing system 208 includes a similarity or association system 210 that determines a degree of similarity or association between at least a pair of computer files or objects. Similarity or the degree of association may be represented, for example, as a numeric value between 0 and 1, where 1 would be identity between objects and 0 would indicate they are completely unrelated. Association system 210 may be implemented as one or more programs that, for a given target file and a collection of other files, return a similarity ranking between them.
  • [0055]
    It will be appreciated that different types of documents, files, or objects can have different types of similarity. For instance, two photos can look similar, could be taken at similar times, could be of a similar person, place, or event, could be the same color, could have been sent to the same people or printed together, could be parts of the same photo (e.g., one could have been cut from the other), etc. Table 1B lists exemplary associations or similarities that association system 210 may identify and store in computer system database 206. As indicated, the associations or similarities may relate to objects or files having shared content, occurring at similar times or similar computer locations (e.g., computer, directory, etc.), being sent to or received from a common person, are be linked together.
    TABLE 1B
    Data Collection and Analysis
    Operationalization
    Constructs Data Collecting Data Processing
    Context: Associations between Objects
    Having shared content cut/paste event, insert
    event, objects
    saved as event, objects
    Occurring near in time
    open on same machine at open/close activation distance across
    same time events, objects, date times, overlapping
    time of events sessions
    Occurring near in “place”
    on same machine machine name
    near each other in directory place in directory min number of
    structure jumps through
    tree from one
    to the other
    near each other in web link event, links from, store metadata in
    links to computer system
    database
    on the same email attachment events, aggregate at
    objects level of
    communication
    Being sent/received to one
    another
    item sent to another person sent event, objects
    pointer of item sent to insert event, objects
    another person
    opened by a person open event, objects
    saved by a person save event, objects
    Activating one from within
    the other
    items downloaded from a download event,
    web page objects
    linked via a URL link event, objects,
    link from, link to
  • [0056]
    In one implementation, association system 210 could be instructed to ignore certain types of similarity, or to weight one type of similarity more heavily than another. Moreover, the associations or similarities tracked and identified by association system 210 could be extensible.
  • [0057]
    In addition, objects with which a user interacts can be of a different importance or significance to the user. For instance, a document that a user keeps open and edits of an extended period could be deemed to be of greater importance than a document that is opened for only a brief period of time. Likewise, a photo that is accessed and opened repeatedly could be deemed to be of greater importance that a photo that is only opened once. Table 1C lists exemplary factors by which association system 210, for example, could determine and store in computer system database 206 the relative importance of objects. As indicated, the importance factors may relate to the duration of user interactions, the frequency of interactions, the recency of interactions, as well as the immediacy of user responses, the amount of copying, duplication, and backups, and the extent objects are shared.
    TABLE 1C
    Data Collection and Analysis
    Operationalization
    Constructs Data Collecting Data Processing
    Importance of Objects
    Duration of open and close activation session times calculated
    interaction events, object by min max time/date,
    then summed by object
    keyboard events, mouse summed by object
    events, object
    Frequency of activation events, count of unique
    interaction date/times activations/sessions
    Recency of activation events, get maximum date
    interaction date/times
    Immediacy of difference in time
    response to
    Copying, print, save as, multiple
    duplication, versions
    backups
    Sharing show during meeting, share
    via email, etc.
  • [0058]
    Relationship processing system 208 may further include a chunking system 212 that uses the degrees of similarity or association determined by similarity or association system 210 for an arbitrarily large set of objects or files and groups or “chunks” them into a specified number of sub-groups. For instance, given 200 photos, chunking system 212 could separate them into any number of sub-groups or chunks based on one or more criteria such as the dates they were taken, or who is in the photos, for example. The criteria to be used by chunking system 212 may be pre-defined or specified by a user, for example, and in one implementation can place the same item into several chunks (e.g., a picture of Bob and Sue would go into a Bob chunk as well as a Sue chunk). Chunking system 212 may be implemented as one or more programs stored on the computer.
  • [0059]
    A context association user interface system 216 utilizes information stored in computer system database 206 by system activity monitor 204, as well as information determined by similarity or association system 210 and chunking system 212 to display visualizations 218 illustrating context associations between computer system files, computer information, and other information. Visualizations 218 may be based upon the results of database queries 220 to which, in some instances, data filters 222 are applied. In addition, user interface system 216 can provide application and system notifications 124, as described below in greater detail.
  • [0060]
    Accordingly, context association system 200 accommodates innate human memory, which works by association so that events are often remembered as happening in relationship to other events. In contrast, conventional computer file systems force users to use and remember arbitrary, out-of-context filing structures. With the significant numbers of computer files and objects that many users interact with, conventional out-of-context filing structures can make it difficult, or impossible, for users to find and access computer information that was worked on or viewed in the past. Context association system 200 allows a user to view and assign searchable metadata and to retrieve documents, objects or files that match selected metadata.
  • [0061]
    [0061]FIG. 6 is a detailed block diagram of one implementation of data collection system 202. In addition to system activity monitor 204 for monitoring user computer activity, for example, data collection system 202 can also include any or all of the following, including an event handler 232 through which one or more applications 234 (including other software services) send metadata information about application events to data collection system 202 and receive metadata information about application events from data collection system 202. Applications 234 may be separate from an underlying operating system for the computer, or may be services or features provided by the operating system.
  • [0062]
    A data collection container 236 operates to control system activity monitor 204, event handler 232, and any other data collection modules, and particularly controls data collection relating to system activity, copy and paste between documents, incoming and outgoing messages, opening shared files, etc. In addition, data collection container 236 can operate to obtain or receive common data (like weather, news), other than data relating specifically to operation or use of the computer, from one or more separate computer information sources 238 (e.g., public servers).
  • [0063]
    Applications 234 running on a computer with automatic context association system 200 could register with event handler 232 to receive enhanced document management functionality. In particular, data collection container 236 supports cross-application integration that allows collection of data or information about cross-application events, such as copy and paste between documents, attaching a document to an email message, etc., thereby allowing relationships between objects to be determined or derived by relationship processing system 208. Moreover, applications 234 can interact directly with data collection system 202 to provide contextual information not readily available to system activity monitor 204. For example, if an email attachment is saved to disk as a separate file, the email application 234 may create a link between this file and the original email message (and, by extension, with the message sender). Control system activity monitor 204 and event handler 232 allow data to be collected at high efficiency and at a high granularity level, and with the minimal amount of processing required. In addition, data collection system 202 in one implementation may be extensible to allow for the installation of additional data collectors that may be developed in the future.
  • [0064]
    In one implementation users are notified that the data is collected and what it is used for. Users are provided one or more controls to selectively enable or disable the data collection, or explicitly adjust the importance of objects and their association weights, as described below. In other implementations, the ways in which the data is collected may be modified automatically based on how the data is used. While data is typically collected at the level of an individual user and computer, it will be appreciated that the data from multiple users and their computers could be combined. For such a shared data implementation, system 200 will provide unique identifiers for the data, objects and sessions, consistent handling of to- and from-fields for communications, replication of event identifiers across computers in shared sessions, privacy, and so forth.
  • [0065]
    In accordance with the practices of persons skilled in the art of computer programming, the present invention is described above with reference to acts and symbolic representations of operations that are performed by various computer systems and devices. Such acts and operations are sometimes referred to as being computer-executed and may be associated with the operating system or the application program as appropriate. It will be appreciated that the acts and symbolically represented operations include the manipulation by a CPU of electrical signals representing data bits, which causes a resulting transformation or reduction of the electrical signal representation, and the maintenance of data bits at memory locations in a memory system to thereby reconfigure or otherwise alter the computer system operation, as well as other processing of signals. The memory locations where data bits are maintained are physical locations that have particular electrical, magnetic, or optical properties corresponding to the data bits.
  • [0066]
    Having described and illustrated the principles of our invention with reference to an illustrated embodiment, it will be recognized that the illustrated embodiment can be modified in arrangement and detail without departing from such principles. In view of the many possible embodiments to which the principles of our invention may be applied, it should be recognized that the detailed embodiments are illustrative only and should not be taken as limiting the scope of our invention. Rather, I claim as my invention all such embodiments as may come within the scope and spirit of the following claims and equivalents thereto.
Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US5423034 *Nov 12, 1992Jun 6, 1995Cohen-Levy; LeonNetwork file management with user determined hierarchical file structures and means for intercepting application program open and save commands for inputting and displaying user inputted descriptions of the location and content of files
US5493692 *Dec 3, 1993Feb 20, 1996Xerox CorporationSelective delivery of electronic messages in a multiple computer system based on context and environment of a user
US5544321 *Jun 7, 1995Aug 6, 1996Xerox CorporationSystem for granting ownership of device by user based on requested level of ownership, present state of the device, and the context of the device
US5555376 *Dec 3, 1993Sep 10, 1996Xerox CorporationMethod for granting a user request having locational and contextual attributes consistent with user policies for devices having locational attributes consistent with the user request
US5603054 *Jun 7, 1995Feb 11, 1997Xerox CorporationMethod for triggering selected machine event when the triggering properties of the system are met and the triggering conditions of an identified user are perceived
US5611050 *Jun 7, 1995Mar 11, 1997Xerox CorporationMethod for selectively performing event on computer controlled device whose location and allowable operation is consistent with the contextual and locational attributes of the event
US5760770 *May 15, 1996Jun 2, 1998Microsoft CorporationSystem and method for defining a view to display data
US5812865 *Mar 4, 1996Sep 22, 1998Xerox CorporationSpecifying and establishing communication data paths between particular media devices in multiple media device computing systems based on context of a user or users
US6006225 *Sep 1, 1998Dec 21, 1999Amazon.ComRefining search queries by the suggestion of correlated terms from prior searches
US6098072 *Oct 23, 1997Aug 1, 2000International Business Machines CorporationSource code files in a file directory system having multiple hierarchies representing contextual views
US6401097 *Jan 22, 1999Jun 4, 2002Mccotter Thomas M.System and method for integrated document management and related transmission and access
US6434550 *Apr 14, 2000Aug 13, 2002Rightnow Technologies, Inc.Temporal updates of relevancy rating of retrieved information in an information search system
US6466232 *Dec 18, 1998Oct 15, 2002Tangis CorporationMethod and system for controlling presentation of information to a user based on the user's condition
US6501491 *Sep 21, 1998Dec 31, 2002Microsoft CorporationExtensible user interface for viewing objects over a network
US6507845 *Sep 14, 1999Jan 14, 2003International Business Machines CorporationMethod and software for supporting improved awareness of and collaboration among users involved in a task
US6513046 *Dec 15, 1999Jan 28, 2003Tangis CorporationStoring and recalling information to augment human memories
US6549915 *Jun 6, 2001Apr 15, 2003Tangis CorporationStoring and recalling information to augment human memories
US6553367 *Dec 3, 2001Apr 22, 2003Mercado Software, Ltd.Method for obtaining a unified information graph from multiple information resources
US6618722 *Jul 24, 2000Sep 9, 2003International Business Machines CorporationSession-history-based recency-biased natural language document search
US6747675 *Nov 28, 2000Jun 8, 2004Tangis CorporationMediating conflicts in computer user's context data
US6772150 *Mar 22, 2000Aug 3, 2004Amazon.Com, Inc.Search query refinement using related search phrases
US6791580 *Nov 28, 2000Sep 14, 2004Tangis CorporationSupplying notifications related to supply and consumption of user context data
US6801223 *Nov 28, 2000Oct 5, 2004Tangis CorporationManaging interactions between computer users' context models
US6812937 *Nov 28, 2000Nov 2, 2004Tangis CorporationSupplying enhanced computer user's context data
US6842877 *Apr 2, 2001Jan 11, 2005Tangis CorporationContextual responses based on automated learning techniques
US6901559 *Apr 27, 2000May 31, 2005Microsoft CorporationMethod and apparatus for providing recent categories on a hand-held device
US6990482 *Oct 31, 2000Jan 24, 2006Lockheed Martin CorporationSystem and method for the storage and access of electronic data in a web-based computer system
US7058890 *Apr 23, 2002Jun 6, 2006Siebel Systems, Inc.Method and system for enabling connectivity to a data system
US20010040590 *Jul 16, 2001Nov 15, 2001Abbott Kenneth H.Thematic response to a computer user's context, such as by a wearable personal computer
US20010040591 *Jul 16, 2001Nov 15, 2001Abbott Kenneth H.Thematic response to a computer user's context, such as by a wearable personal computer
US20010043231 *Jul 16, 2001Nov 22, 2001Abbott Kenneth H.Thematic response to a computer user's context, such as by a wearable personal computer
US20010043232 *Jul 16, 2001Nov 22, 2001Abbott Kenneth H.Thematic response to a computer user's context, such as by a wearable personal computer
US20020032689 *Jun 6, 2001Mar 14, 2002Abbott Kenneth H.Storing and recalling information to augment human memories
US20020044152 *Jun 11, 2001Apr 18, 2002Abbott Kenneth H.Dynamic integration of computer generated and real world images
US20020052930 *Jun 27, 2001May 2, 2002Abbott Kenneth H.Managing interactions between computer users' context models
US20020052963 *Jun 27, 2001May 2, 2002Abbott Kenneth H.Managing interactions between computer users' context models
US20020054130 *Jun 11, 2001May 9, 2002Abbott Kenneth H.Dynamically displaying current status of tasks
US20020054174 *Apr 2, 2001May 9, 2002Abbott Kenneth H.Thematic response to a computer user's context, such as by a wearable personal computer
US20020078204 *Jun 25, 2001Jun 20, 2002Dan NewellMethod and system for controlling presentation of information to a user based on the user's condition
US20020080155 *Jun 11, 2001Jun 27, 2002Abbott Kenneth H.Supplying notifications related to supply and consumption of user context data
US20020080156 *Jun 11, 2001Jun 27, 2002Abbott Kenneth H.Supplying notifications related to supply and consumption of user context data
US20020083025 *Apr 2, 2001Jun 27, 2002Robarts James O.Contextual responses based on automated learning techniques
US20020083158 *Jun 27, 2001Jun 27, 2002Abbott Kenneth H.Managing interactions between computer users' context models
US20020087525 *Apr 2, 2001Jul 4, 2002Abbott Kenneth H.Soliciting information based on a computer user's context
US20020099817 *Jun 27, 2001Jul 25, 2002Abbott Kenneth H.Managing interactions between computer users' context models
US20020194164 *Jun 13, 2001Dec 19, 2002Microsoft CorporationAnswer wizard drop-down control
US20030046401 *Oct 16, 2001Mar 6, 2003Abbott Kenneth H.Dynamically determing appropriate computer user interfaces
US20030065724 *Sep 28, 2001Apr 3, 2003Openwave Systems Inc.Managing messages in unified messaging systems
US20030154476 *Feb 21, 2003Aug 14, 2003Abbott Kenneth H.Storing and recalling information to augment human memories
US20040122849 *Dec 24, 2002Jun 24, 2004International Business Machines CorporationAssignment of documents to a user domain
US20050034078 *Apr 14, 2004Feb 10, 2005Abbott Kenneth H.Mediating conflicts in computer user's context data
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US7458030 *Dec 12, 2003Nov 25, 2008Microsoft CorporationSystem and method for realtime messaging having image sharing feature
US7653936 *Jun 25, 2003Jan 26, 2010Microsoft CorporationDistributed expression-based access control
US8201213 *Apr 22, 2009Jun 12, 2012Microsoft CorporationControlling access of application programs to an adaptive input device
US8489634 *Jan 17, 2008Jul 16, 2013Nec Personal Computers, LtdFile access destination control device and method
US9003295Mar 17, 2004Apr 7, 2015Leo Martin BaschyUser interface driven access control system and method
US9129088Jun 4, 2006Sep 8, 2015Leo Martin BaschyUser interface driven access control system and methods for multiple users as one audience
US9176934Apr 15, 2006Nov 3, 2015Leo BaschyUser interface for nonuniform access control system and methods
US9202068 *Mar 28, 2007Dec 1, 2015Leo M. BaschyUser interface for variable access control system
US9256664Jul 3, 2014Feb 9, 2016Palantir Technologies Inc.System and method for news events detection and visualization
US9335911Sep 18, 2015May 10, 2016Palantir Technologies Inc.Interactive user interface for dynamic data analysis exploration and query processing
US9336294 *Sep 4, 2013May 10, 2016International Business Machines CorporationAutonomically defining hot storage and heavy workloads
US9355164Jun 12, 2014May 31, 2016International Business Machines CorporationAutonomically defining hot storage and heavy workloads
US9367872Dec 22, 2014Jun 14, 2016Palantir Technologies Inc.Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures
US9380431Mar 15, 2013Jun 28, 2016Palantir Technologies, Inc.Use of teams in a mobile application
US9383911 *Sep 9, 2009Jul 5, 2016Palantir Technologies, Inc.Modal-less interface enhancements
US9454281Aug 31, 2015Sep 27, 2016Palantir Technologies Inc.System for providing dynamic linked panels in user interface
US9454785Sep 17, 2015Sep 27, 2016Palantir Technologies Inc.Systems and user interfaces for holistic, data-driven investigation of bad actor behavior based on clustering and scoring of related data
US9471249Sep 4, 2013Oct 18, 2016International Business Machines CorporationIntermittent sampling of storage access frequency
US9471250Jun 12, 2014Oct 18, 2016International Business Machines CorporationIntermittent sampling of storage access frequency
US9501851Sep 30, 2015Nov 22, 2016Palantir Technologies Inc.Time-series analysis system
US9514200Jul 31, 2015Dec 6, 2016Palantir Technologies Inc.Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores
US9558352Apr 28, 2015Jan 31, 2017Palantir Technologies Inc.Malicious software detection in a computing system
US9589299May 11, 2016Mar 7, 2017Palantir Technologies Inc.Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures
US9619557Jun 30, 2014Apr 11, 2017Palantir Technologies, Inc.Systems and methods for key phrase characterization of documents
US9646396Jan 14, 2015May 9, 2017Palantir Technologies Inc.Generating object time series and data objects
US20040239700 *Mar 17, 2004Dec 2, 2004Baschy Leo MartinUser interface driven access control system and method
US20040268146 *Jun 25, 2003Dec 30, 2004Microsoft CorporationDistributed expression-based access control
US20050086244 *Dec 3, 2004Apr 21, 2005Paul MorinvilleMatrixed organization apparatus
US20050132288 *Dec 12, 2003Jun 16, 2005Kirn Kevin N.System and method for realtime messaging having image sharing feature
US20050262054 *May 18, 2004Nov 24, 2005Nokia CorporationItem type specific structured search
US20060048068 *Aug 31, 2004Mar 2, 2006Michael DanningerMethod and system to facilitate access to a user interface element on a user interface
US20060074904 *Sep 30, 2004Apr 6, 2006Mungara Ajay MContent delivery rendering engine
US20060080278 *Oct 7, 2005Apr 13, 2006Neiditsch Gerard DAutomated paperless file management
US20060129746 *Feb 25, 2005Jun 15, 2006Ithink, Inc.Method and graphic interface for storing, moving, sending or printing electronic data to two or more locations, in two or more formats with a single save function
US20060253771 *Apr 15, 2006Nov 9, 2006Niresip LlcUser Interface For Nonuniform Access Control System And Methods
US20070234218 *Mar 28, 2007Oct 4, 2007Niresip LlcUser Interface For Variable Access Control System
US20100070897 *Sep 9, 2009Mar 18, 2010Andrew AymelogluModal-less interface enhancements
US20100114959 *Jan 17, 2008May 6, 2010Takahisa ShirakawaFile access destination control device, its method, and its computer program products
US20100275218 *Apr 22, 2009Oct 28, 2010Microsoft CorporationControlling access of application programs to an adaptive input device
US20110307831 *Jun 10, 2010Dec 15, 2011Microsoft CorporationUser-Controlled Application Access to Resources
US20120322041 *Dec 20, 2011Dec 20, 2012Weisman Jordan KMethod and apparatus for producing and delivering customized education and entertainment
US20130080966 *Feb 27, 2012Mar 28, 2013Microsoft CorporationUser experience for notebook creation and interaction
US20140164940 *Dec 7, 2012Jun 12, 2014Displaylink (Uk) LimitedApplication windows and display devices
US20140173463 *Jul 29, 2011Jun 19, 2014April Slayden Mitchellsystem and method for providing a user interface element presence indication during a video conferencing session
US20150066960 *Sep 4, 2013Mar 5, 2015International Business Machines CorporationAutonomically defining hot storage and heavy workloads
Classifications
U.S. Classification1/1, 711/150, 711/204, 707/999.008
International ClassificationG06F7/00, G06F17/30, G06F21/00, G06F3/00, G06F12/00, G06F
Cooperative ClassificationG06F21/6218
European ClassificationG06F21/62B
Legal Events
DateCodeEventDescription
Jun 26, 2003ASAssignment
Owner name: MICROSOFT CORPORATION, WASHINGTON
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MARCJAN, CEZARY;CHENG, LILI;TURSKI, ANDRZEJ;REEL/FRAME:014257/0257
Effective date: 20030626
Jan 15, 2015ASAssignment
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001
Effective date: 20141014