US20150186369A1 - Method and System for Dossiers for Data Units - Google Patents
Method and System for Dossiers for Data Units Download PDFInfo
- Publication number
- US20150186369A1 US20150186369A1 US14/579,029 US201414579029A US2015186369A1 US 20150186369 A1 US20150186369 A1 US 20150186369A1 US 201414579029 A US201414579029 A US 201414579029A US 2015186369 A1 US2015186369 A1 US 2015186369A1
- Authority
- US
- United States
- Prior art keywords
- data
- user
- data unit
- dossier
- processor
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G06F17/30017—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/156—Query results presentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/168—Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/483—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5846—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/5866—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G06F17/211—
-
- G06F17/22—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1815—Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
Definitions
- the plurality of data units are stored on a plurality of electronic devices.
- the plurality of data units are accessible through a plurality of platforms.
- the plurality of data units are a plurality of different data types.
- the method further includes determining, by the processor, for a first data unit accessible through a first platform, connection data between the first data unit and a second data unit accessible through a second platform.
- the method further includes generating, by the processor, a dossier for the first data unit, where the dossier includes representative information of the first data unit and the connection data.
- An illustrative apparatus includes a memory, a processor operatively coupled to the memory, and a first set of instructions stored on the memory and configured to be executed by the processor.
- the processor is configured to identify a plurality of data units associated with a user.
- the plurality of data units are stored on a plurality of electronic devices
- the plurality of data units are accessible through a plurality of platforms.
- the plurality of data units are a plurality of different data types.
- the processor is further configured to determine, for a first data unit accessible through a first platform, connection data between the first data unit and a second data unit accessible through a second platform.
- the processor is further configured to generate a dossier for the first data unit, where the dossier includes representative information of the first data unit and the connection data.
- a non-transitory computer readable medium has instructions stored thereon that, upon execution by a computing device, cause the computing device to perform operations, where the instructions include instructions to identify a plurality of data units associated with a user
- the plurality of data units are stored on a plurality of electronic devices.
- the plurality of data units are accessible through a plurality of platforms.
- the plurality of data units are a plurality of different data types.
- the instructions further include instructions to determine, for a first data unit accessible through a first platform, connection data between the first data unit and a second data unit accessible through a second platform.
- the instructions further include instructions to generate a dossier for the first data unit, where the dossier includes representative information of the first data unit and the connection data.
- FIG. 1 is a flow diagram illustrating a method of smart analysis of contacts across a plurality of devices in accordance with an illustrative embodiment.
- FIG. 2 is a flow diagram illustrating a method of smart analysis of contacts using ranked data in accordance with an illustrative embodiment.
- FIG. 3 is a block diagram illustrating a computer that can be used to generate dossiers for data units in accordance with an illustrative embodiment.
- FIG. 4 is a representation of a graphical user interface (GUI) displaying the smart analysis results and dossiers in accordance with an illustrative embodiment.
- GUI graphical user interface
- FIG. 5 is a representation of a GUI demonstrating a theme based dossier view in accordance with an illustrative embodiment.
- FIG. 6 is a representation of a GUI demonstrating an e-mail interface showing a dossier relating to a contact in accordance with an illustrative embodiment.
- FIG. 7 is a representation of a GUI demonstrating a dynamic birds-eye view of various dossier summaries in accordance with an illustrative embodiment.
- FIG. 8 is a representation of a GUI demonstrating a photo view overlay dossier of a dynamic birds-eye view of a user's data in accordance with an illustrative embodiment.
- FIG. 9 is a block diagram illustrating various computing and electronic storage devices that may be used in accordance with an illustrative embodiment.
- FIG. 10 is a flow diagram illustrating a method of generating a dossier for data units in accordance with an illustrative embodiment.
- FIG. 11 is a flow diagram illustrating a method of generating an ontology of data units and ranking the data units in accordance with an illustrative embodiment.
- a user may have various data units of different types, for example documents, e-mails, messages, images, videos, and/or contacts.
- the various data units may be stored on many different electronic devices and may be accessible through a variety of platforms.
- some documents may be stored as files accessible by a particular word processing software, such as Google DocsTM or Microsoft WordTM.
- certain messages may be accessible through other platforms.
- Text e.g., short message service or SMS
- Chat messages may be accessible through a social network such as FacebookTM.
- Other messages may be accessed through platforms such as an e-mail exchange or messaging applications (apps) such as GroupMeTM or WhatsAppTM.
- Contacts may be accessible through a phone's contact list, an e-mail accounts contact list, or other type of contact list.
- the system may determine contacts and assemble its own contact list based on messages and/or e-mails sent to or from a user.
- the system may also find contacts by searching a social network for contacts, including contacts' contact information that may be listed on the social network.
- the various data units of or related to a user may be stored on a plurality of electronic devices.
- devices where electronic files may be stored may include a smart phone, a tablet, a laptop computer, a smart television device, removable storage such as a universal serial bus (USB) drive or a secure digital (SD) memory card, a desktop computer, a cloud storage server or servers, a digital camera, a wearable computing device, or any other electronic device capable of storing electronic files.
- USB universal serial bus
- SD secure digital
- a system may also determine for a first data unit accessible through a first platform, some connection data between the first data unit and a second data unit.
- an e-mail may be associated with the contact information of the originator or sender of the e-mail.
- the system may establish or determine that a connection exists between the e-mail and the contact.
- this connection may be established across multiple platforms and/or devices. For example, a text message on a user's phone from a contact named “Amy T.” may be determined to be connected to a person named “Amy Timothy” that is friends with the user on a social network such as FacebookTM. The connection between “Amy Timothy” on the social network and the text message on the phone can be used to aggregate data in helpful ways.
- information regarding the text message can be used to generate a dossier relating to the first data unit, here the text message.
- the dossier may be generated regarding a particular contact and may include information regarding a myriad of messages to/from that contact.
- a dossier may be generated for a particular document, which could include connections regarding who has modified the document, who sent the document to the user, as well as information about the document itself (type, size, name, subject matter, etc.).
- the dossier may be used to synthesize large amounts of information to make it easier for a user to deal with large amounts, of messages, contacts, data, documents, etc. that are spread among multiple online platforms, devices, and data types.
- the system may generate a dossier related to a particular contact, such as “Amy Timothy” mentioned above.
- the dossier may include relevant representative information of the contact, such as name, contact information, job title, and any other representative or descriptive information regarding the contact. Such information may be gleaned by the system, for example, when the system determines that “Amy T.” in the user's phone is the same as “Amy Timothy” from the social network.
- the system can then link additional information about Amy from the social network to texts that Amy has sent/received. Furthermore, any other interactions with Amy beyond the text messages can also be documented and summarized in the dossier.
- the system can aggregate the information regarding data units in helpful ways. For example, the system can determine which contacts a user most often corresponds with total across a variety of platforms. Additionally, the system can determine which mediums, platforms, devices, etc. the user has interacted with a particular contact through more often. That is, the system can quantify exactly how and with whom a user is interacting.
- a dossier of a contact may also include information regarding documents or files that the user and the contact have collaborated on, sent and/or received from each other, documents that the contact is mentioned in, etc. In other embodiments, a dossier may be directed to a document itself. The dossier may then include information about who has modified the document, send/received the document across multiple platforms, etc.
- a dossier about a document may include information about similar documents. For example, the system may recognize themes or subject matters in the name or content of a document. The system may then find similar themes or subject matters relating to other documents or data units and determine connection data between the two documents. The system can then include information about those other related documents or data in the dossier of the first document. In another example, the system may recognize connections for a dossier such as common authors of different data units or proximity of creation and/or modification time for data unit.
- a dossier may be assembled that relates to a particular theme.
- the system may assemble all data units such as contacts, documents, images, videos, and/or messages that are related to work into a dossier.
- Other examples of themes that dossiers are assembled for may include a hobby, a period of time, particular subject matter such as a vacation or tag such as a hash tag, particular electronic device(s), cloud storages or combinations of electronic devices and/or cloud storages, etc.
- connections and aggregate connections inherent in generating and assembling dossiers can yield information that can be used to rank the subject matter of different dossiers.
- contacts can be ranked by the system using the dossiers of contacts to determine which contacts are favorites or preferred by a user.
- Information relating to a favorite or preferred contact may be displayed on a graphical user interface (GUI) more prominently than information from a non-favorite contact.
- GUI graphical user interface
- the dossier of a data unit may also include information such as tags relating to the data unit.
- a tag may be already present as metadata of a data unit and can be included in a dossier.
- the system may generate tags for the data unit.
- a generated tag may indicate any of the information disclosed herein such as author, originator, sender, theme, preference, contact, date or time, rank, priority, preference, or other information relating to a data unit.
- a user may define a tag for a data unit.
- a tag may also be determined by the system based on a determined connection between a first data unit and a second data unit.
- the system may also utilize a generated dossier or dossiers to make recommendations to a user. For example, the system may determine that a message or messages from a particular contact have not been responded to by the user. The system may even determine a particular request that the contact has made of the user.
- a recommendation may be based in whole or in part on a data unit's ranking, which may be determined as disclosed herein. For example, if a user is searching the system for “Irish Music,” the system may recommend a song that was mentioned in a chat with a highly ranked contact over other music stored on the user's hard drive that merely has metadata that indicates that a particular song is of the Irish genre.
- the system may display a single dossier on a graphical user interface (GUI).
- GUI graphical user interface
- the system may display multiple dossiers on a GUI.
- some dossiers may be displayed more prominently or in more detail than others.
- the more prominently displayed dossiers may be selected by the system to be displayed more prominently based on rankings or preferences that the system determines as disclosed herein.
- the system may also determine an accessibility level of a data unit, which may be included in the dossier of the data unit.
- the system may determine accessibility level data such as a type of electronic device a data unit is stored on, a file type of a data unit, a software application type utilized to display or modify a data unit, a size of the data unit, and/or an availability to the processor of a data unit (that is, is the location where the data unit is stored currently accessible.
- Such information may be displayed on a GUI as part of a dossier.
- the information may be used to determined preferences and rankings of data units. For example, data units with lower accessibility levels may not be highly ranked.
- the accessibility level may be impacted by what applications are needed to partially or fully access/modify a data unit (and whether that application is available on the device the user is currently using).
- the availability level may be determined in real time based on factors like what device the user is currently using. This may change the dossier, and subsequently recommendations and rankings depending on what device the user is using at the time.
- the system may also take into account other real time criteria when generating dossiers and calculating rankings and making recommendations. For example, the system may, as discussed above, determine a preferred contact address or mode for a particular contact. However, in an alternative embodiment, the system may determine that a user prefers to interact with that particular contact using text messaging when the user is using a phone, while the user prefers e-mail when a laptop computer is being used. Accordingly, the system may determine different connections regarding different electronic devices.
- the system may also include a preview of a data unit in the dossier (particularly if the dossier is displayed on a GUI).
- the dossier may display the contacts name, a recent message exchange with the contact, and the preferred method or methods of contact with the contact.
- the data unit may be an electronic file such as a spreadsheet or a song.
- the preview may include an icon indicating the file type and the name of the file.
- systems and methods as disclosed herein can effectively manage data shared between such devices.
- the systems and methods disclosed herein address platform content access, distribution, and synchronization of data units/files, while managing the data units/files as well.
- the systems and methods disclosed herein better effectuate such platform content access, distribution, and synchronization, while at the same time managing the data itself so as to make more effective use of available cloud-based solutions.
- the systems and methods disclosed herein provide for utilizing multiple, yet interconnected, devices while making file organization over such devices and systems easy for a user.
- the embodiments disclosed herein provide a convenient one-stop (unified) access to multiple forms of personal data.
- the embodiments facilitate a unified catalog of personal files across all devices, as well as an ability to view or play files locally or remotely.
- the embodiments disclosed herein provide file and/or data management functionality, such as opening, copying, moving, deleting, archiving, sharing, and editing.
- the embodiments disclosed herein also provide search functionality.
- the search functionalities disclosed herein expand searching beyond file name searching. This may be helpful where, for example, files arrive in e-mail or are shared online or by other means and have a computer generated file name.
- the embodiments disclosed herein can examine the metadata for full-text content utilizing a fuzzy search, within the meaning according to different ontologies, etc.
- a repository of data will not be stored in the cloud for users concerned about privacy and security issues.
- some embodiments may include no indexing or cataloguing of data in the cloud to ensure data protection, theft protection, corruption, integrity of data, and related issues with cloud based repositories. Further, some embodiments may keep no file catalogue or full theft index in the cloud.
- the architecture envisioned can either utilize or not utilize a mirrored or master copy of the index/catalogue data in the cloud.
- a mirrored or master copy of the index/catalogue data in the cloud may be stored and indexed locally on the client side to facilitate local control of the index.
- such an arrangement may be considered a peer-to-peer index and data synchronization process.
- the embodiments disclosed herein provide search and data management functionality over an entire available range of data storage mediums and systems of exchange between devices.
- various embodiments disclosed herein promote (a) disclosure, (b) manage, and (c) search information functionality for data units such as (1) locally stored files, (2) offline files, (3) cloud-based files, (4) e-mail information (whether stored locally, offline, or remotely), (5) instant message/short message format information (again stored in a variety of locations), (6) social media feeds, (7) contact information, (8) other type of content including but not limited to dictionaries and encyclopedias, tasks, calendars, etc.
- the term data unit may refer to any type of electronic file (and similarly wherever files are mentioned herein a file is also a data unit).
- An illustrative embodiment includes a distributed platform and a client application that allows users to have very easy access to their files and e-mail (and those associated data units).
- the embodiment brings together all user information sources available in the user's network, including local and cloud sources, external devices, social networks, e-mail, and telephone communications.
- the embodiment allows for data management, which may be configured to be seamless and automatic. For example, one of the user's devices may be running out of available storage space on a particular data medium. The system may make the decision to migrate data in order to free space, or perform backup operations.
- the system may also analyze a user's e-mails and clear up the user's disorganization in contacts. Namely, the system may assign heuristically photos (or avatars) to any contacts of the user. For example, an avatar may be selected after a connection as disclosed herein is made. For example, the system may connect a contact to a profile on a social network. The system may use a picture (presumably) of the contact from the social network profile as an avatar for the contact. The system may also obtain the photos or other information about the contacts from the user's social networks. For example, the system may obtain the 50 most active contacts with whom the user had communications in the last six months and may search for their e-mail addresses in a first social network.
- the system may also use other criteria to search for the contacts in the first social network, such as name or other data relating to a contact that the system may be able to glean from e-mails from the contacts or information manually entered by the user relating to the contacts. If the system fails to find such persons in the first social network, the system may move to a second social network and search for the contacts there using similar methods. The system may also locate contacts on social networks by searching for similar names to the contacts among friends of the user (such methods may include transliteration and fuzzy search functionality).
- a kind of dossier can be assembled for each contact as disclosed herein. That is, the system can associate documents, files, e-mails, photos, etc. with each of the user's contacts. The system may also identify among all of the user's e-mail addresses, e-mail addresses that are preferred for e-mailing a contact, e-mail addresses that are not preferred for e-mailing a contact, and any wrong e-mail addresses (either e-mail addresses that are not valid or e-mail addresses that are not properly associated with the correct contact). The system may also add comments to e-mail addresses. Similarly, the system may clean up phone numbers on a contact list by analyzing the history of the user's SMS correspondence and phone calls. The system may also associate phone numbers with e-mail addresses that belong to the same contact.
- the system can analyze actual correspondence and make a brief summary of the user's relationship with a contact. For example, the system may determine the main theme of the correspondence, the degree of importance to the user of the contact or correspondence, or recommendations based on a particular correspondence. For example, a recommendation may be based on an e-mail from several months ago that asked the user for information, but has not yet been responded to. Such recommendations may be configurable by a user, or turned on and off by a user. In this case, the system may recommend that the user write a response, and the system may further prompt the user to include an answer to the specific inquiry in the original correspondence from several months ago. Any length of time used to determine a recommendation may also be configurable by the user.
- the system may note that a family member's birthday or anniversary is approaching, and the system may therefore alert the user to send them a message.
- the user may further be able to configure how long before such a birthday or anniversary the user should be alerted by the system.
- the user may further specify which family members or other contacts recommendations for special events like birthdays and/or anniversaries should generate alerts.
- the system may determine that a user has not sent an e-mail to a grandparent in two months. The system may send the user an alert that the grandparent should be e-mailed, which again can be fully configurable by the user.
- the system could generate a recommendation to correspondences that request a response (RSVP) for an event.
- RSVP response
- a recommendation may be made is if correspondence indicates that the user owes someone money.
- the system may send such recommendations to the user in a variety of ways.
- the system may send the user a short message service (SMS) message, an e-mail message, a FacebookTM message, or other type of message that includes the recommendation.
- SMS short message service
- the recommendations could also be added to a calendar, task list, or reminder list for the user.
- the recommendation could comprise an icon displayed along with the e-mail message.
- contact may refer to an individual or an organization.
- an organization may be an ontological object.
- Dossiers as disclosed herein may be created for ontological objects.
- the methods and system disclosed herein perform ranking operations to automatically rank contacts. This ranking may be performed using a variety of analyses. A ranking may be calculated on a semantic analysis of the user's correspondence with the contact, which may take into account characteristics such as the frequency of an activity like the frequency of letter sending, and a user's response time or response rate. The ranking may also be calculated based on background information about the contact.
- Such background information may include factors like closeness/relation/degree, company, position, and so on, from sources like social networks (e.g., number of friends, number of mutual friends, number of followers, etc.), content of the messages themselves (e.g., email signature), telephone communications (e.g., frequency of telephone calls and message exchange).
- the ranking may also be calculated based on other specific information that indicates that the contact is important. For example, the user herself may create her own tags in the system. Tags may be created to correspond with varying entities, such as organizations, persons, projects, places, and dates. If the user creates a specific tag (such as for an organization), the systems and methods of the illustrated embodiments may implement varying hypotheses.
- the systems and methods disclosed herein may assume that this tag is more important to the user since the user created it herself. Moreover, the systems and methods disclosed herein may make certain associations automatically (i.e., the organization in the email address from whence the email originated is associated with the sender of the email, such as an employee) and query the user to verify these associations.
- watchdog tags may be implemented in which the user may note some query as the watch tag.
- the system may then copy all of the search results to a special folder that is not visible to the user. These search results may renew periodically. For example, when changes in the folder are detected, the user may then receive notifications concerning these changes.
- a tag may be associated with a contact that has a high ranking.
- the system may analyze the user's contact ratings and send the user short message service (SMS) notifications about a letter from a person with a correspondingly high rating. Based on the contact's rating, the system can decide on what the user should be reminded of. Differing types of activities may be assigned a higher ranking and/or priority, such as an assignment made to an individual or a task that is assigned to the user. For example, if the contact is very high ranking, the notification might have the contents of the message in it. If the contact is only somewhat highly ranked, the system may only notify the user that a message has been received.
- SMS short message service
- a user may have received an email from “Pete.”
- the user may wish to find the email he recollects, however, he is unsure from which account or location the email may have originated.
- the system addresses this issue by merging all available information in the user's network, including emails, social accounts, and other related information. For example, dossiers may be used to merge information. For every contact, a unique ID may be initiated that corresponds to the contact in the system.
- the system parses through all of the available information, and performs such merging operations on predefined rules, such as names similarity, email similarity and other information. Following this merger, the system may then query the user to verify that each of the instances found in the user's network should be associated with the unique ID.
- the user may be able to specify differing ID's for portions of the identified information.
- Such predefined rules may vary according to the information being parsed. Such functionalities may be applied in a variety of scenarios.
- the system may utilize additional information such as logos, product descriptions, employee information, and the like to perform merger operations.
- project tags the system may group e-mail communications, analyze the time that the communications were received/sent, and other information to organize information based on a particular project tag.
- a unique ID and/or project tags may be associated with a particular dossier for a particular data unit, theme, or ontological object.
- search results may also be grouped together, particularly as they are displayed on a GUI.
- search results may be grouped together by type of electronic file, date of creation, date of last modification, identity of author, identity of last modifier, and/or other various criteria.
- a cluster or group may also be organized based on the relative calculated ranks of the electronic files.
- the groups or clusters of search results may be displayed as groups on the GUI and as will be further disclosed herein. When clusters of search results are displayed, little information about the individual electronic files may be displayed in the cluster. For example, a cluster may be based on the year in which the electronic files were created. In this example, the year an number of search results represented by the cluster or group may be displayed. The user may interact with the cluster or group that is displayed, and the system will then display more information related to the search results in that cluster. Such information may include representative information and the information may be presented based on ranks as disclosed herein.
- the system may display a general cluster, like the one described previously with regard to files that were created in the same year.
- ranks are used to determine how that information is displayed.
- Electronic files that have higher ranks may have representative information regarding the files displayed individually, so that the user can view details about each of the most highly ranked files. For lower ranked files, little or no representative information may be displayed initially. Instead, the system may display a sub-cluster or subgroup that represents several of the lower ranked files. The user may further interact with the sub-cluster or subgroup to display representative information relating to the lower ranked files.
- the system may assign higher ranks to electronic files that have previously been designated as important by the user. For example, if a user has backed up a particular file by copying it to a cloud storage device, that file may be considered more important to the user, and thus would be ranked higher, than a file that has never been backed up by the user. Similarly, a file that has been moved by a user from one device to another may be considered either more or less important to a user for ranking purposes. In another example, if a file has ever been attached to an e-mail or other message, the system may consider it more important to a user than a file that has never been attached to a message.
- the ranking system disclosed herein may also be utilized to determine an optimal storage strategy for electronic files. For example, if a particular device has a memory that is full or has reached a certain threshold, the system may determine particular files on that device that should be relocated. The system may use the ranking system to determine which files to relocate. In one embodiment, the system may relocate file associated with relatively high rankings. In another embodiment, the system may relocate files associated with relatively low rankings.
- the systems and methods disclosed herein incorporate an innovative end-to-end search (wider than a typical user search query) for all mail, contacts, devices, and locations where user information may be stored. In such a search functionality, precision and recall may be superior due to the following example implementations.
- Searching as disclosed herein may be performed to generate a dossier. Such searches may be performed automatically by the system, or the system may create dossiers based on user searches and search terms. A search may be based on natural language and meaningful information may be extracted from the email and metadata.
- the search may be based on the involvement of background information, which does not exist in the actual desired letter or document, but may be extracted from the previous history of correspondence, from external sources (e.g., FacebookTM, LinkedInTM, WikipediaTM, etc.), or from a dossier—a company's ontology, geographies, etc. which are built during the historical correspondence.
- background information which does not exist in the actual desired letter or document, but may be extracted from the previous history of correspondence, from external sources (e.g., FacebookTM, LinkedInTM, WikipediaTM, etc.), or from a dossier—a company's ontology, geographies, etc. which are built during the historical correspondence.
- a user may have forgotten the name of an architect with whom she is in sporadic contact.
- the user may make a search query: “looking for a sample wall finishing, which a designer sent to me.”
- An example system may find such a document even if the picture has been sent as a file attachment with the name P7272812.jpg (a title with no obvious meaning) and the letter in which the file was received contained a single word “Stucco” and no signature.
- Sender is indicated as “a5067834@hotmail.com” (again an ambiguous title).
- the system may identify that a5067834@hotmail.com—is associated with a “designer,” because in a previous correspondence they discussed drawings and floor plans.
- Search terms can also be extracted from common knowledge (synonymous/homonymous narrowing/broadening of the search).
- fuzzy search phonetic search, and/or search with the transliteration may be used.
- Indexed links that are sent in a message body may also be included.
- a user may not find a desired file or set of files because the user thinks that they sent files as email attachments, when the files were actually sent as a link to a file sharing site like DropboxTM.
- DropboxTM e.g., an HTML address or remote storage server address, etc.
- the current systems and methods could locate the link based on context.
- a search may be run on letters and attachments, and also through the files on all of a user's devices.
- data to or from each contact can be automatically assigned a rank of importance.
- Dossiers or the information in dossiers may be ranked as disclosed herein.
- the rank of importance could be represented by a number, such as a number from 1 to 100.
- the rank of importance could also be a high, medium, or low categorization. Other ways of ranking may also be used.
- the user may change the ranking system manually, and may also change the rank of particular data manually.
- the ranks of importance for data may be used to determine how to visualize the incoming messages and e-mails from different contacts. For example, messages from higher ranked contacts or related to higher ranked conversations may be displayed by the system more prominently than other messages.
- the system may extract a contact's possible past and current places of employment. In this way, the system may build an ontology of the people and companies with whom the user has been corresponding and contacting.
- the system may analyze a user's e-mails, the user's contacts' ratings, the user's telephone communications and the like to simplify and organize the user's tasks.
- the system may implement a series of alerts, follow-ups, reminders (as well as by means of SMS), and the like, some of which may be generated based on the preceding discussion.
- the system can also identify the promises that the user once gave to e-mail recipients and prioritize and categorize them by identifying certain tasks or e-mails that the user needs to do or write today.
- the system can also be configured to generate tasks or e-mails that the user needs to do or write within other time periods, such as three days, one week, two weeks, or one month as just some illustrative examples.
- the system can also identify the promises that someone once gave the user in the correspondence and prioritize and categorize them by identifying the most important cases or e-mails where someone promised to do something for the user.
- the system may also be configured to create a draft letter reminding these contacts on the user's behalf that something is owed to the user as previously promised. Such a draft letter may include a copy or a quotation from the original correspondence where something was promised.
- the system may generate messages or recommendations to the user based on the user's usage and interaction with the system. For example, by analyzing content and user behavior with respect to folders and information sources, the system may jokingly inform the user in a natural language form about the user's activities with respect to the source. For example, when user hovers over a folder the system may gently and jokingly informs him, “You haven't opened this folder for ages.”
- a user may wish to find a presentation, but does not recall the name of the file and does not remember the name of the file's location.
- the file may be located on the user's personal laptop or their work laptop. The user does remember that the file was prepared for John Smith, and that the presentation contained a red pie chart diagram.
- the user may selects a files tab.
- the system may then display to the user a complete file tree hierarchy of files on all of the user's devices. The user may browse the file tree hierarchy or may utilize a search field.
- the user can type any text, and view the results in a linear form with a preview of the text.
- a small thumbnail preview of each file that is returned in the search results can be viewed on a GUI. Adjacent to the thumbnail is displayed a larger preview of the file.
- the user may type “presentation prepared for John Smith and it had a red pie diagram,” for example.
- the software moves to an index of electronic files stored across user's devices and attempts to find the words “red pie diagram.”
- the system may also look to metadata that has been extracted from electronic files. If the system finds “chart” or “diagram” in the metadata of certain electronic files, those electronic files are displayed to the user more prominently in the GUI.
- the system may also track if a particular document was sent to persons with the name of “john” and/or “smith.” Those documents may also be displayed more prominently than other documents merely containing the words “chart” or “diagram.”
- the systems and methods disclosed herein also can find such files and documents when a significant number of files are stored directly as attachments to emails, rather than downloaded onto a particular device.
- the embodiments disclosed herein, through the metadata search and other functionality, are able to identify such files easily.
- any of these searching methods may be accompanied by the methods and systems disclosed herein for ranking and displaying on a GUI the search results.
- the file may be located on the user's remote work computer.
- the user may wish to edit the document and send it to his manager. If the user attempts to open this remote file, the system can make a local physical copy of the file, and the user can work safely without worry about being disconnected from the network and losing the user's edits. However, the system retains the document as one logical file, and when the user is finished editing, the system will update the original copy.
- the system also attempts to make use of available local applications to execute the file, though where that is not possible, remotely located applications may be utilized.
- the system also allows any files to be moved, deleted, renamed, and copied in any personal cloud.
- the actions may be immediately executed if the device the user is using and the device where the file of interest is stored are both online.
- being online means being connected to the internet.
- being online as disclosed herein means that the two devices are able to communicate with each other, either through the internet or otherwise. If the devices are not online, some operations can be ordered with deferred execution. Such a process may prevent the need for people to constantly think about backing up files. Utilizing various mechanisms of the illustrated embodiments, the user can forget the problem of back-ups.
- the system simply communicates the system folders and files that are important to the user, and asks the system to always store three physical copies in different locations.
- the system keeps track of the fact that these folders have at least three replicas.
- the user can buy a new device, log into the cloud-based server using their e-mail address, and simply ask to restore the data to the new device.
- the user may designate those files and folders that he does not wish to be indexed.
- the representative information of electronic files displayed by the system may include information relating to where and how the electronic files are stored.
- the representative information may include an indication that the file is stored on a particular device or in a cloud storage system.
- the representative information may also include an indication of whether the file has been backed-up or not.
- the representative information may also include the location of a backed-up copy of the file.
- the representative information may also include an indication of whether the device where the file is stored is online or offline.
- the system may indicate the status of both devices.
- the system may only indicate enough about the status of the devices to indicate whether the file is available for opening and/or editing.
- the system may indicate on a GUI that the device where the file is stored is online, because the user's actual access to the file is not hindered by one of the devices being offline.
- Other status's than online and offline may also be indicated by the system.
- the connections speed or status of a device may be indicated.
- a passive or active status may be indicated. Such a status may be relevant if a computing device has a standby, sleep, hibernate, or screen saver mode that restricts remote access to the memory of the device.
- a device status instead of online or offline which indicates communication between two devices over a network, a device status may be connected or unconnected.
- This may be useful for a secure digital (SD) card, portable hard drive, or USB storage device, where the devices are connected directly to a computing device rather than communicating with devices over a network.
- Other potential statuses that may be indicated by the system about a computing device may include a currently operational status, a currently non-operational status, or a set in a lower functional mode status.
- the representative information relating to the file can be displayed.
- the smart analysis of the content includes searching and parsing through all of the content related to the contacts of the user to seamlessly organize the content for display.
- the content includes at least the email data and the files, multiple social networks, data structures, email addresses, signatures of the email data, messages, SMS data, phone calls, text messages, video files, audio files, and images.
- the analyzed content and summary may be displayed in a visual representation in a window of a Graphical User Interface (GUI), wherein the visual representation is visually multi-platform with other visual representations of the information from the plurality of devices to the user.
- GUI Graphical User Interface
- aspects of the embodiments disclosed herein may be embodied as a system, method or computer program product. Accordingly, aspects of the embodiments disclosed herein may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the embodiments disclosed herein may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
- a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
- a computer readable storage medium may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
- Computer program code for carrying out operations for aspects of the embodiments disclosed herein may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
- the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- LAN local area network
- WAN wide area network
- Internet Service Provider an Internet Service Provider
- These computer program instructions may also be stored in a computer readable medium that may direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
- FIG. 1 is a flow diagram illustrating a method 100 of smart analysis of contacts across a plurality of devices in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different operations may be performed. Also, the use of a flow diagram is not meant to be limiting with respect to the order of operations performed.
- an operation 102 the method 100 beings.
- an operation 104 content of email data and files of the contacts of a user are analyzed for organization of the content. In other words, the system can examine the actual text of an e-mail as well as the other information related to an e-mail, such as date, sender, receiver, etc.
- Analyzing the content includes searching and/or parsing through all of the content related to the data units including contacts of the user to seamlessly organize the content for display.
- the content includes at least the email data and the files, a plurality of social networks, data structures, email addresses, signatures of the email data, messages, SMS data, phone calls, text messages, video files, audio files, images, and the like.
- the smart analysis on the content of the contacts is performed whether a particular one of the plurality of devices is online or offline, passive or active, connected or unconnected, currently operational or turned off, or set in a lower functional mode.
- the system may search the contents of an e-mail so that additional connections to other data units may be determined.
- names of contacts other than the sender or receiver of the e-mail may be contained within the text of the e-mail. In this manner, the system can determine a connection between the e-mail and the contact mentioned in the e-mail for generating dossiers.
- the sender or receiver may go by a nickname which is not related to their e-mail alias.
- the nick name may be used in the e-mail, such that the system can identify the nickname from the e-mail and establish additional connections using the nickname.
- a user may have a social network profile using the nickname which will now be easier to locate and determine a connection to after the system has identified the nickname in the e-mail.
- the method 100 searches in a first social network the content of the email data and the files of a defined number of the contacts in communication with the user during a time period.
- the defined number is at least 50 contacts.
- the system may search for the last 50 contacts to e-mail the user in a social network. This number may be dynamically altered and/or changed by an application and/or user.
- the method determines whether the defined number of the contacts has been in communication with the user during a predefined time period. If the contacts are found in the social network (yes), e-mail addresses are collected and the system determines which e-mail addresses are preferable, non-preferable, incorrect, etc. in an operation 112 .
- the method 100 searches in a second social network the content of the email data and the files of contacts having similar names of the defined number of the contacts in communication with the user during the determined time period in an operation 110 .
- the method 100 collects email addresses of the contacts and identifies those of the emails addresses that are both preferable, non-preferable, and incorrect email addresses.
- the method 100 builds ontology of contacts, which are in communication with the user, by analyzing the contents in one of a plurality of social networks, data structures, email addresses, and signatures of email data.
- the signature of e-mail (or a social network profile) data may indicate the company a contact works for, so that contact can be easily determined to have a connection with that company for creation of dossiers.
- the system may determine from a social network an interest or other profile or demographic (such as city the contact lives in, age, profession, etc.) data that can be useful in creating ontological contacts and generating dossiers.
- the method 100 adds comments to the email addresses/email data and analyzes a history of short message service (SMS) data correspondence and phone calls.
- SMS short message service
- heuristic avatars are assigned to the contacts, which are in communication with the user, from whom information is obtained from a plurality of platforms/device of the user.
- the method 100 displays the analyzed content and provides a summary of the analyzed content which includes at least one of a relationship of the user with an addressee of a correspondence, a main theme of each one of a plurality of correspondences, a degree of importance to the user, and a recommendation for performing a course of action relating to each one of the plurality of correspondences.
- the analyzed content and summary are displayed in a visual representation in a window of a Graphical User Interface (GUI).
- GUI Graphical User Interface
- the visual representation is visually multi-platform with other visual representations of the information from the multiple devices to the user.
- the method 100 ends at an operation 122 .
- FIG. 2 is a flow diagram illustrating a method 200 of smart analysis of contacts using ranked data in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different operations may be performed. Also, the use of a flow diagram is not meant to be limiting with respect to the order of operations performed.
- the method 200 begins.
- the method 200 dynamically assigns a rank of importance to the content of a use's contacts. The ranking of importance may be based upon a numerical numbering system from 1 to 100 with 1 being the highest ranking (e.g., most important) and 100 being the lowest ranking (e.g., least important). The user may employ other ranking methods. The rankings may be altered and/or reassigned as needed. The ranking may be performed according to various embodiments and criteria as disclosed herein.
- the method 200 analyzes the content in social networking channels, email addresses, data structures, signatures in messages, audio and/or video files, images, and/or other telephonic communication, text messages, SMS messages, and the like.
- the method 200 may facilitate extraction of a contacts possible past and current places of employment, for example.
- Other data about a contact may also be extracted, such as the contacts age, family members, education, favorite music (or other affinities), coworkers, phone number, links or other identifying information to other social network profiles.
- the method 200 uses the smart analysis process for building an ontology of the people, organizations, and/or companies with whom the user has been corresponding and contacting. Contacts may also be sorted by theme, such as classmates, service professionals, relatives, friends, etc.
- the method 200 clears up (e.g., cleans up and organizes) the disorganization in a user's tasks (step 210 ).
- a series of alerts, follow-ups, reminders (as well as by means of SMS) based on the previous analysis may be implemented and uses.
- the method 200 identifies the promises/task that the user/contact once gave to email recipients (e.g., a promise made by the user to one of the contacts or vice versa) and prioritizes and categorizes them by identifying a number of tasks (e.g., five tasks) or emails that the user needs to perform/write today.
- the method 200 identifies the promises (e.g., promised tasks, commands, orders, socially accepted behavioral actions) that someone once gave the user in the correspondence and prioritizes and categorizes them by identifying an “N” number of the most important cases or emails (e.g., 10 of the most important cases or emails) that someone had to do for the user, and creates a draft letter reminding these people on the user's behalf or serve the user the respective reminder. For example, in one email the user may have indicated to the contact that the user would telephone on a certain day (or vice versa where the contact makes a promise to the user), which is the identified promise. That identified promise may then also be ranked by the analysis.
- the promises e.g., promised tasks, commands, orders, socially accepted behavioral actions
- the method 200 analyzes the user's contact ratings and sends users SMS notifications about the identified promise and/or letter from a person with a correspondingly high rating. Based on the contact's rating, the system can determine whether a reminder is appropriate. Differing types of activities may be assigned a higher ranking and/or priority, such as an assignment made to an individual or a task that is assigned to the user. The mode and/or frequency of notifications may vary based on the rating/ranking. For example, a high rating/ranking may cause the system to send the user an e-mail and an SMS message, with repeated SMS messages twice a day until the user responds. A lower rated/ranked contact may only cause the system to send one e-mail to the user and no other reminders.
- the method 200 informs (e.g., jokingly informs) the user in a natural language form about the user's activities with respect to the source (step 216 ). For example, when a user hovers over a folder the system gently and jokingly informs him, “You haven't opened this folder for ages,” or “I know she's dreadful but you need to respond to your mother-in-law's voicemail before you go home for the holidays and face a reckoning.” In this example, the smart analysis operation has identified the folder has not been opened for a predetermined period of time or that the number that left a voicemail has not been called back. The type of communication, such as the sarcastic comments may be predetermined and/or configured by a user or an application. In an operation 218 , the method 200 displays the analyzed ranked content and/or promises. In an operation 220 , the method 200 ends.
- FIG. 3 is a block diagram illustrating a computer 300 that can be used to generate dossiers for data units in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different components may be included in the system.
- the system 300 includes one or more processors 302 connected to a memory 304 .
- the processor(s) 302 may contain one or more computer cores or may be a chip or other device capable of performing computations (for example, a Laplace operator may be produced optically).
- the memory 304 may be random access memory (RAM) and may also contain any other types or kinds of memory, particularly non-volatile memory devices (such as flash drives) or permanent storage devices such as hard drives, etc.
- RAM random access memory
- the memory 304 includes remotely located information-storage media, as well as local memory such as cache memory in the processor(s) 302 , used as virtual memory and stored on an external or internal permanent memory device 310 .
- the computer system 300 also usually includes input and output ports to transfer information out and receive information.
- the computer system 300 may contain one or more input devices 306 (such as a keyboard, a mouse, a scanner, or other) and output devices 308 (such as displays or special indicators).
- the computer system 300 may also have one or more permanent storage devices 310 such as an optical disk drive (CD, DVD, or other), a hard disk, universal serial bus (USB) drive, and/or a tape drive.
- the computer system 300 may have an interface with one or more networks 312 that provide connection with other networks and computer equipment. In particular, this may be a local area network (LAN) or a Wi-Fi network, and may or may not be connected to the World Wide Web (Internet). It is understood that the computer system 300 may include analog and/or digital interfaces between the processor 302 and each of the components 304 , 306 , 308 , 310 and 312 .
- LAN local area network
- Internet World Wide Web
- the computer system 300 is managed by an operating system 314 and includes various applications, components, programs, objects, modules and other, designated by the consolidated number 316 .
- the programs used to accomplish the methods corresponding to this invention may be a part of an operating system or may be a specialized peripheral, component, program, dynamic library, module, script, or a combination thereof.
- the computer system 300 may be used to perform some or all of the functions and methods as disclosed herein.
- the computer system 300 is merely one embodiment of a system on which the embodiments disclosed herein may be practiced.
- FIG. 4 is a representation of a graphical user interface (GUI) 400 displaying the smart analysis results and dossiers in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different components may be displayed on the GUI.
- GUI 400 shows, among other aspects, dossiers, connections, previews, and relationships between various data units as described herein. In addition, the GUI 400 also depicts various additional functionality as disclosed herein.
- software incorporating these mechanisms may be installed via sharing (link shared via email or other social networking contact), file sharing requiring installation of the software itself, or download from the appropriate website.
- sharing link shared via email or other social networking contact
- file sharing requiring installation of the software itself
- download from the appropriate website Upon first use, the software may prompt for login information, such as the following:
- the user After confirming the user's email, the user will see a software window 400 , configured for and/or customized by and/or for the user.
- the working part may be empty initially.
- the user views available icons for sources such as my hard drive, places, documents, photos, attachments, external drives, social media, if currently connected, cloud drives, Exchange, mail servers (Gmail etc.), other locations: camera, media centers etc., and other computers.
- a visible arrow on the GUI screen 414 offers to drag any icon in the left (workspace) it will mean that the user assigns that service/device to their personal cloud.
- the user views one or more large tabs 406 , such as Logo, Files, E-Mail, Contacts, work, all, important, friends, social, promo, and/or more, and the like (only the logo 406 A, email tab 406 B, and the files 406 C is labeled as 406 for brevity sake). Additional tabs will appear later: such as Calendar, and Tasks, and others.
- the software feeds the user with information among the various tabs 406 .
- the software displaying progress and results of analyzing/indexing.
- the system detects duplicate files in the user's personal cloud.
- duplicates may be categorized as follows: 100% duplicates: the content and metadata includes the date and time. 99.9% of duplicate: files, including content, metadata are the same, but a different date and time. Optional: 99% similar: where there are small differences in content.
- the smart analysis disclosed herein utilizing dossiers of the user's contacts offers to consider these files as different versions and ranks the date and author of last modification, looks at which of the files come in the mail, by whom, when etc.
- the system may offer to merge duplicates in one virtual file. In such a case, the system may treat these physical files as a single logical file and synchronize the changes of this file across all its physical copies. If the duplicate is located within the same physical medium, the software will remove the physical duplicate (keeping logical copy).
- the GUI screen also shows the ranked content (shown in FIG. 4 as 420 A being the ranked the highest as Rank 1 and the remaining ranked contents “rank 2-100) shown as 420 B).
- the smart analysis operation all displays the provided summary 422 as mentioned herein.
- the GUI screen 400 also displays the identified promises/task 408 made by the user to one of the contacts or vice versa) and prioritizes and categorizes them by identifying a number of tasks (e.g., five tasks) or emails that the user needs to perform/write today.
- An overall smart analysis of the user's contacts may also be displayed in a results section 424 .
- the data units shown here that are ranked may be ranked using generated dossiers as disclosed herein.
- FIG. 5 is a representation of a GUI 500 demonstrating a theme based dossier view in accordance with an illustrative embodiment.
- the GUI 500 includes e-mails tab 505 and files tab 510 .
- the files tab 510 is selected, and therefore files, instead of e-mails, are displayed in the GUI 500 .
- the GUI 500 also includes secondary tabs 515 .
- the work secondary tab 515 is selected, so that files relating to the user's work are displayed.
- the GUI 500 therefore shows a work dossier, that is, all the data units (other than e-mails in this case) that are related to work (data units with a connection to the user's work) are shown.
- the GUI 500 indicates with icon 520 which secondary tab is selected.
- the icon 520 is a folder because there is an actual virtual folder for work related files (the dossier for work).
- the displayed files in the GUI 500 may be stored on different devices, but can still be located in the same work virtual folder.
- the space size indicator 525 indicates that the work virtual folder contains 2.3 gigabytes of data. In an alternative embodiment, the space size indicator 525 may also indicate a space remaining that is allotted to the user or the user's virtual work folder.
- the folders display 530 of the GUI 500 shows that there are six folders associated (or that have a connection with) with work.
- the folders display 530 also shows the six individual folders 540 .
- a folders size indicator 535 indicates that the folders contain 900 megabytes of data.
- the folders 540 may be opened to display the contents.
- the folders 540 may be physical or virtual folders, in that they may indicate actual physical storage locations or organizational storage locations.
- the music display 545 of the GUI 500 shows several audio files 550 . While the music display 545 shows that 123 audio files exist, only a few are actually shown on GUI 500 .
- the system may display audio files that are most often played by the user, or the system may use some other criteria to determine which audio files are displayed. The system may show higher ranked files in accordance with the methods for ranking files disclosed herein. In an alternative embodiment, the system may display random audio files. If the user wishes to view other audio files, the user may select the music display 545 title in order to navigate to a GUI that displays more or all of the audio files. In an alternative embodiment, the user may be able to scroll through the list of the audio files 550 to view additional audio files.
- the documents display 555 of the GUI 500 shows several different documents of different types.
- the documents size indicator 565 indicates that the documents take up 200 megabytes of memory.
- Example documents displayed in the documents display 555 include document 560 and document 570 . Similar to the audio files above, these documents may be displayed randomly from the 432 total documents, or the documents may be displayed based on a particular criteria, such as most recently modified or opened documents, or a ranking using the methods as disclosed herein.
- Photos are also displayed on the GUI 500 .
- photo 575 and photo 585 For simplicity, photo 585 does not show an image. However, photo 585 is meant to represent a lower resolution image than that of photo 575 . There are still further lower resolution images displayed than photo 585 .
- a magnifying glass icon 580 is shown. In this embodiment, the magnifying glass icon 580 represents a search function that allows a user to search only the photos in the work virtual folder. Note that similar icons are present for the music, documents, and other portions of the GUI 500 . In this way, particularly if the photo the user desires is not currently displayed, the user may locate a particular photo or photos. Photos may be searched based on the photos' metadata, for example. In this embodiment, higher ranked photos are displayed more prominently than lower ranked photos.
- a broad dossier is shown in the GUI 500 .
- a further narrowing search can be performed using any of the magnifying glass icons, such as the magnifying glass icon 580 .
- the user can search among the broad dossier in a more pointed way to attempt to locate the exact file the user is looking for.
- the GUI 500 may subsequently other subsets of the work dossier, resulting in less data units being displayed.
- either a new subset dossier is generated and displayed, or the data units shown in the GUI 500 have dossiers that are analyzed as disclosed herein to determine if the data units are relevant to the search.
- the other display 590 is also displayed on the GUI 500 .
- the file 595 is shown here.
- Files that may commonly be placed in the other display 590 are files that may not easily fit into the other categories displayed on the GUI 500 , such as folders, music, documents, and photos.
- FIG. 6 is a representation of a GUI 600 demonstrating an e-mail interface showing a dossier relating to a contact in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different components may be displayed on the GUI.
- the GUI 600 further displays an embodiment for viewing and writing e-mails in accordance with an illustrative embodiment.
- the GUI 600 includes an e-mails tab 605 and a files tab 610 . Here, the e-mails tab 605 is selected.
- the GUI 600 also includes various sections of contacts, such as the recent contacts 620 section, the lobster 625 section, the family 630 section, and the friends 640 section.
- Each of the sections contain a dossier of contacts related to that section theme.
- the recent contacts 615 are displayed, and for example include contact 620 .
- only a name, e-mail address, and photo or avatar is shown.
- alternative embodiments may show more or less information relating to a contact.
- the lobster 625 contacts are not displayed on the GUI 600 .
- a downward facing arrow to the left of the lobster 625 indicates that the contacts are hidden. If the user interacts with the downward facing arrow, the contacts will be displayed and the downward facing arrow will be displayed as an upward facing arrow, similar to those of family 630 and friends 640 .
- the contact 620 is selected as evidenced by an arrow 650 , and therefore only data units relating to contact 620 are shown in the GUI 600 . Accordingly, multiple layers of dossiers are present in the GUI 600 .
- the recent contacts dossier shows several data units (contacts) that the user has communicated with recently.
- the contact 620 has been selected, which displays a dossier of data units related to the contact 620 . For example, previews 675 and 680 of messages from contact 620 are shown, as well as full e-mail 690 .
- the messages can be sorted or organized on the GUI 600 in several ways. For example, the messages may be sorted or organized with message type buttons 655 . The user can select to display only one or more message types.
- the message types the user may select include e-mails, SkypeTM messages, FacebookTM chats, and iMessages. Other options may be provided.
- the e-mails may also be sorted utilizing sub-tabs 660 , which include newest, oldest, important, archived, and deleted. Here, the newest sub-tab is selected as evidenced by an arrow 665 .
- Draft e-mail section 670 provides the user an opportunity to respond to a selected e-mail. Draft e-mail section 670 allows the user to enter text for an e-mail, add attachments, to an e-mail, format the text of the e-mail, and add recipients to the e-mail.
- preview 675 has been selected as evidenced by an arrow 685 by the user and is shown as the full e-mail 690 .
- the preview 675 includes only contact information for the sender and some of the text of the e-mail.
- the full e-mail 690 shows the contact information, a more complete contact information 697 , photos such as photo 695 , and the full text of the e-mail.
- the complete contact information 697 may, for example, include information that was collected about the contact according to embodiments disclosed herein. For example, inclusion in the architect group may have been the result of the system determining from a social network such as LinkedInTM that the contact is an architect by trade.
- the user for the GUI 600 has positioned a pointer over preview 680 .
- the system has displayed a context menu over a portion of the preview 680 .
- the preview 680 is offset in the GUI 600 from the other preview e-mails. This may indicate that the preview 680 is a part of an e-mail conversation relating to the preview directly above it.
- the context menu includes six icons. Starting from the left, a pin icon can be interacted with to determine whether or not the e-mail remains on the GUI 600 display.
- the first left facing arrow may be interacted with by the user to direct the display to the first e-mail in an e-mail conversation.
- the second left facing arrow may be interacted with to direct the display to the previous e-mail in an e-mail conversation.
- Interacting with the right facing arrow may direct the display to the next e-mail in an e-mail conversation.
- the right facing arrow may be interacted with to direct the display to the final or most recent e-mail in an e-mail conversation.
- the icon second from the right is a download icon.
- the e-mail and/or any attachments in the e-mail When interacted with by the user, the e-mail and/or any attachments in the e-mail will be downloaded.
- the last icon is an X icon. If interacted with, that e-mail will be closed or hidden from view. In an alternative embodiment, interacting with the X icon will delete the e-mail.
- FIG. 7 is a representation of a GUI 700 demonstrating a dynamic birds-eye view of various dossier summaries in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different components may be displayed on the GUI.
- the GUI 700 demonstrates a state of a dynamic view of several different dossiers, which may be termed a birds-eye view.
- the dossiers here are contact related, theme related, time related, and tag related.
- the birds-eye view assists the user to understand the structure of all of the data in his entire network.
- this dynamic view presents any history of file changes to the user.
- the GUI 700 includes an e-mails tab 705 and a files tab 710 .
- the Macintosh HD is selected from the workspace as evidenced by an arrow 715 .
- the search term “#GREEN” has been entered into the search field 720 , although in this embodiment the search has not been executed (thus dossiers other than just a “#GREEN” dossier are still shown).
- a dynamic display like the one in FIG. 7 may be displayed with search terms being executed.
- there still may be multiple dossiers displayed as in FIG. 7 but the dossiers will only represent data units relevant to the search term(s).
- all the dossiers shown are previews or summaries of the dossiers, with only the theme or subject of the dossier shown. The user can select these dossiers in order to view more detail on the dossiers.
- group 725 represents all photos on the user's Macintosh HD. If the group 725 is selected, the photos may be displayed and examined in greater detail.
- the relative size and prominence of the group 725 conveys information to the user. Here, it may convey that the user has more pictures than music or video. In another embodiment, the relative prominence of group 725 may be an indicator that the user accesses photos more often than music or video files.
- groups 730 , 740 , and 755 may also be relatively sized based on quantity of files or preference of the user. In another embodiment, the relative sizes of the groups may indicate a relevance to a search term or terms.
- the groups may also be displayed using different colors. This can make the display more pleasant to look at, or the colors may indicate certain properties or relevance of files.
- the groups 740 and 755 indicate groups of files that correspond to certain hashtags. Groups such as group 730 represents groups of files that correspond to certain contacts of the user.
- groups 735 and 750 are displayed.
- group 735 is displayed more prominently than the other year groups (here 2011 and 2012 ) because of a relevance factor. That is, the system considers the year 2013 to be more relevant than past years to the user, thus group 735 is displayed more prominently.
- Group 750 is displayed with a medium amount of prominence because it may also be considered relevant to the user, since it contains files from last week. However, group 750 is still intentionally smaller than group 735 to indicate the relatively smaller group of files that are from last week than are from the entire year 2013.
- search dialog 745 offers an alternative to the search field 720 .
- Any searches performed using the search dialog 745 may be dynamically displayed. That is, if a user searches for something, the user may visibly see groups (dossiers) change shape, move, be added, disappear, or change color depending on the relevance of files in each group to the search performed. Furthermore, groups can be customized and configured by the user or can be automatically generated by the system.
- the groups (dossiers) displayed on the GUI 700 can be interacted with by the user in a unique way.
- Each of the groups is displayed as a physical object that can be moved and has mass, speed, inertia, acceleration, magnetic, gravity, and/or other physical forces.
- the groups will therefore move and interact according to physical laws.
- a user may interact with the groups by dragging, moving, etc. the groups around the GUI 700 .
- the groups themselves also interact with each other. For example, a very small group may be pulled toward a larger group through a gravity force.
- Groups can change behavior, trajectory, color, and shape while a user moves a pointer or finger, types a search query, gets search results, moves items, scrolls through lists, or does other actions.
- a search can be performed by dragging a group or groups to the search dialog 745 .
- a search term can be removed from the search by dragging it out of the search dialog 745 .
- the system is constantly estimated each group's importance to the user, and the physical size of the group indicates the relative importance calculation of that group to the user.
- Other facets of a group may also be used to indicate importance, such as position, shape, content, and dynamic effects of a group.
- the groups may interact in ways similar to how physical objects might interact. For example, if a user drags a group by touching and swiping a group through a touchscreen, any groups that the dragged group comes into contact with may be bumped and moved on the display. In other words, no two groups may occupy the same coordinate space on the GUI 700 , so if one bumps into another one will have to yield. In this regard, when two groups collide, the relative inertia, mass, and velocity of the groups may be taken into account. In other words, if a smaller group bumps a larger group, the larger group may be considered to have a larger mass than the smaller group.
- the smaller group would be able to transfer inertia to the larger group that either causes the larger group to move only slowly, while causing the smaller group to bounce off the larger group with much more velocity.
- the system may give the group super powers. That is, the user dragging a group may give the group virtually unlimited mass, causing any group in its path to bounce off of it and out of the way. In this way, if a user wants to place a group in a particular place, they cannot be stopped from doing so.
- certain groups may be subject to certain magnetic forces.
- one group may subjected to a force between itself and a first type of groups, but not a second type of groups.
- a photos group may be pulled toward other groups that contain other audio and/or visual media, such as videos, podcasts, music, and the like.
- the system may also include negative magnetic forces. That, is some groups may also be programmed to repel each other.
- a GUI may include groups related to personal photos and work photos. In order to prevent the two from mixing or being associated with each other, a repelling magnetic force may be programmed in.
- the user may combine groups using the GUI 700 .
- a user may specify that one group envelope another to create a larger group representing the files of both the original two groups.
- a user may slow down and stop the movement of the group before releasing it.
- the group may not move after release, but for other forces acting on it, such as gravitational or magnetic forces.
- the user may not slow down or stop the movement of a group being dragged before releasing the group.
- the moving group may maintain its inertia unless acted on by other forces. For example, the group may crash into other groups, cause the group to bounce and/or the other groups to move on the GUI 700 .
- a user may search by either typing into the search dialog 745 or dragging other groups to the search dialog 745 .
- the group 755 may be dragged by the user to the search dialog 745 .
- the group 755 may no longer be subjected to the forces it would otherwise be subjected to. That is, the group 755 is stuck in the search dialog 745 .
- the system will perform the search by changing the relative sizes of the other remaining groups displayed on the GUI 700 to indicate files that are relevant to the hashtag “sea.” The changing of the sizes may be demonstrated immediately, or may be animated as a transition over time.
- the forces present between groups may change, and the groups will react accordingly. For example, if a group gets bigger, it may push other groups out of the way, while exerting a larger gravitational force on the other groups. If a group gets smaller, the gravitational force exerted on other groups may be reduced.
- the changes in gravitational forces based on search results may cause the groups to actually move on the GUI 700 after the search is performed. Changes to groups based on searches, combinations, movements, etc. may also cause the system to determine new connections for files within the groups/dossiers and generate new dossiers/groups as needed. Such determining of connections and generation of new dossiers can be done according to methods and systems disclosed herein.
- circles are used to represent groups in FIG. 7
- other shapes may be used in other embodiments.
- the shape of a group may impact how the groups physically interact. For example, a circle bouncing off a circle in the GUI 700 may not happen in the exact same way as a circle bouncing off of a triangle, the bounce angle may be different due to the different shape.
- FIG. 8 is a representation of a GUI 800 demonstrating a photo view overlay dossier of a dynamic birds-eye view of a user's data in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different components may be displayed on the GUI.
- the GUI 800 demonstrates a state of a view similar to the GUI 700 discussed above with respect to FIG. 7 . However, the GUI 800 shows an overlay 840 that represents a photo dossier.
- the GUI 800 includes an e-mails tab 805 and a files tab 810 .
- the Macitosh HD is selected from the workspace as evidenced by an arrow 815 .
- the search term “#GREEN” has been entered into the search field 820 .
- the photos shown in the overlay 840 are not related to the search term because the search has not been executed.
- photos or other electronic files may be shown in the overlay 840 that are related to the search term.
- the files could represent the selection of or interaction with any of the groups shown in FIG. 7 . If a search term has been entered, as here, then the files shown in the overlay 840 dossier will relate to the search term and the selected group. For example, if a user selected the group 735 from FIG. 7 , the overlay 840 would display files related to the year 2013. Here, the user has selected or interacted with the group 725 , which causes photos to be displayed.
- the overlay 840 dossier includes several photos on display, including photos 830 and 835 .
- the photos initially displayed in the overlay including the photos 830 and 835 , are higher ranking than other photos relating to the search terms.
- the GUI 800 displays that photos are selected, and that there are 112 photos relevant to the search term here.
- the photos displayed in the overlay 840 are photos that rank higher than the other relevant photos.
- the ranking of the photos may be calculated using any of the ranking calculation systems and methods disclosed herein.
- the photos 830 and 835 displayed in the overlay 840 may be interacted with.
- the photos may be selected and viewed in greater detail in another GUI.
- selecting a photo may allow the user to modify the metadata associated with the file, such as the tags of the file.
- selecting a file from the overlay 840 may cause the system to open the file using a separate software application.
- selecting a file from the overlay 840 may display on a GUI a dossier related to that particular selected file.
- the overlay may be a dynamic group similar to the groups described above with respect to FIG. 7 .
- a user may be able to interact with the overlay 840 to resize the overlay itself and/or the previewed files displayed within the overlay 840 .
- the user may also be able to interact with the displayed files in the overlay 840 to perform file management functions. For example, the user may be able to move files to different places. In one embodiment, the user may accomplish a moving of a file by selecting and dragging that file to one of the locations or places displayed in the workspace on the left of the GUI 800 .
- the overlay may reflected multiple selected groups that have been selected by the user. For example, if the user selected groups 755 and 725 from FIG. 7 , the overlay 840 will display photos that have the tag “#SEA.” In another embodiment, the overlay 840 may display electronic files (or representative information of those electronic files) that relate to an interaction with the search dialog 745 of FIG. 7 . For example, if the user enters text into the search dialog 745 , the overlay 840 will be displayed to show files related to that text. In another embodiment, a group or groups may be dragged and dropped on the search dialog 745 . In this embodiment, the overlay 840 may display files related to the group(s) that were dragged to the search dialog 745 . Further, the user may search using a combination of text entry and dragging groups to the search dialog 745 .
- FIG. 9 is a block diagram illustrating various computing and electronic storage devices that may be used in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different components may be included in the system.
- FIG. 9 includes a personal computing device 900 , a portable storage device 997 , a network 925 , a cloud storage system 930 , a tablet device 940 , and a mobile electronic device 965 .
- the personal computing device 900 includes a processor 915 that is coupled to a memory 905 .
- the personal computing device 900 can store and recall data and applications in the memory 905 .
- the processor 915 may also display objects, applications, dossiers, data units, etc. on a display/interface 910 .
- the display/interface 910 may be a touchscreen, a game system controller, a remote control, a keyboard, a mouse, a trackpad, a microphone, a camera, a set of buttons, a standard electronic display screen, a television, a computer monitor, or any combination of those or similar components.
- the processor 915 may also receive inputs from a user through the display/interface 910 .
- the processor 915 is also coupled to a transceiver 920 . With this configuration, the processor 915 , and subsequently the personal computing device 900 , can communicate with other devices, such as the cloud storage system 930 through a connection 987 and the network 925 .
- FIG. 9 shows one personal computing device 900 , an alternative embodiment may include multiple personal computing devices.
- the tablet device 940 includes a processor 955 that is coupled to a memory 945 .
- the processor 955 can store and recall data and applications in the memory 945 .
- the processor 955 may also display objects, applications, data, etc. on a display/interface 950 .
- the display/interface 950 may be a touchscreen as most tablets have, but may also include or incorporate a keyboard, a game system controller, a remote control, a mouse, a trackpad, a microphone, a camera, a set of buttons, a standard electronic display screen, a television, a computer monitor, or any combination of those or similar components.
- the processor 955 may also receive inputs from a user through the display/interface 950 .
- the processor 955 is also coupled to a transceiver 960 . With this configuration, the processor 955 , and subsequently the tablet device 940 , can communicate with other devices, such as the personal computing device 900 through a connection 995 and the network 925 .
- the mobile electronic device 965 includes a processor 975 that is coupled to a memory 985 .
- the processor 975 can store and recall data and applications in the memory 985 .
- the processor 975 may also display objects, applications, data, etc. on a display/interface 980 .
- the display/interface 980 may be a touchscreen, a game system controller, a keyboard, a remote control, a mouse, a trackpad, a microphone, a camera, a set of buttons, a standard electronic display screen, a television, a computer monitor, or any combination of those or similar components.
- the processor 975 may also receive inputs from a user through the display/interface 980 .
- the processor 975 is also coupled to a transceiver 970 .
- the processor 975 and subsequently the viewer electronic device 965 , can communicate with other devices, such as the tablet device 940 through a connection 990 and the network 925 .
- FIG. 9 shows only one mobile electronic device 965 , an alternative embodiment may include multiple mobile electronic devices.
- FIG. 9 also includes the cloud storage system 930 .
- the cloud storage system 930 may include a number of servers that may have memory and processors.
- the cloud storage system 930 is connected to the network through a connection 935 and may communicate with other devices such as the mobile electronic device 965 .
- FIG. 9 also includes the portable storage device 997 .
- This portable storage device 997 may be a removable USB drive for example. Since such a portable memory does not have a processor, the portable storage device 997 must be connected to a computing device for the information and files stored on the portable storage device 997 can be read by such devices. Accordingly, in this embodiment, the portable storage device 997 is plugged into the personal computing device 900 , which can read the data from the portable storage device 997 and communicate its contents or data related to its contents to any of the other devices that have access to the network 925 .
- any of the connections 987 , 990 , 995 , and 935 may be varied.
- Any of the connections 987 , 990 , 995 , and 935 may be a hard wired connection.
- a hard wired connection may involve connecting the devices through a USB (universal serial bus) port (like connection 999 ), serial port, parallel port, or other type of wired connection that can facilitate the transfer of data and information between a processor of a device and a second processor of a second device.
- any of the connections 987 , 990 , 995 , and 935 may be a dock where one device may plug into another device.
- any of the connections 987 , 990 , 995 , and 935 may be a wireless connection. These connections may take the form of any sort of wireless connection, including but not limited to Bluetooth connectivity, Wi-Fi connectivity, or another wireless protocol. Other possible modes of wireless communication may include near-field communications, such as passive radio-frequency identification (RFID) and active (RFID) technologies. RFID and similar near-field communications may allow the various devices to communicate in short range when they are placed proximate to one another.
- RFID passive radio-frequency identification
- RFID active
- two devices may have to physically (or very nearly) come into contact, and one or both of the devices may sense various data such as acceleration, position, orientation, velocity, change in velocity, IP address, and other sensor data. The system can then use the various sensor data to confirm a transmission of data over the internet between the two devices.
- the devices may connect through an internet (or other network) connection. That is, any of the connections 987 , 990 , 995 , and 935 may represent several different computing devices and network components that allow the various devices to communicate through the internet, either through a hard-wired or wireless connection. Any of the connections 987 , 990 , 995 , and 935 may also be a combination of several modes of connection.
- the network 925 may also include similar components described above with respect to the connections 987 , 990 , 995 , and 935 .
- the network 925 may include intermediate servers, routing devices, processors, data traffic management services, and wired or un-wired connections.
- the various devices may communicate using the software systems and methods disclosed herein.
- Software applications may be manually installed on the devices or downloaded from the internet. Such software applications may allow the various devices in FIG. 9 to perform some or all of the processes and functions described herein. Additionally, the embodiments disclosed herein are not limited to being performed only on the disclosed devices in FIG. 9 . It will be appreciated that many various combinations of computing devices may execute the methods and systems disclosed herein. Examples of such computing devices may include smart phones, personal computers, servers, laptop computers, tablets, blackberries, RFID enabled devices, video game console systems, smart TV devices, or any combinations of these or similar devices.
- a download of a program to the mobile electronic device 965 involves the processor 975 receiving data through the transceiver 970 through connection 990 and the network 925 .
- the network 925 may be connected to the internet.
- the processor 975 may store the data (like the program) in the memory 985 .
- the processor 975 can execute the program at any time.
- some aspects of a program may not be downloaded to the viewer electronic device 965 .
- the program may be an application that accesses additional data or resources located in a server, or even the cloud storage system 930 which may include one or more servers.
- the program may be an internet-based application, where the program is executed by a web browser and stored in a server that is part of the network 925 or the cloud storage system 930 .
- temporary files and/or a web browser may be used on the mobile electronic device 965 in order to execute the program, system, application, etc.
- the tablet device 940 and the personal computing device 900 may use, store, or download software applications and web based programs in a similar way.
- the configuration of the personal computing device 900 , the portable storage device 997 , the tablet device 940 , the mobile electronic device 965 , the network 925 , and the cloud storage system 930 is merely one physical system on which the disclosed embodiments may be executed. Other configurations of the devices shown exist to practice the disclosed embodiments. Further, configurations of additional or fewer devices than the ones shown in FIG. 9 may exist to practice the disclosed embodiments. Additionally, the devices shown in FIG. 9 may be combined to allow for fewer devices or separated where more than the five devices shown exist in a system.
- FIG. 10 is a flow diagram illustrating a method 1000 of generating a dossier for data units in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different operations may be performed. Also, the use of a flow diagram is not meant to be limiting with respect to the order of operations performed.
- the system identifies data units associated with a user. In other words, the system locates or indexes files, contacts, photos, videos, etc. across various electronic devices and cloud storage systems controlled by or accessible to the user.
- the system determines connection data between a first data unit and a second data unit. For example, the system may determine that an e-mail (first data unit) was sent by a contact (second data unit). In another example, the system may determine that a document (first data unit) was last modified by a contact (second data unit). In another example, the system may determine that a photo (first data unit) was taken in a particular location (such as at work, home, the beach, Kuala Lumpur, Moscow, Honolulu, etc.; the second data unit). In another example, the system may determine that a first data unit like a file or e-mail is connected to work (second data unit). Many other combinations are contemplated and these examples are not meant to be limiting.
- the system In an operation 1015 , the system generates a dossier for the first data unit including the connection data and representative information of the first data unit.
- This dossier contains important information regarding the first data unit and its connections and links to other data units that the user controls or has access to.
- the system displays the dossier on a graphical user interface (GUI).
- GUI graphical user interface
- the system displays all of the information in the dossier.
- the system may only display some of the information in the dossier.
- the system may generate a preview or summary of the dossier to display on the GUI.
- the system may rank the connection data and determine higher ranking connection data to display on the GUI and determine lower ranking data to omit from displaying on the GUI.
- FIG. 11 is a flow diagram illustrating a method 1100 of generating an ontology of data units and ranking the data units in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different operations may be performed. Also, the use of a flow diagram is not meant to be limiting with respect to the order of operations performed.
- the system In an operation 1105 , the system generates a plurality of dossiers for a plurality of data units. The system may do this utilizing systems and methods as disclosed herein.
- the system determines connection data between the plurality of data units that already have dossiers. In other words, the system can determine connection data related to the connection data already determined for each individual dossier. As an example, an e-mail (data unit) is examined and deemed to have connection data that connects the e-mail to a particular company based on a signature line of the e-mail. In the operation 1110 , the system determines connection data between all data units to determine which dossiers have been connected already to the particular company. In other words, the dossiers themselves can essentially be used to create additional connection data. This connection data is utilized in an operation 1115 to generate an ontology of the plurality of data units. In the example, the ontology would include all data units that have connection data related to the particular company. For example, e-mails from the company, contacts from the company, and documents sent from the company may all be included the ontology.
- the system may determine a ranking of the plurality of data units that are included in the ontology based on the connection data of each of the plurality of data units. For example, the system may prioritize and rank higher contacts that have higher levels of communication with the user. In another example, the system may rank higher documents, photos, etc. that have been opened and/or modified more often than others. The rankings may be used to determine how an ontology or which parts of an ontology are displayed on a GUI.
- any of the operations described herein can be implemented at least in part as computer-readable instructions stored on a computer-readable medium or memory. Upon execution of the computer-readable instructions by a processor, the computer-readable instructions can cause a computing device to perform the operations.
Abstract
Description
- This non-provisional application claims priority to U.S. Provisional Application 61/922,597 filed on Dec. 31, 2013, the disclosure of which is incorporated herein by reference in its entirety.
- Many people today use multiple devices and media in their daily activities. For example, a typical person may use laptops, smart phones, tablets, home and work desktops, external hard drives and memory cards, media centers, smart TVs, cameras, DVRs, cloud storage, as well as occasional use of the devices of family, friends, coworkers, or roommates. Across these various devices, people store large quantities of data of varying importance. Additionally, people receive and store files, programs, messages, and other media in external servers, such as e-mail or cloud computing systems.
- An illustrative method according to a set of instructions stored on a memory of a computing device includes identifying, by the processor, a plurality of data units associated with a user. The plurality of data units are stored on a plurality of electronic devices. The plurality of data units are accessible through a plurality of platforms. The plurality of data units are a plurality of different data types. The method further includes determining, by the processor, for a first data unit accessible through a first platform, connection data between the first data unit and a second data unit accessible through a second platform. The method further includes generating, by the processor, a dossier for the first data unit, where the dossier includes representative information of the first data unit and the connection data.
- An illustrative apparatus includes a memory, a processor operatively coupled to the memory, and a first set of instructions stored on the memory and configured to be executed by the processor. The processor is configured to identify a plurality of data units associated with a user. The plurality of data units are stored on a plurality of electronic devices The plurality of data units are accessible through a plurality of platforms. The plurality of data units are a plurality of different data types. The processor is further configured to determine, for a first data unit accessible through a first platform, connection data between the first data unit and a second data unit accessible through a second platform. The processor is further configured to generate a dossier for the first data unit, where the dossier includes representative information of the first data unit and the connection data.
- A non-transitory computer readable medium has instructions stored thereon that, upon execution by a computing device, cause the computing device to perform operations, where the instructions include instructions to identify a plurality of data units associated with a user The plurality of data units are stored on a plurality of electronic devices. The plurality of data units are accessible through a plurality of platforms. The plurality of data units are a plurality of different data types. The instructions further include instructions to determine, for a first data unit accessible through a first platform, connection data between the first data unit and a second data unit accessible through a second platform. The instructions further include instructions to generate a dossier for the first data unit, where the dossier includes representative information of the first data unit and the connection data.
- Illustrative embodiments will hereafter be described with reference to the accompanying drawings.
-
FIG. 1 is a flow diagram illustrating a method of smart analysis of contacts across a plurality of devices in accordance with an illustrative embodiment. -
FIG. 2 is a flow diagram illustrating a method of smart analysis of contacts using ranked data in accordance with an illustrative embodiment. -
FIG. 3 is a block diagram illustrating a computer that can be used to generate dossiers for data units in accordance with an illustrative embodiment. -
FIG. 4 is a representation of a graphical user interface (GUI) displaying the smart analysis results and dossiers in accordance with an illustrative embodiment. -
FIG. 5 is a representation of a GUI demonstrating a theme based dossier view in accordance with an illustrative embodiment. -
FIG. 6 is a representation of a GUI demonstrating an e-mail interface showing a dossier relating to a contact in accordance with an illustrative embodiment. -
FIG. 7 is a representation of a GUI demonstrating a dynamic birds-eye view of various dossier summaries in accordance with an illustrative embodiment. -
FIG. 8 is a representation of a GUI demonstrating a photo view overlay dossier of a dynamic birds-eye view of a user's data in accordance with an illustrative embodiment. -
FIG. 9 is a block diagram illustrating various computing and electronic storage devices that may be used in accordance with an illustrative embodiment. -
FIG. 10 is a flow diagram illustrating a method of generating a dossier for data units in accordance with an illustrative embodiment. -
FIG. 11 is a flow diagram illustrating a method of generating an ontology of data units and ranking the data units in accordance with an illustrative embodiment. - Described herein are illustrative embodiments for methods and systems dossiers for data units. A user may have various data units of different types, for example documents, e-mails, messages, images, videos, and/or contacts. The various data units may be stored on many different electronic devices and may be accessible through a variety of platforms. For example, some documents may be stored as files accessible by a particular word processing software, such as Google Docs™ or Microsoft Word™. In another example, certain messages may be accessible through other platforms. Text (e.g., short message service or SMS) messages may be accessible through a smart phone's texting capabilities. Chat messages may be accessible through a social network such as Facebook™. Other messages may be accessed through platforms such as an e-mail exchange or messaging applications (apps) such as GroupMe™ or WhatsApp™. Contacts may be accessible through a phone's contact list, an e-mail accounts contact list, or other type of contact list. In another embodiment, the system may determine contacts and assemble its own contact list based on messages and/or e-mails sent to or from a user. In another embodiment, the system may also find contacts by searching a social network for contacts, including contacts' contact information that may be listed on the social network.
- The various data units of or related to a user may be stored on a plurality of electronic devices. For example, devices where electronic files may be stored may include a smart phone, a tablet, a laptop computer, a smart television device, removable storage such as a universal serial bus (USB) drive or a secure digital (SD) memory card, a desktop computer, a cloud storage server or servers, a digital camera, a wearable computing device, or any other electronic device capable of storing electronic files.
- A system may also determine for a first data unit accessible through a first platform, some connection data between the first data unit and a second data unit. For example, an e-mail may be associated with the contact information of the originator or sender of the e-mail. In other words, the system may establish or determine that a connection exists between the e-mail and the contact. In some embodiments, this connection may be established across multiple platforms and/or devices. For example, a text message on a user's phone from a contact named “Amy T.” may be determined to be connected to a person named “Amy Timothy” that is friends with the user on a social network such as Facebook™. The connection between “Amy Timothy” on the social network and the text message on the phone can be used to aggregate data in helpful ways. For example, information regarding the text message (such as the originator or sender, theme of the text message, dates and/or times mentioned in or associated with the text message, questions asked in the text message, etc.) as well as the connection data can be used to generate a dossier relating to the first data unit, here the text message. In other embodiments, the dossier may be generated regarding a particular contact and may include information regarding a myriad of messages to/from that contact. In another embodiment, a dossier may be generated for a particular document, which could include connections regarding who has modified the document, who sent the document to the user, as well as information about the document itself (type, size, name, subject matter, etc.).
- In each embodiment, the dossier may be used to synthesize large amounts of information to make it easier for a user to deal with large amounts, of messages, contacts, data, documents, etc. that are spread among multiple online platforms, devices, and data types. For example, the system may generate a dossier related to a particular contact, such as “Amy Timothy” mentioned above. The dossier may include relevant representative information of the contact, such as name, contact information, job title, and any other representative or descriptive information regarding the contact. Such information may be gleaned by the system, for example, when the system determines that “Amy T.” in the user's phone is the same as “Amy Timothy” from the social network. The system can then link additional information about Amy from the social network to texts that Amy has sent/received. Furthermore, any other interactions with Amy beyond the text messages can also be documented and summarized in the dossier.
- Advantageously, when connections are established and a dossier is generated, the system can aggregate the information regarding data units in helpful ways. For example, the system can determine which contacts a user most often corresponds with total across a variety of platforms. Additionally, the system can determine which mediums, platforms, devices, etc. the user has interacted with a particular contact through more often. That is, the system can quantify exactly how and with whom a user is interacting. A dossier of a contact may also include information regarding documents or files that the user and the contact have collaborated on, sent and/or received from each other, documents that the contact is mentioned in, etc. In other embodiments, a dossier may be directed to a document itself. The dossier may then include information about who has modified the document, send/received the document across multiple platforms, etc. Additionally, a dossier about a document may include information about similar documents. For example, the system may recognize themes or subject matters in the name or content of a document. The system may then find similar themes or subject matters relating to other documents or data units and determine connection data between the two documents. The system can then include information about those other related documents or data in the dossier of the first document. In another example, the system may recognize connections for a dossier such as common authors of different data units or proximity of creation and/or modification time for data unit.
- In another embodiment, a dossier may be assembled that relates to a particular theme. For example, the system may assemble all data units such as contacts, documents, images, videos, and/or messages that are related to work into a dossier. Other examples of themes that dossiers are assembled for may include a hobby, a period of time, particular subject matter such as a vacation or tag such as a hash tag, particular electronic device(s), cloud storages or combinations of electronic devices and/or cloud storages, etc.
- Advantageously, the connections and aggregate connections inherent in generating and assembling dossiers can yield information that can be used to rank the subject matter of different dossiers. For example, contacts can be ranked by the system using the dossiers of contacts to determine which contacts are favorites or preferred by a user. Information relating to a favorite or preferred contact may be displayed on a graphical user interface (GUI) more prominently than information from a non-favorite contact.
- The dossier of a data unit may also include information such as tags relating to the data unit. A tag may be already present as metadata of a data unit and can be included in a dossier. In other embodiments, the system may generate tags for the data unit. A generated tag may indicate any of the information disclosed herein such as author, originator, sender, theme, preference, contact, date or time, rank, priority, preference, or other information relating to a data unit. In another embodiment, a user may define a tag for a data unit. A tag may also be determined by the system based on a determined connection between a first data unit and a second data unit.
- The system may also utilize a generated dossier or dossiers to make recommendations to a user. For example, the system may determine that a message or messages from a particular contact have not been responded to by the user. The system may even determine a particular request that the contact has made of the user. In another embodiment, a recommendation may be based in whole or in part on a data unit's ranking, which may be determined as disclosed herein. For example, if a user is searching the system for “Irish Music,” the system may recommend a song that was mentioned in a chat with a highly ranked contact over other music stored on the user's hard drive that merely has metadata that indicates that a particular song is of the Irish genre.
- The system may display a single dossier on a graphical user interface (GUI). In another embodiment, the system may display multiple dossiers on a GUI. In this embodiment, some dossiers may be displayed more prominently or in more detail than others. In such an embodiment, the more prominently displayed dossiers may be selected by the system to be displayed more prominently based on rankings or preferences that the system determines as disclosed herein.
- The system may also determine an accessibility level of a data unit, which may be included in the dossier of the data unit. For example, the system may determine accessibility level data such as a type of electronic device a data unit is stored on, a file type of a data unit, a software application type utilized to display or modify a data unit, a size of the data unit, and/or an availability to the processor of a data unit (that is, is the location where the data unit is stored currently accessible. Such information may be displayed on a GUI as part of a dossier. In other embodiments, the information may be used to determined preferences and rankings of data units. For example, data units with lower accessibility levels may not be highly ranked. Since the system can be accessed across multiple platforms and devices, the accessibility level may be impacted by what applications are needed to partially or fully access/modify a data unit (and whether that application is available on the device the user is currently using). In other words, the availability level may be determined in real time based on factors like what device the user is currently using. This may change the dossier, and subsequently recommendations and rankings depending on what device the user is using at the time.
- Similarly, the system may also take into account other real time criteria when generating dossiers and calculating rankings and making recommendations. For example, the system may, as discussed above, determine a preferred contact address or mode for a particular contact. However, in an alternative embodiment, the system may determine that a user prefers to interact with that particular contact using text messaging when the user is using a phone, while the user prefers e-mail when a laptop computer is being used. Accordingly, the system may determine different connections regarding different electronic devices.
- In one embodiment, the system may also include a preview of a data unit in the dossier (particularly if the dossier is displayed on a GUI). For example, if the data unit is a contact, the dossier may display the contacts name, a recent message exchange with the contact, and the preferred method or methods of contact with the contact. In another embodiment, the data unit may be an electronic file such as a spreadsheet or a song. In these embodiments, the preview may include an icon indicating the file type and the name of the file.
- The number of devices that a user may implement in her day-to-day life has proliferated. While these individual devices are often-times interconnected via, for example, wireless networking, cellular networking, and other infrastructures, systems and methods as disclosed herein can effectively manage data shared between such devices. For example, the systems and methods disclosed herein address platform content access, distribution, and synchronization of data units/files, while managing the data units/files as well.
- The systems and methods disclosed herein better effectuate such platform content access, distribution, and synchronization, while at the same time managing the data itself so as to make more effective use of available cloud-based solutions. Finally, the systems and methods disclosed herein provide for utilizing multiple, yet interconnected, devices while making file organization over such devices and systems easy for a user.
- The embodiments disclosed herein provide a convenient one-stop (unified) access to multiple forms of personal data. The embodiments facilitate a unified catalog of personal files across all devices, as well as an ability to view or play files locally or remotely.
- In addition, the embodiments disclosed herein provide file and/or data management functionality, such as opening, copying, moving, deleting, archiving, sharing, and editing. The embodiments disclosed herein also provide search functionality. Advantageously, the search functionalities disclosed herein expand searching beyond file name searching. This may be helpful where, for example, files arrive in e-mail or are shared online or by other means and have a computer generated file name. Accordingly, the embodiments disclosed herein can examine the metadata for full-text content utilizing a fuzzy search, within the meaning according to different ontologies, etc.
- The embodiments disclosed herein also provide privacy/security functionality. In some embodiments, a repository of data will not be stored in the cloud for users concerned about privacy and security issues. There may be temporary or compartmentalized storage for proxy caching, data manipulation, or convenience, but significant duplication or long-term storage in the cloud can be avoided. Additionally, some embodiments may include no indexing or cataloguing of data in the cloud to ensure data protection, theft protection, corruption, integrity of data, and related issues with cloud based repositories. Further, some embodiments may keep no file catalogue or full theft index in the cloud. Further still, the architecture envisioned can either utilize or not utilize a mirrored or master copy of the index/catalogue data in the cloud. In some embodiments, a mirrored or master copy of the index/catalogue data in the cloud may be stored and indexed locally on the client side to facilitate local control of the index. In some cases, such an arrangement may be considered a peer-to-peer index and data synchronization process.
- As will be further described, the embodiments disclosed herein provide search and data management functionality over an entire available range of data storage mediums and systems of exchange between devices. For example, various embodiments disclosed herein promote (a) disclosure, (b) manage, and (c) search information functionality for data units such as (1) locally stored files, (2) offline files, (3) cloud-based files, (4) e-mail information (whether stored locally, offline, or remotely), (5) instant message/short message format information (again stored in a variety of locations), (6) social media feeds, (7) contact information, (8) other type of content including but not limited to dictionaries and encyclopedias, tasks, calendars, etc. Herein, the term data unit may refer to any type of electronic file (and similarly wherever files are mentioned herein a file is also a data unit).
- An illustrative embodiment includes a distributed platform and a client application that allows users to have very easy access to their files and e-mail (and those associated data units). The embodiment brings together all user information sources available in the user's network, including local and cloud sources, external devices, social networks, e-mail, and telephone communications. Furthermore, the embodiment allows for data management, which may be configured to be seamless and automatic. For example, one of the user's devices may be running out of available storage space on a particular data medium. The system may make the decision to migrate data in order to free space, or perform backup operations.
- The system may also analyze a user's e-mails and clear up the user's disorganization in contacts. Namely, the system may assign heuristically photos (or avatars) to any contacts of the user. For example, an avatar may be selected after a connection as disclosed herein is made. For example, the system may connect a contact to a profile on a social network. The system may use a picture (presumably) of the contact from the social network profile as an avatar for the contact. The system may also obtain the photos or other information about the contacts from the user's social networks. For example, the system may obtain the 50 most active contacts with whom the user had communications in the last six months and may search for their e-mail addresses in a first social network. The system may also use other criteria to search for the contacts in the first social network, such as name or other data relating to a contact that the system may be able to glean from e-mails from the contacts or information manually entered by the user relating to the contacts. If the system fails to find such persons in the first social network, the system may move to a second social network and search for the contacts there using similar methods. The system may also locate contacts on social networks by searching for similar names to the contacts among friends of the user (such methods may include transliteration and fuzzy search functionality).
- In one embodiment, for each contact that a user has, a kind of dossier can be assembled for each contact as disclosed herein. That is, the system can associate documents, files, e-mails, photos, etc. with each of the user's contacts. The system may also identify among all of the user's e-mail addresses, e-mail addresses that are preferred for e-mailing a contact, e-mail addresses that are not preferred for e-mailing a contact, and any wrong e-mail addresses (either e-mail addresses that are not valid or e-mail addresses that are not properly associated with the correct contact). The system may also add comments to e-mail addresses. Similarly, the system may clean up phone numbers on a contact list by analyzing the history of the user's SMS correspondence and phone calls. The system may also associate phone numbers with e-mail addresses that belong to the same contact.
- Further, the system can analyze actual correspondence and make a brief summary of the user's relationship with a contact. For example, the system may determine the main theme of the correspondence, the degree of importance to the user of the contact or correspondence, or recommendations based on a particular correspondence. For example, a recommendation may be based on an e-mail from several months ago that asked the user for information, but has not yet been responded to. Such recommendations may be configurable by a user, or turned on and off by a user. In this case, the system may recommend that the user write a response, and the system may further prompt the user to include an answer to the specific inquiry in the original correspondence from several months ago. Any length of time used to determine a recommendation may also be configurable by the user. In another example, the system may note that a family member's birthday or anniversary is approaching, and the system may therefore alert the user to send them a message. The user may further be able to configure how long before such a birthday or anniversary the user should be alerted by the system. The user may further specify which family members or other contacts recommendations for special events like birthdays and/or anniversaries should generate alerts. In a similar example, the system may determine that a user has not sent an e-mail to a grandparent in two months. The system may send the user an alert that the grandparent should be e-mailed, which again can be fully configurable by the user. In another example, the system could generate a recommendation to correspondences that request a response (RSVP) for an event. Another example where a recommendation may be made is if correspondence indicates that the user owes someone money. The system may send such recommendations to the user in a variety of ways. The system may send the user a short message service (SMS) message, an e-mail message, a Facebook™ message, or other type of message that includes the recommendation. The recommendations could also be added to a calendar, task list, or reminder list for the user. In another embodiment, the recommendation could comprise an icon displayed along with the e-mail message.
- Herein, use of the terminology contact may refer to an individual or an organization. Herein, an organization may be an ontological object. Dossiers as disclosed herein may be created for ontological objects. In one embodiment, the methods and system disclosed herein perform ranking operations to automatically rank contacts. This ranking may be performed using a variety of analyses. A ranking may be calculated on a semantic analysis of the user's correspondence with the contact, which may take into account characteristics such as the frequency of an activity like the frequency of letter sending, and a user's response time or response rate. The ranking may also be calculated based on background information about the contact. Such background information may include factors like closeness/relation/degree, company, position, and so on, from sources like social networks (e.g., number of friends, number of mutual friends, number of followers, etc.), content of the messages themselves (e.g., email signature), telephone communications (e.g., frequency of telephone calls and message exchange). The ranking may also be calculated based on other specific information that indicates that the contact is important. For example, the user herself may create her own tags in the system. Tags may be created to correspond with varying entities, such as organizations, persons, projects, places, and dates. If the user creates a specific tag (such as for an organization), the systems and methods of the illustrated embodiments may implement varying hypotheses. For example, the systems and methods disclosed herein may assume that this tag is more important to the user since the user created it herself. Moreover, the systems and methods disclosed herein may make certain associations automatically (i.e., the organization in the email address from whence the email originated is associated with the sender of the email, such as an employee) and query the user to verify these associations.
- In one embodiment, and as discussed above, watchdog tags may be implemented in which the user may note some query as the watch tag. The system may then copy all of the search results to a special folder that is not visible to the user. These search results may renew periodically. For example, when changes in the folder are detected, the user may then receive notifications concerning these changes.
- In another illustrative embodiment, a tag may be associated with a contact that has a high ranking. The system may analyze the user's contact ratings and send the user short message service (SMS) notifications about a letter from a person with a correspondingly high rating. Based on the contact's rating, the system can decide on what the user should be reminded of. Differing types of activities may be assigned a higher ranking and/or priority, such as an assignment made to an individual or a task that is assigned to the user. For example, if the contact is very high ranking, the notification might have the contents of the message in it. If the contact is only somewhat highly ranked, the system may only notify the user that a message has been received.
- In an illustrative embodiment, a user may have received an email from “Pete.” The user may wish to find the email he recollects, however, he is unsure from which account or location the email may have originated. The system addresses this issue by merging all available information in the user's network, including emails, social accounts, and other related information. For example, dossiers may be used to merge information. For every contact, a unique ID may be initiated that corresponds to the contact in the system. The system parses through all of the available information, and performs such merging operations on predefined rules, such as names similarity, email similarity and other information. Following this merger, the system may then query the user to verify that each of the instances found in the user's network should be associated with the unique ID. Optionally, the user may be able to specify differing ID's for portions of the identified information. Such predefined rules may vary according to the information being parsed. Such functionalities may be applied in a variety of scenarios. In addition, the system may utilize additional information such as logos, product descriptions, employee information, and the like to perform merger operations. In the case of project tags, the system may group e-mail communications, analyze the time that the communications were received/sent, and other information to organize information based on a particular project tag. A unique ID and/or project tags may be associated with a particular dossier for a particular data unit, theme, or ontological object.
- In an illustrative embodiment, search results may also be grouped together, particularly as they are displayed on a GUI. For example, search results may be grouped together by type of electronic file, date of creation, date of last modification, identity of author, identity of last modifier, and/or other various criteria. A cluster or group may also be organized based on the relative calculated ranks of the electronic files. The groups or clusters of search results may be displayed as groups on the GUI and as will be further disclosed herein. When clusters of search results are displayed, little information about the individual electronic files may be displayed in the cluster. For example, a cluster may be based on the year in which the electronic files were created. In this example, the year an number of search results represented by the cluster or group may be displayed. The user may interact with the cluster or group that is displayed, and the system will then display more information related to the search results in that cluster. Such information may include representative information and the information may be presented based on ranks as disclosed herein.
- In one embodiment where clusters and groups are used to display search results, the system may display a general cluster, like the one described previously with regard to files that were created in the same year. When the user interacts with the cluster to display more information relating the files represented by the cluster, ranks are used to determine how that information is displayed. Electronic files that have higher ranks may have representative information regarding the files displayed individually, so that the user can view details about each of the most highly ranked files. For lower ranked files, little or no representative information may be displayed initially. Instead, the system may display a sub-cluster or subgroup that represents several of the lower ranked files. The user may further interact with the sub-cluster or subgroup to display representative information relating to the lower ranked files.
- In another illustrative embodiment, the system may assign higher ranks to electronic files that have previously been designated as important by the user. For example, if a user has backed up a particular file by copying it to a cloud storage device, that file may be considered more important to the user, and thus would be ranked higher, than a file that has never been backed up by the user. Similarly, a file that has been moved by a user from one device to another may be considered either more or less important to a user for ranking purposes. In another example, if a file has ever been attached to an e-mail or other message, the system may consider it more important to a user than a file that has never been attached to a message.
- The ranking system disclosed herein may also be utilized to determine an optimal storage strategy for electronic files. For example, if a particular device has a memory that is full or has reached a certain threshold, the system may determine particular files on that device that should be relocated. The system may use the ranking system to determine which files to relocate. In one embodiment, the system may relocate file associated with relatively high rankings. In another embodiment, the system may relocate files associated with relatively low rankings.
- The systems and methods disclosed herein incorporate an innovative end-to-end search (wider than a typical user search query) for all mail, contacts, devices, and locations where user information may be stored. In such a search functionality, precision and recall may be superior due to the following example implementations. Searching as disclosed herein may be performed to generate a dossier. Such searches may be performed automatically by the system, or the system may create dossiers based on user searches and search terms. A search may be based on natural language and meaningful information may be extracted from the email and metadata. Further, the search may be based on the involvement of background information, which does not exist in the actual desired letter or document, but may be extracted from the previous history of correspondence, from external sources (e.g., Facebook™, LinkedIn™, Wikipedia™, etc.), or from a dossier—a company's ontology, geographies, etc. which are built during the historical correspondence.
- For example, a user may have forgotten the name of an architect with whom she is in sporadic contact. Using systems and methods disclosed herein, the user may make a search query: “looking for a sample wall finishing, which a designer sent to me.” An example system may find such a document even if the picture has been sent as a file attachment with the name P7272812.jpg (a title with no obvious meaning) and the letter in which the file was received contained a single word “Stucco” and no signature. Sender is indicated as “a5067834@hotmail.com” (again an ambiguous title). The system may identify that a5067834@hotmail.com—is associated with a “designer,” because in a previous correspondence they discussed drawings and floor plans.
- Search terms can also be extracted from common knowledge (synonymous/homonymous narrowing/broadening of the search). In other embodiments, fuzzy search, phonetic search, and/or search with the transliteration may be used. Indexed links that are sent in a message body may also be included. Sometimes in traditional systems, a user may not find a desired file or set of files because the user thinks that they sent files as email attachments, when the files were actually sent as a link to a file sharing site like Dropbox™. As another example, when a user is looking for a New York Times™ article, they may not find it because the article came as a reference (e.g., an HTML address or remote storage server address, etc.). However, the current systems and methods could locate the link based on context. Further, a search may be run on letters and attachments, and also through the files on all of a user's devices.
- In an illustrative embodiment, data to or from each contact can be automatically assigned a rank of importance. Dossiers or the information in dossiers may be ranked as disclosed herein. The rank of importance could be represented by a number, such as a number from 1 to 100. The rank of importance could also be a high, medium, or low categorization. Other ways of ranking may also be used. The user may change the ranking system manually, and may also change the rank of particular data manually. The ranks of importance for data may be used to determine how to visualize the incoming messages and e-mails from different contacts. For example, messages from higher ranked contacts or related to higher ranked conversations may be displayed by the system more prominently than other messages. By analyzing the data in social networking channels, e-mail addresses, message structures, and/or signatures in messages, the system may extract a contact's possible past and current places of employment. In this way, the system may build an ontology of the people and companies with whom the user has been corresponding and contacting.
- In another illustrative embodiment, the system may analyze a user's e-mails, the user's contacts' ratings, the user's telephone communications and the like to simplify and organize the user's tasks. For this purpose, the system may implement a series of alerts, follow-ups, reminders (as well as by means of SMS), and the like, some of which may be generated based on the preceding discussion. The system can also identify the promises that the user once gave to e-mail recipients and prioritize and categorize them by identifying certain tasks or e-mails that the user needs to do or write today. The system can also be configured to generate tasks or e-mails that the user needs to do or write within other time periods, such as three days, one week, two weeks, or one month as just some illustrative examples. The system can also identify the promises that someone once gave the user in the correspondence and prioritize and categorize them by identifying the most important cases or e-mails where someone promised to do something for the user. The system may also be configured to create a draft letter reminding these contacts on the user's behalf that something is owed to the user as previously promised. Such a draft letter may include a copy or a quotation from the original correspondence where something was promised.
- In another illustrative embodiment, the system may generate messages or recommendations to the user based on the user's usage and interaction with the system. For example, by analyzing content and user behavior with respect to folders and information sources, the system may jokingly inform the user in a natural language form about the user's activities with respect to the source. For example, when user hovers over a folder the system may gently and jokingly informs him, “You haven't opened this folder for ages.”
- In another embodiment, a user may wish to find a presentation, but does not recall the name of the file and does not remember the name of the file's location. The file may be located on the user's personal laptop or their work laptop. The user does remember that the file was prepared for John Smith, and that the presentation contained a red pie chart diagram. The user may selects a files tab. The system may then display to the user a complete file tree hierarchy of files on all of the user's devices. The user may browse the file tree hierarchy or may utilize a search field.
- In the search field, the user can type any text, and view the results in a linear form with a preview of the text. A small thumbnail preview of each file that is returned in the search results can be viewed on a GUI. Adjacent to the thumbnail is displayed a larger preview of the file. The user may type “presentation prepared for John Smith and it had a red pie diagram,” for example. The software moves to an index of electronic files stored across user's devices and attempts to find the words “red pie diagram.” The system may also look to metadata that has been extracted from electronic files. If the system finds “chart” or “diagram” in the metadata of certain electronic files, those electronic files are displayed to the user more prominently in the GUI. In a similar example, the system may also track if a particular document was sent to persons with the name of “john” and/or “smith.” Those documents may also be displayed more prominently than other documents merely containing the words “chart” or “diagram.” Advantageously, the systems and methods disclosed herein also can find such files and documents when a significant number of files are stored directly as attachments to emails, rather than downloaded onto a particular device. The embodiments disclosed herein, through the metadata search and other functionality, are able to identify such files easily. Furthermore, any of these searching methods may be accompanied by the methods and systems disclosed herein for ranking and displaying on a GUI the search results.
- For example, the file may be located on the user's remote work computer. The user may wish to edit the document and send it to his manager. If the user attempts to open this remote file, the system can make a local physical copy of the file, and the user can work safely without worry about being disconnected from the network and losing the user's edits. However, the system retains the document as one logical file, and when the user is finished editing, the system will update the original copy. The system also attempts to make use of available local applications to execute the file, though where that is not possible, remotely located applications may be utilized.
- The system also allows any files to be moved, deleted, renamed, and copied in any personal cloud. In some embodiments, the actions may be immediately executed if the device the user is using and the device where the file of interest is stored are both online. In some embodiments, being online means being connected to the internet. However, more generally, being online as disclosed herein means that the two devices are able to communicate with each other, either through the internet or otherwise. If the devices are not online, some operations can be ordered with deferred execution. Such a process may prevent the need for people to constantly think about backing up files. Utilizing various mechanisms of the illustrated embodiments, the user can forget the problem of back-ups. In one embodiment, the system simply communicates the system folders and files that are important to the user, and asks the system to always store three physical copies in different locations. The system keeps track of the fact that these folders have at least three replicas. In the event that the user damages a device, for example, they can buy a new device, log into the cloud-based server using their e-mail address, and simply ask to restore the data to the new device. For security purposes, the user may designate those files and folders that he does not wish to be indexed.
- The representative information of electronic files displayed by the system may include information relating to where and how the electronic files are stored. For example, the representative information may include an indication that the file is stored on a particular device or in a cloud storage system. The representative information may also include an indication of whether the file has been backed-up or not. The representative information may also include the location of a backed-up copy of the file. The representative information may also include an indication of whether the device where the file is stored is online or offline. In the case where a file is stored on two different devices, the system may indicate the status of both devices. In another embodiment, the system may only indicate enough about the status of the devices to indicate whether the file is available for opening and/or editing. For example, if a file is on two different devices, and one is online and one is not, the system may indicate on a GUI that the device where the file is stored is online, because the user's actual access to the file is not hindered by one of the devices being offline. Other status's than online and offline may also be indicated by the system. For example, the connections speed or status of a device may be indicated. In another example, a passive or active status may be indicated. Such a status may be relevant if a computing device has a standby, sleep, hibernate, or screen saver mode that restricts remote access to the memory of the device. In another example, instead of online or offline which indicates communication between two devices over a network, a device status may be connected or unconnected. This may be useful for a secure digital (SD) card, portable hard drive, or USB storage device, where the devices are connected directly to a computing device rather than communicating with devices over a network. Other potential statuses that may be indicated by the system about a computing device may include a currently operational status, a currently non-operational status, or a set in a lower functional mode status. Despite the status of a device however, if a file has been previously indexed, the representative information relating to the file can be displayed.
- The smart analysis of the content includes searching and parsing through all of the content related to the contacts of the user to seamlessly organize the content for display. The content includes at least the email data and the files, multiple social networks, data structures, email addresses, signatures of the email data, messages, SMS data, phone calls, text messages, video files, audio files, and images.
- The analyzed content and summary may be displayed in a visual representation in a window of a Graphical User Interface (GUI), wherein the visual representation is visually multi-platform with other visual representations of the information from the plurality of devices to the user.
- As will be appreciated by one skilled in the art, aspects of the embodiments disclosed herein may be embodied as a system, method or computer program product. Accordingly, aspects of the embodiments disclosed herein may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the embodiments disclosed herein may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
- Any combination of one or more computer readable medium(s) may be utilized. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical fiber cable, RF, etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the embodiments disclosed herein may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- Aspects of the embodiments disclosed herein are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments disclosed herein.
- It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, may be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer program instructions may also be stored in a computer readable medium that may direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments disclosed herein. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, may be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
-
FIG. 1 is a flow diagram illustrating amethod 100 of smart analysis of contacts across a plurality of devices in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different operations may be performed. Also, the use of a flow diagram is not meant to be limiting with respect to the order of operations performed. In anoperation 102 themethod 100 beings. In anoperation 104, content of email data and files of the contacts of a user are analyzed for organization of the content. In other words, the system can examine the actual text of an e-mail as well as the other information related to an e-mail, such as date, sender, receiver, etc. Analyzing the content includes searching and/or parsing through all of the content related to the data units including contacts of the user to seamlessly organize the content for display. The content includes at least the email data and the files, a plurality of social networks, data structures, email addresses, signatures of the email data, messages, SMS data, phone calls, text messages, video files, audio files, images, and the like. The smart analysis on the content of the contacts is performed whether a particular one of the plurality of devices is online or offline, passive or active, connected or unconnected, currently operational or turned off, or set in a lower functional mode. In one embodiment, the system may search the contents of an e-mail so that additional connections to other data units may be determined. For example, names of contacts other than the sender or receiver of the e-mail may be contained within the text of the e-mail. In this manner, the system can determine a connection between the e-mail and the contact mentioned in the e-mail for generating dossiers. In another example, the sender or receiver may go by a nickname which is not related to their e-mail alias. However, the nick name may be used in the e-mail, such that the system can identify the nickname from the e-mail and establish additional connections using the nickname. For example, a user may have a social network profile using the nickname which will now be easier to locate and determine a connection to after the system has identified the nickname in the e-mail. - In an
operation 106, themethod 100 searches in a first social network the content of the email data and the files of a defined number of the contacts in communication with the user during a time period. For example, the defined number is at least 50 contacts. In other words, the system may search for the last 50 contacts to e-mail the user in a social network. This number may be dynamically altered and/or changed by an application and/or user. In anoperation 108, the method determines whether the defined number of the contacts has been in communication with the user during a predefined time period. If the contacts are found in the social network (yes), e-mail addresses are collected and the system determines which e-mail addresses are preferable, non-preferable, incorrect, etc. in anoperation 112. If not all the contacts are found in the first social network (no), themethod 100 searches in a second social network the content of the email data and the files of contacts having similar names of the defined number of the contacts in communication with the user during the determined time period in anoperation 110. In anoperation 112, themethod 100 collects email addresses of the contacts and identifies those of the emails addresses that are both preferable, non-preferable, and incorrect email addresses. - In an
operation 114, themethod 100 builds ontology of contacts, which are in communication with the user, by analyzing the contents in one of a plurality of social networks, data structures, email addresses, and signatures of email data. For example, the signature of e-mail (or a social network profile) data may indicate the company a contact works for, so that contact can be easily determined to have a connection with that company for creation of dossiers. In another example, the system may determine from a social network an interest or other profile or demographic (such as city the contact lives in, age, profession, etc.) data that can be useful in creating ontological contacts and generating dossiers. In anoperation 116, themethod 100 adds comments to the email addresses/email data and analyzes a history of short message service (SMS) data correspondence and phone calls. - In an
operation 118, heuristic avatars are assigned to the contacts, which are in communication with the user, from whom information is obtained from a plurality of platforms/device of the user. In anoperation 120, themethod 100 displays the analyzed content and provides a summary of the analyzed content which includes at least one of a relationship of the user with an addressee of a correspondence, a main theme of each one of a plurality of correspondences, a degree of importance to the user, and a recommendation for performing a course of action relating to each one of the plurality of correspondences. - The analyzed content and summary are displayed in a visual representation in a window of a Graphical User Interface (GUI). The visual representation is visually multi-platform with other visual representations of the information from the multiple devices to the user. The
method 100 ends at anoperation 122. -
FIG. 2 is a flow diagram illustrating amethod 200 of smart analysis of contacts using ranked data in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different operations may be performed. Also, the use of a flow diagram is not meant to be limiting with respect to the order of operations performed. At anoperation 202 themethod 200 begins. In anoperation 204, themethod 200 dynamically assigns a rank of importance to the content of a use's contacts. The ranking of importance may be based upon a numerical numbering system from 1 to 100 with 1 being the highest ranking (e.g., most important) and 100 being the lowest ranking (e.g., least important). The user may employ other ranking methods. The rankings may be altered and/or reassigned as needed. The ranking may be performed according to various embodiments and criteria as disclosed herein. - In an
operation 206, themethod 200 analyzes the content in social networking channels, email addresses, data structures, signatures in messages, audio and/or video files, images, and/or other telephonic communication, text messages, SMS messages, and the like. Themethod 200 may facilitate extraction of a contacts possible past and current places of employment, for example. Other data about a contact may also be extracted, such as the contacts age, family members, education, favorite music (or other affinities), coworkers, phone number, links or other identifying information to other social network profiles. In anoperation 208, themethod 200 uses the smart analysis process for building an ontology of the people, organizations, and/or companies with whom the user has been corresponding and contacting. Contacts may also be sorted by theme, such as classmates, service professionals, relatives, friends, etc. - In an
operation 210, themethod 200 clears up (e.g., cleans up and organizes) the disorganization in a user's tasks (step 210). A series of alerts, follow-ups, reminders (as well as by means of SMS) based on the previous analysis may be implemented and uses. In anoperation 212, themethod 200 identifies the promises/task that the user/contact once gave to email recipients (e.g., a promise made by the user to one of the contacts or vice versa) and prioritizes and categorizes them by identifying a number of tasks (e.g., five tasks) or emails that the user needs to perform/write today. For example, themethod 200 then identifies the promises (e.g., promised tasks, commands, orders, socially accepted behavioral actions) that someone once gave the user in the correspondence and prioritizes and categorizes them by identifying an “N” number of the most important cases or emails (e.g., 10 of the most important cases or emails) that someone had to do for the user, and creates a draft letter reminding these people on the user's behalf or serve the user the respective reminder. For example, in one email the user may have indicated to the contact that the user would telephone on a certain day (or vice versa where the contact makes a promise to the user), which is the identified promise. That identified promise may then also be ranked by the analysis. - In an
operation 214, themethod 200 analyzes the user's contact ratings and sends users SMS notifications about the identified promise and/or letter from a person with a correspondingly high rating. Based on the contact's rating, the system can determine whether a reminder is appropriate. Differing types of activities may be assigned a higher ranking and/or priority, such as an assignment made to an individual or a task that is assigned to the user. The mode and/or frequency of notifications may vary based on the rating/ranking. For example, a high rating/ranking may cause the system to send the user an e-mail and an SMS message, with repeated SMS messages twice a day until the user responds. A lower rated/ranked contact may only cause the system to send one e-mail to the user and no other reminders. - In an
operation 216, by smart analyzing content and user behavior with respect to folders and information sources, themethod 200 informs (e.g., jokingly informs) the user in a natural language form about the user's activities with respect to the source (step 216). For example, when a user hovers over a folder the system gently and jokingly informs him, “You haven't opened this folder for ages,” or “I know she's dreadful but you need to respond to your mother-in-law's voicemail before you go home for the holidays and face a reckoning.” In this example, the smart analysis operation has identified the folder has not been opened for a predetermined period of time or that the number that left a voicemail has not been called back. The type of communication, such as the sarcastic comments may be predetermined and/or configured by a user or an application. In anoperation 218, themethod 200 displays the analyzed ranked content and/or promises. In anoperation 220, themethod 200 ends. -
FIG. 3 is a block diagram illustrating acomputer 300 that can be used to generate dossiers for data units in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different components may be included in the system. Thesystem 300 includes one ormore processors 302 connected to amemory 304. The processor(s) 302 may contain one or more computer cores or may be a chip or other device capable of performing computations (for example, a Laplace operator may be produced optically). Thememory 304 may be random access memory (RAM) and may also contain any other types or kinds of memory, particularly non-volatile memory devices (such as flash drives) or permanent storage devices such as hard drives, etc. In addition, an arrangement can be considered in which thememory 304 includes remotely located information-storage media, as well as local memory such as cache memory in the processor(s) 302, used as virtual memory and stored on an external or internalpermanent memory device 310. - The
computer system 300 also usually includes input and output ports to transfer information out and receive information. For interaction with a user, thecomputer system 300 may contain one or more input devices 306 (such as a keyboard, a mouse, a scanner, or other) and output devices 308 (such as displays or special indicators). Thecomputer system 300 may also have one or morepermanent storage devices 310 such as an optical disk drive (CD, DVD, or other), a hard disk, universal serial bus (USB) drive, and/or a tape drive. In addition, thecomputer system 300 may have an interface with one ormore networks 312 that provide connection with other networks and computer equipment. In particular, this may be a local area network (LAN) or a Wi-Fi network, and may or may not be connected to the World Wide Web (Internet). It is understood that thecomputer system 300 may include analog and/or digital interfaces between theprocessor 302 and each of thecomponents - The
computer system 300 is managed by anoperating system 314 and includes various applications, components, programs, objects, modules and other, designated by theconsolidated number 316. The programs used to accomplish the methods corresponding to this invention may be a part of an operating system or may be a specialized peripheral, component, program, dynamic library, module, script, or a combination thereof. Thecomputer system 300 may be used to perform some or all of the functions and methods as disclosed herein. Thecomputer system 300 is merely one embodiment of a system on which the embodiments disclosed herein may be practiced. -
FIG. 4 is a representation of a graphical user interface (GUI) 400 displaying the smart analysis results and dossiers in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different components may be displayed on the GUI. TheGUI 400 shows, among other aspects, dossiers, connections, previews, and relationships between various data units as described herein. In addition, theGUI 400 also depicts various additional functionality as disclosed herein. - In one embodiment, software incorporating these mechanisms may be installed via sharing (link shared via email or other social networking contact), file sharing requiring installation of the software itself, or download from the appropriate website. Upon first use, the software may prompt for login information, such as the following:
- Already using (Software name)?
Your email . . . - New user?
Your email . . .
(Once email address is entered, a confirmation message containing a temporary password may be sent to the user's email.) - After confirming the user's email, the user will see a
software window 400, configured for and/or customized by and/or for the user. In one embodiment, on the right 402, the working part, may be empty initially. On theleft side 404 the user views available icons for sources such as my hard drive, places, documents, photos, attachments, external drives, social media, if currently connected, cloud drives, Exchange, mail servers (Gmail etc.), other locations: camera, media centers etc., and other computers. A visible arrow on theGUI screen 414 offers to drag any icon in the left (workspace) it will mean that the user assigns that service/device to their personal cloud. - At the top of the GUI window, the user views one or more large tabs 406, such as Logo, Files, E-Mail, Contacts, work, all, important, friends, social, promo, and/or more, and the like (only the
logo 406A,email tab 406B, and thefiles 406C is labeled as 406 for brevity sake). Additional tabs will appear later: such as Calendar, and Tasks, and others. There is also alarge search field 412. The software feeds the user with information among the various tabs 406. As analyzing and/or indexing begins, the software displaying progress and results of analyzing/indexing. In the analyzing and indexing, the system detects duplicate files in the user's personal cloud. For example, such duplicates may be categorized as follows: 100% duplicates: the content and metadata includes the date and time. 99.9% of duplicate: files, including content, metadata are the same, but a different date and time. Optional: 99% similar: where there are small differences in content. - The smart analysis disclosed herein utilizing dossiers of the user's contacts offers to consider these files as different versions and ranks the date and author of last modification, looks at which of the files come in the mail, by whom, when etc. The system may offer to merge duplicates in one virtual file. In such a case, the system may treat these physical files as a single logical file and synchronize the changes of this file across all its physical copies. If the duplicate is located within the same physical medium, the software will remove the physical duplicate (keeping logical copy).
- The GUI screen also shows the ranked content (shown in
FIG. 4 as 420A being the ranked the highest asRank 1 and the remaining ranked contents “rank 2-100) shown as 420B). The smart analysis operation all displays the providedsummary 422 as mentioned herein. TheGUI screen 400 also displays the identified promises/task 408 made by the user to one of the contacts or vice versa) and prioritizes and categorizes them by identifying a number of tasks (e.g., five tasks) or emails that the user needs to perform/write today. An overall smart analysis of the user's contacts may also be displayed in aresults section 424. The data units shown here that are ranked may be ranked using generated dossiers as disclosed herein. -
FIG. 5 is a representation of aGUI 500 demonstrating a theme based dossier view in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different components may be displayed on the GUI. TheGUI 500 includese-mails tab 505 andfiles tab 510. In this embodiment, thefiles tab 510 is selected, and therefore files, instead of e-mails, are displayed in theGUI 500. TheGUI 500 also includessecondary tabs 515. In this embodiment, the worksecondary tab 515 is selected, so that files relating to the user's work are displayed. TheGUI 500 therefore shows a work dossier, that is, all the data units (other than e-mails in this case) that are related to work (data units with a connection to the user's work) are shown. TheGUI 500 indicates withicon 520 which secondary tab is selected. In this scenario, theicon 520 is a folder because there is an actual virtual folder for work related files (the dossier for work). The displayed files in theGUI 500 may be stored on different devices, but can still be located in the same work virtual folder. Thespace size indicator 525 indicates that the work virtual folder contains 2.3 gigabytes of data. In an alternative embodiment, thespace size indicator 525 may also indicate a space remaining that is allotted to the user or the user's virtual work folder. - The folders display 530 of the
GUI 500 shows that there are six folders associated (or that have a connection with) with work. The folders display 530 also shows the sixindividual folders 540. Afolders size indicator 535 indicates that the folders contain 900 megabytes of data. Thefolders 540 may be opened to display the contents. Thefolders 540 may be physical or virtual folders, in that they may indicate actual physical storage locations or organizational storage locations. - The
music display 545 of theGUI 500 shows severalaudio files 550. While themusic display 545 shows that 123 audio files exist, only a few are actually shown onGUI 500. The system may display audio files that are most often played by the user, or the system may use some other criteria to determine which audio files are displayed. The system may show higher ranked files in accordance with the methods for ranking files disclosed herein. In an alternative embodiment, the system may display random audio files. If the user wishes to view other audio files, the user may select themusic display 545 title in order to navigate to a GUI that displays more or all of the audio files. In an alternative embodiment, the user may be able to scroll through the list of theaudio files 550 to view additional audio files. - The documents display 555 of the
GUI 500 shows several different documents of different types. Thedocuments size indicator 565 indicates that the documents take up 200 megabytes of memory. Example documents displayed in the documents display 555 includedocument 560 anddocument 570. Similar to the audio files above, these documents may be displayed randomly from the 432 total documents, or the documents may be displayed based on a particular criteria, such as most recently modified or opened documents, or a ranking using the methods as disclosed herein. - Photos are also displayed on the
GUI 500. For example,photo 575 andphoto 585. For simplicity,photo 585 does not show an image. However,photo 585 is meant to represent a lower resolution image than that ofphoto 575. There are still further lower resolution images displayed thanphoto 585. Further, a magnifyingglass icon 580 is shown. In this embodiment, the magnifyingglass icon 580 represents a search function that allows a user to search only the photos in the work virtual folder. Note that similar icons are present for the music, documents, and other portions of theGUI 500. In this way, particularly if the photo the user desires is not currently displayed, the user may locate a particular photo or photos. Photos may be searched based on the photos' metadata, for example. In this embodiment, higher ranked photos are displayed more prominently than lower ranked photos. - Here, a broad dossier is shown in the
GUI 500. Next, a further narrowing search can be performed using any of the magnifying glass icons, such as the magnifyingglass icon 580. In this way, the user can search among the broad dossier in a more pointed way to attempt to locate the exact file the user is looking for. TheGUI 500 may subsequently other subsets of the work dossier, resulting in less data units being displayed. In other words, either a new subset dossier is generated and displayed, or the data units shown in theGUI 500 have dossiers that are analyzed as disclosed herein to determine if the data units are relevant to the search. - The
other display 590 is also displayed on theGUI 500. There are only two files in theother display 590. For example, thefile 595 is shown here. Files that may commonly be placed in theother display 590 are files that may not easily fit into the other categories displayed on theGUI 500, such as folders, music, documents, and photos. -
FIG. 6 is a representation of aGUI 600 demonstrating an e-mail interface showing a dossier relating to a contact in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different components may be displayed on the GUI. TheGUI 600 further displays an embodiment for viewing and writing e-mails in accordance with an illustrative embodiment. TheGUI 600 includes ane-mails tab 605 and afiles tab 610. Here, thee-mails tab 605 is selected. - The
GUI 600 also includes various sections of contacts, such as therecent contacts 620 section, thelobster 625 section, thefamily 630 section, and thefriends 640 section. Each of the sections contain a dossier of contacts related to that section theme. Here, therecent contacts 615 are displayed, and for example includecontact 620. Here, only a name, e-mail address, and photo or avatar is shown. However, alternative embodiments may show more or less information relating to a contact. Thelobster 625 contacts are not displayed on theGUI 600. A downward facing arrow to the left of thelobster 625 indicates that the contacts are hidden. If the user interacts with the downward facing arrow, the contacts will be displayed and the downward facing arrow will be displayed as an upward facing arrow, similar to those offamily 630 andfriends 640. If the upward facing arrow offamily 630 orfriends 640 is interacted with, those groups of contacts will not be displayed on theGUI 600. In this embodiment,recent contacts 615 cannot be hidden. However, in other embodimentsrecent contacts 615 may be hidden. Additionally, the groups of contacts displayed may be configured automatically by the system or manually by the user. Contact 635 is an example contact in thefamily 630 contacts section. Contact 645 is an example contact in the friends section. - In the
GUI 600, thecontact 620 is selected as evidenced by anarrow 650, and therefore only data units relating to contact 620 are shown in theGUI 600. Accordingly, multiple layers of dossiers are present in theGUI 600. First, the recent contacts dossier shows several data units (contacts) that the user has communicated with recently. Next, thecontact 620 has been selected, which displays a dossier of data units related to thecontact 620. For example, previews 675 and 680 of messages fromcontact 620 are shown, as well asfull e-mail 690. The messages can be sorted or organized on theGUI 600 in several ways. For example, the messages may be sorted or organized withmessage type buttons 655. The user can select to display only one or more message types. Here, the message types the user may select include e-mails, Skype™ messages, Facebook™ chats, and iMessages. Other options may be provided. The e-mails may also be sorted utilizingsub-tabs 660, which include newest, oldest, important, archived, and deleted. Here, the newest sub-tab is selected as evidenced by anarrow 665. -
Draft e-mail section 670 provides the user an opportunity to respond to a selected e-mail.Draft e-mail section 670 allows the user to enter text for an e-mail, add attachments, to an e-mail, format the text of the e-mail, and add recipients to the e-mail. - Here,
preview 675 has been selected as evidenced by anarrow 685 by the user and is shown as thefull e-mail 690. Thepreview 675 includes only contact information for the sender and some of the text of the e-mail. Thefull e-mail 690 shows the contact information, a morecomplete contact information 697, photos such asphoto 695, and the full text of the e-mail. Thecomplete contact information 697 may, for example, include information that was collected about the contact according to embodiments disclosed herein. For example, inclusion in the architect group may have been the result of the system determining from a social network such as LinkedIn™ that the contact is an architect by trade. - Additionally, the user for the
GUI 600 has positioned a pointer overpreview 680. As a result, the system has displayed a context menu over a portion of thepreview 680. Further, it is worth noting that thepreview 680 is offset in theGUI 600 from the other preview e-mails. This may indicate that thepreview 680 is a part of an e-mail conversation relating to the preview directly above it. - The context menu includes six icons. Starting from the left, a pin icon can be interacted with to determine whether or not the e-mail remains on the
GUI 600 display. The first left facing arrow may be interacted with by the user to direct the display to the first e-mail in an e-mail conversation. The second left facing arrow may be interacted with to direct the display to the previous e-mail in an e-mail conversation. Interacting with the right facing arrow may direct the display to the next e-mail in an e-mail conversation. In an alternative embodiment, the right facing arrow may be interacted with to direct the display to the final or most recent e-mail in an e-mail conversation. The icon second from the right is a download icon. When interacted with by the user, the e-mail and/or any attachments in the e-mail will be downloaded. The last icon is an X icon. If interacted with, that e-mail will be closed or hidden from view. In an alternative embodiment, interacting with the X icon will delete the e-mail. -
FIG. 7 is a representation of aGUI 700 demonstrating a dynamic birds-eye view of various dossier summaries in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different components may be displayed on the GUI. - The
GUI 700 demonstrates a state of a dynamic view of several different dossiers, which may be termed a birds-eye view. The dossiers here are contact related, theme related, time related, and tag related. The birds-eye view assists the user to understand the structure of all of the data in his entire network. In addition, this dynamic view presents any history of file changes to the user. - The
GUI 700 includes ane-mails tab 705 and afiles tab 710. Here the Macintosh HD is selected from the workspace as evidenced by anarrow 715. Here, the search term “#GREEN” has been entered into thesearch field 720, although in this embodiment the search has not been executed (thus dossiers other than just a “#GREEN” dossier are still shown). However, in other embodiments, a dynamic display like the one inFIG. 7 may be displayed with search terms being executed. In that embodiment, there still may be multiple dossiers displayed as inFIG. 7 , but the dossiers will only represent data units relevant to the search term(s). Here, all the dossiers shown are previews or summaries of the dossiers, with only the theme or subject of the dossier shown. The user can select these dossiers in order to view more detail on the dossiers. - The dossiers shown as groups in the
GUI 700 all represent different things. For example,group 725 represents all photos on the user's Macintosh HD. If thegroup 725 is selected, the photos may be displayed and examined in greater detail. The relative size and prominence of thegroup 725 conveys information to the user. Here, it may convey that the user has more pictures than music or video. In another embodiment, the relative prominence ofgroup 725 may be an indicator that the user accesses photos more often than music or video files. Similarly,groups groups group 730 represents groups of files that correspond to certain contacts of the user. - In another example,
groups year 2013 are represented bygroup 735.Group 735 is displayed more prominently than the other year groups (here 2011 and 2012) because of a relevance factor. That is, the system considers theyear 2013 to be more relevant than past years to the user, thusgroup 735 is displayed more prominently.Group 750 is displayed with a medium amount of prominence because it may also be considered relevant to the user, since it contains files from last week. However,group 750 is still intentionally smaller thangroup 735 to indicate the relatively smaller group of files that are from last week than are from theentire year 2013. Also displayed on theGUI 700 is asearch dialog 745. Thesearch dialog 745 offers an alternative to thesearch field 720. Any searches performed using thesearch dialog 745 may be dynamically displayed. That is, if a user searches for something, the user may visibly see groups (dossiers) change shape, move, be added, disappear, or change color depending on the relevance of files in each group to the search performed. Furthermore, groups can be customized and configured by the user or can be automatically generated by the system. - The groups (dossiers) displayed on the
GUI 700 can be interacted with by the user in a unique way. Each of the groups is displayed as a physical object that can be moved and has mass, speed, inertia, acceleration, magnetic, gravity, and/or other physical forces. The groups will therefore move and interact according to physical laws. A user may interact with the groups by dragging, moving, etc. the groups around theGUI 700. The groups themselves also interact with each other. For example, a very small group may be pulled toward a larger group through a gravity force. Groups can change behavior, trajectory, color, and shape while a user moves a pointer or finger, types a search query, gets search results, moves items, scrolls through lists, or does other actions. A search can be performed by dragging a group or groups to thesearch dialog 745. A search term can be removed from the search by dragging it out of thesearch dialog 745. In one embodiment, the system is constantly estimated each group's importance to the user, and the physical size of the group indicates the relative importance calculation of that group to the user. Other facets of a group may also be used to indicate importance, such as position, shape, content, and dynamic effects of a group. - For example, the groups may interact in ways similar to how physical objects might interact. For example, if a user drags a group by touching and swiping a group through a touchscreen, any groups that the dragged group comes into contact with may be bumped and moved on the display. In other words, no two groups may occupy the same coordinate space on the
GUI 700, so if one bumps into another one will have to yield. In this regard, when two groups collide, the relative inertia, mass, and velocity of the groups may be taken into account. In other words, if a smaller group bumps a larger group, the larger group may be considered to have a larger mass than the smaller group. Thus, the smaller group would be able to transfer inertia to the larger group that either causes the larger group to move only slowly, while causing the smaller group to bounce off the larger group with much more velocity. In an alternative embodiment, where the user is dragging a group as described above, the system may give the group super powers. That is, the user dragging a group may give the group virtually unlimited mass, causing any group in its path to bounce off of it and out of the way. In this way, if a user wants to place a group in a particular place, they cannot be stopped from doing so. - In another example, certain groups may be subject to certain magnetic forces. For example, one group may subjected to a force between itself and a first type of groups, but not a second type of groups. For example, a photos group may be pulled toward other groups that contain other audio and/or visual media, such as videos, podcasts, music, and the like. In this way, by programming in a magnetic force between similar group types, the similar groups can be displayed together because of the magnetic forces acting upon them, as shown in one example in
FIG. 7 . The system may also include negative magnetic forces. That, is some groups may also be programmed to repel each other. For example, a GUI may include groups related to personal photos and work photos. In order to prevent the two from mixing or being associated with each other, a repelling magnetic force may be programmed in. - Regarding mixing, the user may combine groups using the
GUI 700. For example, a user may specify that one group envelope another to create a larger group representing the files of both the original two groups. - In an embodiment where a user may drag different groups around the
GUI 700, a user may slow down and stop the movement of the group before releasing it. In this case, the group may not move after release, but for other forces acting on it, such as gravitational or magnetic forces. In another embodiment, the user may not slow down or stop the movement of a group being dragged before releasing the group. In this case, the moving group may maintain its inertia unless acted on by other forces. For example, the group may crash into other groups, cause the group to bounce and/or the other groups to move on theGUI 700. - Regarding searching, a user may search by either typing into the
search dialog 745 or dragging other groups to thesearch dialog 745. For example, if the user wishes to see group representations of files that only relate to the hashtag “sea,” thegroup 755 may be dragged by the user to thesearch dialog 745. Once thegroup 755 has been placed in thesearch dialog 745, thegroup 755 may no longer be subjected to the forces it would otherwise be subjected to. That is, thegroup 755 is stuck in thesearch dialog 745. The system will perform the search by changing the relative sizes of the other remaining groups displayed on theGUI 700 to indicate files that are relevant to the hashtag “sea.” The changing of the sizes may be demonstrated immediately, or may be animated as a transition over time. Regardless of how quickly the groups change size to indicate the search results, the forces present between groups may change, and the groups will react accordingly. For example, if a group gets bigger, it may push other groups out of the way, while exerting a larger gravitational force on the other groups. If a group gets smaller, the gravitational force exerted on other groups may be reduced. The changes in gravitational forces based on search results may cause the groups to actually move on theGUI 700 after the search is performed. Changes to groups based on searches, combinations, movements, etc. may also cause the system to determine new connections for files within the groups/dossiers and generate new dossiers/groups as needed. Such determining of connections and generation of new dossiers can be done according to methods and systems disclosed herein. - Although circles are used to represent groups in
FIG. 7 , other shapes may be used in other embodiments. In such embodiments, the shape of a group may impact how the groups physically interact. For example, a circle bouncing off a circle in theGUI 700 may not happen in the exact same way as a circle bouncing off of a triangle, the bounce angle may be different due to the different shape. -
FIG. 8 is a representation of aGUI 800 demonstrating a photo view overlay dossier of a dynamic birds-eye view of a user's data in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different components may be displayed on the GUI. TheGUI 800 demonstrates a state of a view similar to theGUI 700 discussed above with respect toFIG. 7 . However, theGUI 800 shows anoverlay 840 that represents a photo dossier. - The
GUI 800 includes ane-mails tab 805 and afiles tab 810. Here the Macitosh HD is selected from the workspace as evidenced by anarrow 815. Also here, the search term “#GREEN” has been entered into thesearch field 820. Hence, in this embodiment, the photos shown in theoverlay 840 are not related to the search term because the search has not been executed. However, in other embodiments, photos or other electronic files may be shown in theoverlay 840 that are related to the search term. In other embodiments, the files could represent the selection of or interaction with any of the groups shown inFIG. 7 . If a search term has been entered, as here, then the files shown in theoverlay 840 dossier will relate to the search term and the selected group. For example, if a user selected thegroup 735 fromFIG. 7 , theoverlay 840 would display files related to theyear 2013. Here, the user has selected or interacted with thegroup 725, which causes photos to be displayed. - The
overlay 840 dossier includes several photos on display, includingphotos photos overlay description 825, theGUI 800 displays that photos are selected, and that there are 112 photos relevant to the search term here. The photos displayed in theoverlay 840 are photos that rank higher than the other relevant photos. The ranking of the photos may be calculated using any of the ranking calculation systems and methods disclosed herein. - The
photos overlay 840 may be interacted with. For example, the photos may be selected and viewed in greater detail in another GUI. In another embodiment, selecting a photo may allow the user to modify the metadata associated with the file, such as the tags of the file. In another embodiment, selecting a file from theoverlay 840 may cause the system to open the file using a separate software application. In another embodiment, selecting a file from theoverlay 840 may display on a GUI a dossier related to that particular selected file. In one embodiment, the overlay may be a dynamic group similar to the groups described above with respect toFIG. 7 . In another embodiment, a user may be able to interact with theoverlay 840 to resize the overlay itself and/or the previewed files displayed within theoverlay 840. The user may also be able to interact with the displayed files in theoverlay 840 to perform file management functions. For example, the user may be able to move files to different places. In one embodiment, the user may accomplish a moving of a file by selecting and dragging that file to one of the locations or places displayed in the workspace on the left of theGUI 800. - In another alternative embodiment, the overlay may reflected multiple selected groups that have been selected by the user. For example, if the user selected
groups FIG. 7 , theoverlay 840 will display photos that have the tag “#SEA.” In another embodiment, theoverlay 840 may display electronic files (or representative information of those electronic files) that relate to an interaction with thesearch dialog 745 ofFIG. 7 . For example, if the user enters text into thesearch dialog 745, theoverlay 840 will be displayed to show files related to that text. In another embodiment, a group or groups may be dragged and dropped on thesearch dialog 745. In this embodiment, theoverlay 840 may display files related to the group(s) that were dragged to thesearch dialog 745. Further, the user may search using a combination of text entry and dragging groups to thesearch dialog 745. -
FIG. 9 is a block diagram illustrating various computing and electronic storage devices that may be used in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different components may be included in the system.FIG. 9 includes apersonal computing device 900, a portable storage device 997, anetwork 925, acloud storage system 930, atablet device 940, and a mobileelectronic device 965. Thepersonal computing device 900 includes aprocessor 915 that is coupled to amemory 905. Thepersonal computing device 900 can store and recall data and applications in thememory 905. Theprocessor 915 may also display objects, applications, dossiers, data units, etc. on a display/interface 910. The display/interface 910 may be a touchscreen, a game system controller, a remote control, a keyboard, a mouse, a trackpad, a microphone, a camera, a set of buttons, a standard electronic display screen, a television, a computer monitor, or any combination of those or similar components. Theprocessor 915 may also receive inputs from a user through the display/interface 910. Theprocessor 915 is also coupled to atransceiver 920. With this configuration, theprocessor 915, and subsequently thepersonal computing device 900, can communicate with other devices, such as thecloud storage system 930 through aconnection 987 and thenetwork 925. AlthoughFIG. 9 shows onepersonal computing device 900, an alternative embodiment may include multiple personal computing devices. - The
tablet device 940 includes aprocessor 955 that is coupled to amemory 945. Theprocessor 955 can store and recall data and applications in thememory 945. Theprocessor 955 may also display objects, applications, data, etc. on a display/interface 950. The display/interface 950 may be a touchscreen as most tablets have, but may also include or incorporate a keyboard, a game system controller, a remote control, a mouse, a trackpad, a microphone, a camera, a set of buttons, a standard electronic display screen, a television, a computer monitor, or any combination of those or similar components. Theprocessor 955 may also receive inputs from a user through the display/interface 950. Theprocessor 955 is also coupled to atransceiver 960. With this configuration, theprocessor 955, and subsequently thetablet device 940, can communicate with other devices, such as thepersonal computing device 900 through aconnection 995 and thenetwork 925. - The mobile
electronic device 965 includes aprocessor 975 that is coupled to amemory 985. Theprocessor 975 can store and recall data and applications in thememory 985. Theprocessor 975 may also display objects, applications, data, etc. on a display/interface 980. The display/interface 980 may be a touchscreen, a game system controller, a keyboard, a remote control, a mouse, a trackpad, a microphone, a camera, a set of buttons, a standard electronic display screen, a television, a computer monitor, or any combination of those or similar components. Theprocessor 975 may also receive inputs from a user through the display/interface 980. Theprocessor 975 is also coupled to atransceiver 970. With this configuration, theprocessor 975, and subsequently the viewerelectronic device 965, can communicate with other devices, such as thetablet device 940 through aconnection 990 and thenetwork 925. AlthoughFIG. 9 shows only one mobileelectronic device 965, an alternative embodiment may include multiple mobile electronic devices. -
FIG. 9 also includes thecloud storage system 930. Thecloud storage system 930 may include a number of servers that may have memory and processors. Thecloud storage system 930 is connected to the network through aconnection 935 and may communicate with other devices such as the mobileelectronic device 965. -
FIG. 9 also includes the portable storage device 997. This portable storage device 997 may be a removable USB drive for example. Since such a portable memory does not have a processor, the portable storage device 997 must be connected to a computing device for the information and files stored on the portable storage device 997 can be read by such devices. Accordingly, in this embodiment, the portable storage device 997 is plugged into thepersonal computing device 900, which can read the data from the portable storage device 997 and communicate its contents or data related to its contents to any of the other devices that have access to thenetwork 925. - The devices shown in the illustrative embodiment may be utilized in various ways. For example, any of the
connections connections connections connections connections connections network 925 may also include similar components described above with respect to theconnections network 925 may include intermediate servers, routing devices, processors, data traffic management services, and wired or un-wired connections. - To operate different embodiments of the system or programs disclosed herein, the various devices may communicate using the software systems and methods disclosed herein. Software applications may be manually installed on the devices or downloaded from the internet. Such software applications may allow the various devices in
FIG. 9 to perform some or all of the processes and functions described herein. Additionally, the embodiments disclosed herein are not limited to being performed only on the disclosed devices inFIG. 9 . It will be appreciated that many various combinations of computing devices may execute the methods and systems disclosed herein. Examples of such computing devices may include smart phones, personal computers, servers, laptop computers, tablets, blackberries, RFID enabled devices, video game console systems, smart TV devices, or any combinations of these or similar devices. - In one embodiment, a download of a program to the mobile
electronic device 965 involves theprocessor 975 receiving data through thetransceiver 970 throughconnection 990 and thenetwork 925. Thenetwork 925 may be connected to the internet. Theprocessor 975 may store the data (like the program) in thememory 985. Theprocessor 975 can execute the program at any time. In another embodiment, some aspects of a program may not be downloaded to the viewerelectronic device 965. For example, the program may be an application that accesses additional data or resources located in a server, or even thecloud storage system 930 which may include one or more servers. In another example, the program may be an internet-based application, where the program is executed by a web browser and stored in a server that is part of thenetwork 925 or thecloud storage system 930. In the latter example, temporary files and/or a web browser may be used on the mobileelectronic device 965 in order to execute the program, system, application, etc. In additional embodiments, thetablet device 940 and thepersonal computing device 900 may use, store, or download software applications and web based programs in a similar way. - The configuration of the
personal computing device 900, the portable storage device 997, thetablet device 940, the mobileelectronic device 965, thenetwork 925, and thecloud storage system 930 is merely one physical system on which the disclosed embodiments may be executed. Other configurations of the devices shown exist to practice the disclosed embodiments. Further, configurations of additional or fewer devices than the ones shown inFIG. 9 may exist to practice the disclosed embodiments. Additionally, the devices shown inFIG. 9 may be combined to allow for fewer devices or separated where more than the five devices shown exist in a system. -
FIG. 10 is a flow diagram illustrating amethod 1000 of generating a dossier for data units in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different operations may be performed. Also, the use of a flow diagram is not meant to be limiting with respect to the order of operations performed. In an operation 1005, the system identifies data units associated with a user. In other words, the system locates or indexes files, contacts, photos, videos, etc. across various electronic devices and cloud storage systems controlled by or accessible to the user. - In an
operation 1010, the system determines connection data between a first data unit and a second data unit. For example, the system may determine that an e-mail (first data unit) was sent by a contact (second data unit). In another example, the system may determine that a document (first data unit) was last modified by a contact (second data unit). In another example, the system may determine that a photo (first data unit) was taken in a particular location (such as at work, home, the beach, Kuala Lumpur, Moscow, Honolulu, etc.; the second data unit). In another example, the system may determine that a first data unit like a file or e-mail is connected to work (second data unit). Many other combinations are contemplated and these examples are not meant to be limiting. - In an
operation 1015, the system generates a dossier for the first data unit including the connection data and representative information of the first data unit. This dossier contains important information regarding the first data unit and its connections and links to other data units that the user controls or has access to. - In an
operation 1020, the system displays the dossier on a graphical user interface (GUI). In this embodiment, the system displays all of the information in the dossier. In other embodiments, the system may only display some of the information in the dossier. For example, the system may generate a preview or summary of the dossier to display on the GUI. In another embodiment, the system may rank the connection data and determine higher ranking connection data to display on the GUI and determine lower ranking data to omit from displaying on the GUI. -
FIG. 11 is a flow diagram illustrating amethod 1100 of generating an ontology of data units and ranking the data units in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different operations may be performed. Also, the use of a flow diagram is not meant to be limiting with respect to the order of operations performed. In anoperation 1105, the system generates a plurality of dossiers for a plurality of data units. The system may do this utilizing systems and methods as disclosed herein. - In an
operation 1110, the system determines connection data between the plurality of data units that already have dossiers. In other words, the system can determine connection data related to the connection data already determined for each individual dossier. As an example, an e-mail (data unit) is examined and deemed to have connection data that connects the e-mail to a particular company based on a signature line of the e-mail. In theoperation 1110, the system determines connection data between all data units to determine which dossiers have been connected already to the particular company. In other words, the dossiers themselves can essentially be used to create additional connection data. This connection data is utilized in anoperation 1115 to generate an ontology of the plurality of data units. In the example, the ontology would include all data units that have connection data related to the particular company. For example, e-mails from the company, contacts from the company, and documents sent from the company may all be included the ontology. - In an
operation 1120, the system may determine a ranking of the plurality of data units that are included in the ontology based on the connection data of each of the plurality of data units. For example, the system may prioritize and rank higher contacts that have higher levels of communication with the user. In another example, the system may rank higher documents, photos, etc. that have been opened and/or modified more often than others. The rankings may be used to determine how an ontology or which parts of an ontology are displayed on a GUI. - In an illustrative embodiment, any of the operations described herein can be implemented at least in part as computer-readable instructions stored on a computer-readable medium or memory. Upon execution of the computer-readable instructions by a processor, the computer-readable instructions can cause a computing device to perform the operations.
- The foregoing description of illustrative embodiments has been presented for purposes of illustration and of description. It is not intended to be exhaustive or limiting with respect to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the disclosed embodiments. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/579,029 US20150186369A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Dossiers for Data Units |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361922597P | 2013-12-31 | 2013-12-31 | |
US14/579,029 US20150186369A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Dossiers for Data Units |
Publications (1)
Publication Number | Publication Date |
---|---|
US20150186369A1 true US20150186369A1 (en) | 2015-07-02 |
Family
ID=53481964
Family Applications (9)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/311,851 Active US9304657B2 (en) | 2013-12-31 | 2014-06-23 | Audio tagging |
US14/311,952 Active - Reinstated 2035-02-28 US9778817B2 (en) | 2013-12-31 | 2014-06-23 | Tagging of images based on social network tags or comments |
US14/533,593 Abandoned US20150186398A1 (en) | 2013-12-31 | 2014-11-05 | Method and System for Displaying Files Indicating File Location |
US14/579,500 Active 2035-12-06 US10209859B2 (en) | 2013-12-31 | 2014-12-22 | Method and system for cross-platform searching of multiple information sources and devices |
US14/579,204 Abandoned US20150186478A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Tree Representation of Search Results |
US14/579,559 Abandoned US20150186395A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Offline File Management |
US14/579,029 Abandoned US20150186369A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Dossiers for Data Units |
US14/579,616 Abandoned US20150186366A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Displaying Universal Tags |
US14/579,336 Abandoned US20150186381A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Smart Ranking of Search Results |
Family Applications Before (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/311,851 Active US9304657B2 (en) | 2013-12-31 | 2014-06-23 | Audio tagging |
US14/311,952 Active - Reinstated 2035-02-28 US9778817B2 (en) | 2013-12-31 | 2014-06-23 | Tagging of images based on social network tags or comments |
US14/533,593 Abandoned US20150186398A1 (en) | 2013-12-31 | 2014-11-05 | Method and System for Displaying Files Indicating File Location |
US14/579,500 Active 2035-12-06 US10209859B2 (en) | 2013-12-31 | 2014-12-22 | Method and system for cross-platform searching of multiple information sources and devices |
US14/579,204 Abandoned US20150186478A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Tree Representation of Search Results |
US14/579,559 Abandoned US20150186395A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Offline File Management |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/579,616 Abandoned US20150186366A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Displaying Universal Tags |
US14/579,336 Abandoned US20150186381A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Smart Ranking of Search Results |
Country Status (1)
Country | Link |
---|---|
US (9) | US9304657B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170083506A1 (en) * | 2015-09-21 | 2017-03-23 | International Business Machines Corporation | Suggesting emoji characters based on current contextual emotional state of user |
US9778817B2 (en) | 2013-12-31 | 2017-10-03 | Findo, Inc. | Tagging of images based on social network tags or comments |
US10129273B2 (en) * | 2001-11-30 | 2018-11-13 | Cisco Technology, Inc. | System and methods for computer network security involving user confirmation of network connections |
US10771413B1 (en) * | 2015-09-11 | 2020-09-08 | Wells Fargo Bank, N.A. | System and method for customizing electronic messages |
US10878045B1 (en) | 2015-09-01 | 2020-12-29 | Honest Work Corporation | System, method, and computer program product for determining peers of a user by evaluating persons identified from a calendar of the user |
US11062252B1 (en) * | 2015-09-01 | 2021-07-13 | Honest Work Corporation | Work related feedback system, method, and computer program product |
US11669550B2 (en) | 2017-06-02 | 2023-06-06 | Apple Inc. | Systems and methods for grouping search results into dynamic categories based on query and result set |
Families Citing this family (182)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6505123B1 (en) | 2000-07-24 | 2003-01-07 | Weatherbank, Inc. | Interactive weather advisory system |
US20060161469A1 (en) | 2005-01-14 | 2006-07-20 | Weatherbank, Inc. | Interactive advisory system |
US8229467B2 (en) | 2006-01-19 | 2012-07-24 | Locator IP, L.P. | Interactive advisory system |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US8719046B2 (en) * | 2008-11-25 | 2014-05-06 | General Electric Company | Systems and methods for interruption workflow management |
US20120311585A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Organizing task items that represent tasks to perform |
USD680125S1 (en) * | 2010-11-16 | 2013-04-16 | Apple Inc. | Display screen or portion thereof with graphical user interface |
US20120131507A1 (en) * | 2010-11-24 | 2012-05-24 | General Electric Company | Patient information timeline viewer |
US20120130741A1 (en) * | 2010-11-24 | 2012-05-24 | General Electric Company | Integrated patient information viewer interface |
US20160148227A1 (en) * | 2011-06-03 | 2016-05-26 | Nudgit, Inc. | System and methods for demand-driven transactions |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US9747296B2 (en) * | 2012-11-12 | 2017-08-29 | Samsung Electronics Co., Ltd. | Method and apparatus for managing storage space on storage device in an electronic apparatus by using context data and user profile data |
KR102516577B1 (en) | 2013-02-07 | 2023-04-03 | 애플 인크. | Voice trigger for a digital assistant |
US9952742B2 (en) * | 2013-03-14 | 2018-04-24 | Google Llc | Providing trending information to users |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
RU2595533C2 (en) * | 2013-10-02 | 2016-08-27 | Общество С Ограниченной Ответственностью "Яндекс" | System for displaying mail attachments on web mail page |
US20150106741A1 (en) | 2013-10-15 | 2015-04-16 | Microsoft Corporation | Managing conversations |
US9710447B2 (en) * | 2014-03-17 | 2017-07-18 | Yahoo! Inc. | Visual recognition using social links |
US8862646B1 (en) * | 2014-03-25 | 2014-10-14 | PlusAmp, Inc. | Data file discovery, visualization, and importing |
US20150326620A1 (en) * | 2014-05-06 | 2015-11-12 | Dropbox, Inc. | Media presentation in a virtual shared space |
US20150350028A1 (en) * | 2014-05-28 | 2015-12-03 | Devilabs Oy | Arrangement for remotely managing computer systems |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
EP3149728B1 (en) | 2014-05-30 | 2019-01-16 | Apple Inc. | Multi-command single utterance input method |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9767101B2 (en) * | 2014-06-20 | 2017-09-19 | Google Inc. | Media store with a canonical layer for content |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9563912B2 (en) * | 2014-08-15 | 2017-02-07 | Microsoft Technology Licensing, Llc | Auto recognition of acquirable entities |
US10242047B2 (en) * | 2014-11-19 | 2019-03-26 | Facebook, Inc. | Systems, methods, and apparatuses for performing search queries |
US10320727B1 (en) | 2014-12-15 | 2019-06-11 | Amazon Technologies, Inc. | Managing document feedback on a sharing service using a messaging client |
US20160259856A1 (en) * | 2015-03-03 | 2016-09-08 | International Business Machines Corporation | Consolidating and formatting search results |
US10587564B2 (en) * | 2015-03-05 | 2020-03-10 | Microsoft Technology Licensing, Llc | Tracking electronic mail messages in a separate computing system |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9395892B1 (en) | 2015-03-23 | 2016-07-19 | Dropbox, Inc. | Shared folder backed integrated workspaces |
US10963430B2 (en) | 2015-04-01 | 2021-03-30 | Dropbox, Inc. | Shared workspaces with selective content item synchronization |
US9922201B2 (en) | 2015-04-01 | 2018-03-20 | Dropbox, Inc. | Nested namespaces for selective content sharing |
US10001913B2 (en) * | 2015-04-01 | 2018-06-19 | Dropbox, Inc. | Shared workspaces with selective content item synchronization |
USD778932S1 (en) * | 2015-04-06 | 2017-02-14 | Domo, Inc. | Display screen or portion thereof with a graphical user interface for analytics |
KR20160122501A (en) * | 2015-04-14 | 2016-10-24 | 엘지전자 주식회사 | Display device and wearable device comprised in synchronizing system and controlling method thereof |
USD781327S1 (en) | 2015-05-01 | 2017-03-14 | Sap Se | Display screen or portion thereof with transitional graphical user interface |
USD775172S1 (en) * | 2015-05-01 | 2016-12-27 | Sap Se | Display screen or portion thereof with graphical user interface |
US10547571B2 (en) * | 2015-05-06 | 2020-01-28 | Kakao Corp. | Message service providing method for message service linked to search service and message server and user terminal to perform the method |
US20160342614A1 (en) * | 2015-05-19 | 2016-11-24 | Samsung Electronics Co., Ltd. | Method for transferring data items in an electronic device |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US10831771B2 (en) * | 2015-07-06 | 2020-11-10 | Sap Se | Interactive exploration of large graphs |
US9747030B2 (en) * | 2015-07-14 | 2017-08-29 | Verizon Patent And Licensing Inc. | Managing media content storage for user devices |
US10191891B2 (en) | 2015-08-26 | 2019-01-29 | Microsoft Technology Licensing, Llc | Interactive preview teasers in communications |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10652195B2 (en) * | 2015-09-16 | 2020-05-12 | CrowdReach, LLC | Systems, computing devices, and methods for facilitating communication to multiple contacts via multiple, different communication modalities |
JP2018529958A (en) | 2015-09-24 | 2018-10-11 | ロケーター アイピー,エルピー | Hyperlocal weather / environmental data |
US10691718B2 (en) | 2015-10-29 | 2020-06-23 | Dropbox, Inc. | Synchronization protocol for multi-premises hosting of digital content items |
US9571573B1 (en) | 2015-10-29 | 2017-02-14 | Dropbox, Inc. | Peer-to-peer synchronization protocol for multi-premises hosting of digital content items |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
CN106682024A (en) * | 2015-11-09 | 2017-05-17 | 百度在线网络技术(北京)有限公司 | Method, device and system for presenting query result information |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10594643B2 (en) * | 2015-11-17 | 2020-03-17 | Facebook, Inc. | Techniques to configure the network distribution of media compositions for transmission |
US20170147710A1 (en) * | 2015-11-20 | 2017-05-25 | Google Inc. | Multi-format search results in dialer application |
US11386041B1 (en) * | 2015-12-08 | 2022-07-12 | Amazon Technologies, Inc. | Policy tag management for data migration |
US10594730B1 (en) | 2015-12-08 | 2020-03-17 | Amazon Technologies, Inc. | Policy tag management |
US20170170879A1 (en) * | 2015-12-11 | 2017-06-15 | Oceaneering International, Inc. | Slip Ring With High Data Rate Sensors |
US10664482B2 (en) | 2015-12-14 | 2020-05-26 | Microsoft Technology Licensing, Llc | Providing relevance based dynamic hashtag navigation |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10732783B2 (en) * | 2015-12-28 | 2020-08-04 | Microsoft Technology Licensing, Llc | Identifying image comments from similar images |
US10311110B2 (en) * | 2015-12-28 | 2019-06-04 | Sap Se | Semantics for document-oriented databases |
US10515422B2 (en) * | 2016-01-12 | 2019-12-24 | Intuit Inc. | Network-based synchronization system and method |
US9537952B1 (en) | 2016-01-29 | 2017-01-03 | Dropbox, Inc. | Apparent cloud access for hosted content items |
US11003627B2 (en) * | 2016-04-21 | 2021-05-11 | Microsoft Technology Licensing, Llc | Prioritizing thumbnail previews based on message content |
WO2017196419A1 (en) | 2016-05-13 | 2017-11-16 | Equals 3 LLC | Searching structured and unstructured data sets |
US10116629B2 (en) | 2016-05-16 | 2018-10-30 | Carbonite, Inc. | Systems and methods for obfuscation of data via an aggregation of cloud storage services |
US11100107B2 (en) | 2016-05-16 | 2021-08-24 | Carbonite, Inc. | Systems and methods for secure file management via an aggregation of cloud storage services |
US10264072B2 (en) * | 2016-05-16 | 2019-04-16 | Carbonite, Inc. | Systems and methods for processing-based file distribution in an aggregation of cloud storage services |
US10356158B2 (en) | 2016-05-16 | 2019-07-16 | Carbonite, Inc. | Systems and methods for aggregation of cloud storage |
US10404798B2 (en) | 2016-05-16 | 2019-09-03 | Carbonite, Inc. | Systems and methods for third-party policy-based file distribution in an aggregation of cloud storage services |
US10795947B2 (en) | 2016-05-17 | 2020-10-06 | Google Llc | Unified message search |
US10198403B2 (en) * | 2016-05-27 | 2019-02-05 | Facebook, Inc. | Distributing content via content publishing platforms |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
US9986080B2 (en) * | 2016-06-24 | 2018-05-29 | Sandisk Technologies Llc | Mobile device and method for displaying information about files stored in a plurality of storage devices |
KR20180006137A (en) * | 2016-07-08 | 2018-01-17 | 엘지전자 주식회사 | Terminal and method for controlling the same |
US9881066B1 (en) | 2016-08-31 | 2018-01-30 | Palantir Technologies, Inc. | Systems, methods, user interfaces and algorithms for performing database analysis and search of information involving structured and/or semi-structured data |
US20180089182A1 (en) * | 2016-09-25 | 2018-03-29 | Microsoft Technology Licensing, Llc | Hybrid cross-platform search |
US11290402B2 (en) * | 2016-09-30 | 2022-03-29 | Dropbox, Inc. | Managing message attachments |
US20180124155A1 (en) * | 2016-11-01 | 2018-05-03 | Microsoft Technology Licensing, Llc | Network-based group communication and file sharing system |
CN106775711B (en) * | 2016-12-14 | 2020-10-23 | 浙江翼信科技有限公司 | Information processing method, device and computer-readable storage medium for contact persons |
US10776755B2 (en) * | 2016-12-29 | 2020-09-15 | Dropbox, Inc. | Creating projects in a content management system |
US10402786B2 (en) | 2016-12-30 | 2019-09-03 | Dropbox, Inc. | Managing projects in a content management system |
TWI616828B (en) * | 2016-12-30 | 2018-03-01 | 全球華人股份有限公司 | A method for dynamic resume display |
US10931617B2 (en) | 2017-02-10 | 2021-02-23 | Microsoft Technology Licensing, Llc | Sharing of bundled content |
US10498684B2 (en) | 2017-02-10 | 2019-12-03 | Microsoft Technology Licensing, Llc | Automated bundling of content |
US10911389B2 (en) | 2017-02-10 | 2021-02-02 | Microsoft Technology Licensing, Llc | Rich preview of bundled content |
US10909156B2 (en) | 2017-02-10 | 2021-02-02 | Microsoft Technology Licensing, Llc | Search and filtering of message content |
US11544400B2 (en) * | 2017-02-24 | 2023-01-03 | Hyland Uk Operations Limited | Permissions-constrained dynamic faceting of search results in a content management system |
US11194856B2 (en) * | 2017-03-07 | 2021-12-07 | Verizon Media Inc. | Computerized system and method for automatically identifying and providing digital content based on physical geographic location data |
US11120057B1 (en) * | 2017-04-17 | 2021-09-14 | Microstrategy Incorporated | Metadata indexing |
US11182825B2 (en) | 2017-04-21 | 2021-11-23 | International Business Machines Corporation | Processing image using narrowed search space based on textual context to detect items in the image |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770429A1 (en) | 2017-05-12 | 2018-12-14 | Apple Inc. | Low-latency intelligent automated assistant |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US20190102484A1 (en) * | 2017-10-04 | 2019-04-04 | Gamalon, Inc. | Interaction personalization system and method |
WO2019074732A1 (en) * | 2017-10-12 | 2019-04-18 | Kinsey Stanley Bruce | Cloud-based index and centralized cloud-based hub interface for cloud-stored media |
US11409820B1 (en) | 2017-10-18 | 2022-08-09 | Comake, Inc. | Workflow relationship management and contextualization |
US11157505B2 (en) | 2017-10-18 | 2021-10-26 | Comake, Inc. | Dynamic presentation of searchable contextual actions and data |
US10970349B1 (en) | 2017-10-18 | 2021-04-06 | Comake, Inc. | Workflow relationship management and contextualization |
US10762060B1 (en) | 2017-10-18 | 2020-09-01 | Comake, Inc. | Electronic file management |
US11314692B1 (en) | 2017-10-18 | 2022-04-26 | Comake, Inc. | Workflow relationship management and contextualization |
JP7063990B2 (en) * | 2017-10-21 | 2022-05-09 | アップル インコーポレイテッド | Personal domain for virtual assistant system on shared device |
US10536507B2 (en) | 2017-12-01 | 2020-01-14 | International Business Machines Corporation | Cognitive event based file sharing system for social software |
US10866926B2 (en) * | 2017-12-08 | 2020-12-15 | Dropbox, Inc. | Hybrid search interface |
CN108153727B (en) * | 2017-12-18 | 2020-09-08 | 浙江鹏信信息科技股份有限公司 | Method for identifying marketing call by semantic mining algorithm and system for managing marketing call |
US10817556B2 (en) | 2018-01-15 | 2020-10-27 | Microsoft Technology Licensing, Llc | Filtering communications |
US11017005B2 (en) * | 2018-01-15 | 2021-05-25 | Microsoft Technology Licensing, Llc | Filtering communications |
CN108446339B (en) * | 2018-02-28 | 2020-09-25 | 维沃移动通信有限公司 | Application icon classification method and mobile terminal |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US11030248B2 (en) * | 2018-04-18 | 2021-06-08 | Palantir Technologies Inc. | Resource dependency system and graphical user interface |
US10536522B2 (en) * | 2018-04-30 | 2020-01-14 | EMC IP Holding Company LLC | Data storage system with LUN archiving to cloud using volume-to-object translation |
US11062035B2 (en) * | 2018-04-30 | 2021-07-13 | Innoplexus Ag | Secure document management using blockchain |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
DK179822B1 (en) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US20200073951A1 (en) * | 2018-08-30 | 2020-03-05 | Sap Se | Smart search and help system |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11461634B2 (en) | 2018-10-02 | 2022-10-04 | Adobe Inc. | Generating homogenous user embedding representations from heterogeneous user interaction data using a neural network |
US10873782B2 (en) | 2018-10-02 | 2020-12-22 | Adobe Inc. | Generating user embedding representations that capture a history of changes to user trait data |
US11269870B2 (en) * | 2018-10-02 | 2022-03-08 | Adobe Inc. | Performing automatic segment expansion of user embeddings using multiple user embedding representation types |
CN109710576B (en) * | 2018-12-29 | 2024-03-19 | 努比亚技术有限公司 | File display method, terminal and storage medium |
US10999077B2 (en) | 2019-01-02 | 2021-05-04 | Bank Of America Corporation | Data protection using sporadically generated universal tags |
US11212106B2 (en) | 2019-01-02 | 2021-12-28 | Bank Of America Corporation | Data protection using universal tagging |
JP7129931B2 (en) * | 2019-02-22 | 2022-09-02 | 富士フイルム株式会社 | Image processing device, image processing method, program and recording medium |
GB201902772D0 (en) * | 2019-03-01 | 2019-04-17 | Palantir Technologies Inc | Fuzzy searching 7 applications thereof |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11328238B2 (en) * | 2019-04-01 | 2022-05-10 | Microsoft Technology Licensing, Llc | Preemptively surfacing relevant content within email |
US20200349468A1 (en) * | 2019-05-03 | 2020-11-05 | Apple Inc. | Data management platform for machine learning models |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | User activity shortcut suggestions |
US11468890B2 (en) | 2019-06-01 | 2022-10-11 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11120054B2 (en) * | 2019-06-05 | 2021-09-14 | International Business Machines Corporation | Hierarchical label generation for data entries |
US11599639B2 (en) * | 2019-08-15 | 2023-03-07 | Blackberry Limited | Methods and systems for identifying a compromised device through its unmanaged profile |
US11048383B2 (en) * | 2019-08-16 | 2021-06-29 | Dropbox, Inc. | Contact cards with dynamic interaction information |
US11222020B2 (en) * | 2019-08-21 | 2022-01-11 | International Business Machines Corporation | Deduplicated data transmission |
US11704356B2 (en) * | 2019-09-06 | 2023-07-18 | Dropbox, Inc. | Restoring integrity of a social media thread from a social network export |
US11003645B1 (en) | 2019-10-04 | 2021-05-11 | Palantir Technologies Inc. | Column lineage for resource dependency system and graphical user interface |
TWI730539B (en) * | 2019-10-09 | 2021-06-11 | 開曼群島商粉迷科技股份有限公司 | Method for displaying dynamic digital content, graphical user interface and system thereof |
CN111125024B (en) * | 2019-11-29 | 2022-05-24 | 浪潮电子信息产业股份有限公司 | Method, device, equipment and storage medium for deleting distributed system files |
US11290531B2 (en) | 2019-12-04 | 2022-03-29 | Dropbox, Inc. | Immediate cloud content item creation from local file system interface |
US11316806B1 (en) * | 2020-01-28 | 2022-04-26 | Snap Inc. | Bulk message deletion |
US11200205B2 (en) | 2020-01-31 | 2021-12-14 | EMC IP Holding Company LLC | Displaying an alert and options when deleting a file that is associated with a sequence of files |
US11199948B2 (en) * | 2020-01-31 | 2021-12-14 | EMC IP Holding Company LLC | Displaying a sequence and files associated with the sequence having a missing file |
KR20210101583A (en) * | 2020-02-10 | 2021-08-19 | 삼성전자주식회사 | Electronic device and method for operating contents using the same |
WO2021174329A1 (en) * | 2020-03-04 | 2021-09-10 | Yijun Du | System and method for utilizing search trees and tagging data items for data collection managing tasks |
CN113495769B (en) * | 2020-04-07 | 2023-04-07 | 西安理邦科学仪器有限公司 | Page guidance method, equipment, system and storage medium |
CN111638832A (en) * | 2020-04-23 | 2020-09-08 | 北京达佳互联信息技术有限公司 | Information display method, device, system, electronic equipment and storage medium |
US11183193B1 (en) | 2020-05-11 | 2021-11-23 | Apple Inc. | Digital assistant hardware abstraction |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
US11474973B2 (en) | 2020-10-20 | 2022-10-18 | International Business Machines Corporation | User-based file search results |
USD956784S1 (en) * | 2020-10-28 | 2022-07-05 | Ctk Co. Ltd. | Display screen with graphical user interface |
US20220166625A1 (en) * | 2020-11-24 | 2022-05-26 | Rymedi, Inc. | Dynamic data compliance controls at the highest directives and standards applicable with a net-sum formula as a zero-knowledge proof compliance validation key |
US20220358445A1 (en) * | 2021-05-07 | 2022-11-10 | Providence St. Joseph Health | Training assignment tool |
US11855944B2 (en) * | 2021-10-04 | 2023-12-26 | Yahoo Assets Llc | Method and system for serving personalized content to enhance user experience |
US20230161789A1 (en) * | 2021-11-22 | 2023-05-25 | International Business Machines Corporation | Realtime viewer in cloud storage environments |
CN114297439B (en) * | 2021-12-20 | 2023-05-23 | 天翼爱音乐文化科技有限公司 | Short video tag determining method, system, device and storage medium |
US20230197067A1 (en) * | 2021-12-20 | 2023-06-22 | Rovi Guides, Inc. | Methods and systems for responding to a natural language query |
CN114328706B (en) * | 2022-03-14 | 2022-06-14 | 西安羚控电子科技有限公司 | ICD graphical expression system and method |
Citations (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6101515A (en) * | 1996-05-31 | 2000-08-08 | Oracle Corporation | Learning system for classification of terminology |
US20030187821A1 (en) * | 2002-03-29 | 2003-10-02 | Todd Cotton | Enterprise framework and applications supporting meta-data and data traceability requirements |
US20040225658A1 (en) * | 2003-02-13 | 2004-11-11 | Felix Horber | Network-based document management systems |
US20050096124A1 (en) * | 2003-01-21 | 2005-05-05 | Asip Holdings, Inc. | Parimutuel wagering system with opaque transactions |
US20050160369A1 (en) * | 2000-05-31 | 2005-07-21 | Marko Balabanovic | Method and an apparatus for visual summarization of documents |
US20050187795A1 (en) * | 2004-02-24 | 2005-08-25 | Mary Russell | Dynamic safety monitoring in clinical trial |
US20060010231A1 (en) * | 1999-08-27 | 2006-01-12 | Donald Spector | Network for targeting individual operating a microcomputer regardless of his location |
US20070240050A1 (en) * | 2006-04-10 | 2007-10-11 | Graphwise, Llc | System and method for presenting to a user a preferred graphical representation of tabular data |
US20080001605A1 (en) * | 2006-06-19 | 2008-01-03 | Loong-Chiang Hu | Voltage detecting regulator with O2 sensor |
US20080104024A1 (en) * | 2006-10-25 | 2008-05-01 | Amit Kumar | Highlighting results in the results page based on levels of trust |
US7516218B2 (en) * | 2002-08-30 | 2009-04-07 | Ubs Ag | Network-based information management |
US20100161503A1 (en) * | 2008-12-19 | 2010-06-24 | Foster Scott C | System and Method for Online Employment Recruiting and Evaluation |
US20100211663A1 (en) * | 2008-07-28 | 2010-08-19 | Viewfinity Inc. | Management of pool member configuration |
US20110007814A1 (en) * | 1997-06-09 | 2011-01-13 | Yuichiro Nakaya | Recording medium having recorded thereon coded information using plus and/or minus rounding of images |
US20110066658A1 (en) * | 1999-05-19 | 2011-03-17 | Rhoads Geoffrey B | Methods and Devices Employing Content Identifiers |
US20110078149A1 (en) * | 2009-09-30 | 2011-03-31 | David Robbins Falkenburg | Management of Access to Data Distributed Across Multiple Computing Devices |
US20110196521A1 (en) * | 2010-02-05 | 2011-08-11 | Sling Media Inc. | Connection priority services for data communication between two devices |
US8037018B2 (en) * | 2005-12-21 | 2011-10-11 | Decernis, Llc | Document validation system and method |
US20120246742A1 (en) * | 2009-10-20 | 2012-09-27 | Tiziano Tresanti | Process for producing and assembling a medical opertions syringe |
US8332333B2 (en) * | 2006-10-19 | 2012-12-11 | Massachusetts Institute Of Technology | Learning algorithm for ranking on graph data |
US20130011076A1 (en) * | 2008-12-31 | 2013-01-10 | Nokia Corporation | Method and Apparatus for Finding Data Quantisation Error |
US20130009580A1 (en) * | 2010-01-28 | 2013-01-10 | Hispano-Suiza | Method and device for controlling a polyphase electrical machine |
US20130019141A1 (en) * | 2011-07-11 | 2013-01-17 | Lsi Corporation | Min-Sum Based Non-Binary LDPC Decoder |
US20130095801A1 (en) * | 2011-10-17 | 2013-04-18 | Research In Motion Corporation | System and method for managing electronic groups |
US20130110816A1 (en) * | 2011-11-02 | 2013-05-02 | Microsoft Corporation | Default Query Rules |
US20130139191A1 (en) * | 2011-11-30 | 2013-05-30 | Verizon Patent And Licensing Inc. | Content recommendation for a unified catalog |
US20130179910A1 (en) * | 2010-11-04 | 2013-07-11 | Sony Corporation | Terminal device, content display method for terminal device, server device, display data transmission method for server device, and ranking information transmission method for server device |
US20130191414A1 (en) * | 2012-01-20 | 2013-07-25 | Samsung Electronics Co., Ltd. | Method and apparatus for performing a data search on multiple user devices |
US20130325769A1 (en) * | 2008-12-12 | 2013-12-05 | Atigeo Llc | Providing recommendations using information determined for domains of interest |
US8738611B1 (en) * | 2011-01-25 | 2014-05-27 | Intuit Inc. | Prioritizing email based on financial management data |
US8819425B2 (en) * | 2011-06-30 | 2014-08-26 | True[X] Media Inc. | Privacy protected interactions with third parties |
US20140365351A1 (en) * | 2013-06-07 | 2014-12-11 | Td Ameritrade Ip Company, Inc. | Common order queue for multiple trading platforms |
US20150304447A1 (en) * | 2014-04-21 | 2015-10-22 | Yahoo! Inc. | User specific visual identity control across multiple platforms |
US9292552B2 (en) * | 2012-07-26 | 2016-03-22 | Telefonaktiebolaget L M Ericsson (Publ) | Apparatus, methods, and computer program products for adaptive multimedia content indexing |
US20160096112A1 (en) * | 2010-11-01 | 2016-04-07 | Microsoft Technology Licensing, Llc | Video viewing and tagging system |
US20160226996A1 (en) * | 2013-12-24 | 2016-08-04 | Facebook, Inc. | Systems and methods for predictive download |
US20160283061A1 (en) * | 2012-09-24 | 2016-09-29 | Facebook, Inc. | Displaying social networking system entity information via a timeline interface |
US20170063747A1 (en) * | 2012-12-06 | 2017-03-02 | Snap Inc. | Searchable peer-to-peer system through instant messaging based topic indexes |
Family Cites Families (137)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5598557A (en) * | 1992-09-22 | 1997-01-28 | Caere Corporation | Apparatus and method for retrieving and grouping images representing text files based on the relevance of key words extracted from a selected file to the text files |
US5956400A (en) | 1996-07-19 | 1999-09-21 | Digicash Incorporated | Partitioned information storage systems with controlled retrieval |
US20020083439A1 (en) | 2000-08-31 | 2002-06-27 | Eldering Charles A. | System for rescheduling and inserting advertisements |
US6834276B1 (en) * | 1999-02-25 | 2004-12-21 | Integrated Data Control, Inc. | Database system and method for data acquisition and perusal |
US6976053B1 (en) | 1999-10-14 | 2005-12-13 | Arcessa, Inc. | Method for using agents to create a computer index corresponding to the contents of networked computers |
US6832245B1 (en) * | 1999-12-01 | 2004-12-14 | At&T Corp. | System and method for analyzing communications of user messages to rank users and contacts based on message content |
US7216304B1 (en) | 2000-01-05 | 2007-05-08 | Apple Inc. | Graphical user interface for computers having variable size icons |
US6654783B1 (en) | 2000-03-30 | 2003-11-25 | Ethergent Corporation | Network site content indexing method and associated system |
US20090216641A1 (en) * | 2000-03-30 | 2009-08-27 | Niration Network Group, L.L.C. | Methods and Systems for Indexing Content |
US7437669B1 (en) * | 2000-05-23 | 2008-10-14 | International Business Machines Corporation | Method and system for dynamic creation of mixed language hypertext markup language content through machine translation |
US6674368B2 (en) | 2000-08-28 | 2004-01-06 | Continental Divide Robotics, Inc. | Automated tracking system |
US6889209B1 (en) | 2000-11-03 | 2005-05-03 | Shieldip, Inc. | Method and apparatus for protecting information and privacy |
US20020184317A1 (en) | 2001-05-29 | 2002-12-05 | Sun Microsystems, Inc. | System and method for searching, retrieving and displaying data from an email storage location |
WO2003042869A1 (en) | 2001-11-14 | 2003-05-22 | Jam Corporation | Information search support apparatus, computer program, medium containing the program |
US20030171926A1 (en) * | 2002-03-07 | 2003-09-11 | Narasimha Suresh | System for information storage, retrieval and voice based content search and methods thereof |
US7496559B2 (en) | 2002-09-03 | 2009-02-24 | X1 Technologies, Inc. | Apparatus and methods for locating data |
US8363806B2 (en) * | 2002-11-07 | 2013-01-29 | Blake Bookstaff | Method and system for alphanumeric indexing for advertising via cloud computing |
US20050028912A1 (en) * | 2003-08-07 | 2005-02-10 | Schnarr Catherine Mary | Apparatus for covering a selected rear portion of a vehicle body |
US8024335B2 (en) * | 2004-05-03 | 2011-09-20 | Microsoft Corporation | System and method for dynamically generating a selectable search extension |
US7836021B2 (en) | 2004-01-15 | 2010-11-16 | Xerox Corporation | Method and system for managing image files in a hierarchical storage management system |
US7779387B2 (en) | 2004-04-15 | 2010-08-17 | Microsoft Corporation | Offline source code control |
US7941491B2 (en) | 2004-06-04 | 2011-05-10 | Messagemind, Inc. | System and method for dynamic adaptive user-based prioritization and display of electronic messages |
US8150837B2 (en) * | 2004-06-25 | 2012-04-03 | Apple Inc. | Methods and systems for managing data |
US20050289127A1 (en) * | 2004-06-25 | 2005-12-29 | Dominic Giampaolo | Methods and systems for managing data |
US7493303B2 (en) * | 2004-08-04 | 2009-02-17 | International Business Machines Corporation | Method for remotely searching a local user index |
US7395260B2 (en) * | 2004-08-04 | 2008-07-01 | International Business Machines Corporation | Method for providing graphical representations of search results in multiple related histograms |
US7956890B2 (en) | 2004-09-17 | 2011-06-07 | Proximex Corporation | Adaptive multi-modal integrated biometric identification detection and surveillance systems |
US7788592B2 (en) | 2005-01-12 | 2010-08-31 | Microsoft Corporation | Architecture and engine for time line based visualization of data |
US7809342B2 (en) * | 2005-02-08 | 2010-10-05 | E-Radio Usa, Inc. | Systems and methods for providing product information over a carrier wave |
US20060200460A1 (en) | 2005-03-03 | 2006-09-07 | Microsoft Corporation | System and method for ranking search results using file types |
US7587461B2 (en) | 2005-04-19 | 2009-09-08 | Google Inc. | Method and system for activity based email sorting |
JP4659681B2 (en) | 2005-06-13 | 2011-03-30 | パナソニック株式会社 | Content tagging support apparatus and content tagging support method |
US7693817B2 (en) | 2005-06-29 | 2010-04-06 | Microsoft Corporation | Sensing, storing, indexing, and retrieving data leveraging measures of user activity, attention, and interest |
CA2928051C (en) | 2005-07-15 | 2018-07-24 | Indxit Systems, Inc. | Systems and methods for data indexing and processing |
US7565347B2 (en) * | 2005-08-10 | 2009-07-21 | International Business Machines Corporation | Indexing and searching of electronic message transmission thread sets |
US20070088690A1 (en) | 2005-10-13 | 2007-04-19 | Xythos Software, Inc. | System and method for performing file searches and ranking results |
US20070136340A1 (en) * | 2005-12-12 | 2007-06-14 | Mark Radulovich | Document and file indexing system |
NO325191B1 (en) | 2005-12-30 | 2008-02-18 | Tandberg Telecom As | Sociable multimedia stream |
US9336333B2 (en) | 2006-02-13 | 2016-05-10 | Linkedin Corporation | Searching and reference checking within social networks |
US20070203891A1 (en) | 2006-02-28 | 2007-08-30 | Microsoft Corporation | Providing and using search index enabling searching based on a targeted content of documents |
US8116573B2 (en) * | 2006-03-01 | 2012-02-14 | Fujifilm Corporation | Category weight setting apparatus and method, image weight setting apparatus and method, category abnormality setting apparatus and method, and programs therefor |
WO2007106851A2 (en) | 2006-03-14 | 2007-09-20 | Document Atm Incorporated | Distributed access to valuable and sensitive documents and data |
CN101444119A (en) | 2006-03-27 | 2009-05-27 | 意大利电信股份公司 | System for implementing security police on mobile communication equipment |
US8842818B2 (en) * | 2006-06-30 | 2014-09-23 | Avaya Inc. | IP telephony architecture including information storage and retrieval system to track fluency |
US20080016052A1 (en) | 2006-07-14 | 2008-01-17 | Bea Systems, Inc. | Using Connections Between Users and Documents to Rank Documents in an Enterprise Search System |
US9141627B2 (en) | 2006-09-26 | 2015-09-22 | Sony Corporation | Providing a user access to data files distributed in a plurality of different types of user devices |
US20080086453A1 (en) | 2006-10-05 | 2008-04-10 | Fabian-Baber, Inc. | Method and apparatus for correlating the results of a computer network text search with relevant multimedia files |
US20080172380A1 (en) | 2007-01-17 | 2008-07-17 | Wojciech Czyz | Information retrieval based on information location in the information space. |
US7555412B2 (en) * | 2007-02-09 | 2009-06-30 | Microsoft Corporation | Communication efficient spatial search in a sensor data web portal |
US20080228719A1 (en) | 2007-03-13 | 2008-09-18 | Fatdoor, Inc. | People and business search result optimization |
US8359300B1 (en) | 2007-04-03 | 2013-01-22 | Google Inc. | System and method for displaying both localized search results and internet search results |
CN101652775B (en) | 2007-04-13 | 2012-09-19 | Gvbb控股股份有限公司 | System and method for mapping logical and physical assets in a user interface |
US7908556B2 (en) * | 2007-06-14 | 2011-03-15 | Yahoo! Inc. | Method and system for media landmark identification |
US7865291B2 (en) * | 2007-07-12 | 2011-01-04 | Delphi Technologies, Inc. | System and method for a volumetric efficiency model for all air induction configurations |
US9716764B2 (en) | 2007-07-25 | 2017-07-25 | Yahoo! Inc. | Display of communication system usage statistics |
US8887048B2 (en) | 2007-08-23 | 2014-11-11 | Sony Computer Entertainment Inc. | Media data presented with time-based metadata |
US7865516B2 (en) * | 2007-10-04 | 2011-01-04 | International Business Machines Corporation | Associative temporal search of electronic files |
US8161240B2 (en) | 2007-10-10 | 2012-04-17 | Apple Inc. | Cache management |
JP5226283B2 (en) * | 2007-11-15 | 2013-07-03 | キヤノン株式会社 | Information processing apparatus, information processing system, method, and program |
US8117198B2 (en) * | 2007-12-12 | 2012-02-14 | Decho Corporation | Methods for generating search engine index enhanced with task-related metadata |
US8140746B2 (en) | 2007-12-14 | 2012-03-20 | Spansion Llc | Intelligent memory data management |
US8689257B2 (en) * | 2007-12-31 | 2014-04-01 | At&T Intellectual Property I, Lp | Method and system for content recording and indexing |
US10275524B2 (en) | 2008-01-23 | 2019-04-30 | Sears Holdings Management Corporation | Social network searching with breadcrumbs |
US20090216806A1 (en) * | 2008-02-24 | 2009-08-27 | Allofme Ltd. | Digital assets internet timeline aggregation and sharing platform |
US20090217352A1 (en) | 2008-02-25 | 2009-08-27 | Tong Shen | Web managed multimedia asset management method and system |
US8468447B2 (en) | 2008-02-28 | 2013-06-18 | Red Hat, Inc. | Tracking tag content by keywords and communities |
US8607136B2 (en) | 2008-02-28 | 2013-12-10 | Red Hat, Inc. | Maintaining tags for individual communities |
DE112009000485T5 (en) | 2008-03-03 | 2011-03-17 | VideoIQ, Inc., Bedford | Object comparison for tracking, indexing and searching |
US8204916B2 (en) * | 2008-03-06 | 2012-06-19 | Microsoft Corporation | Hierarchical presentation of search results |
US20090228233A1 (en) | 2008-03-06 | 2009-09-10 | Anderson Gary F | Rank-based evaluation |
US20140040862A1 (en) | 2008-04-03 | 2014-02-06 | Adobe Systems Incorporated | Copying Reusable Components from a Remote Source |
US20100008838A1 (en) * | 2008-07-11 | 2010-01-14 | Applied Materials, Inc. | Methods and apparatus for abating electronic device manufacturing process effluent |
JP5181896B2 (en) | 2008-07-25 | 2013-04-10 | ブラザー工業株式会社 | Display information management system and program |
US20100088382A1 (en) * | 2008-08-27 | 2010-04-08 | Lee G Roger | Document manager integration |
US20100185986A1 (en) | 2009-01-16 | 2010-07-22 | Dell Products L.P. | System and Method for Displaying Data File Properties in an Information Handling System |
US8539359B2 (en) | 2009-02-11 | 2013-09-17 | Jeffrey A. Rapaport | Social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic |
JP2012520528A (en) * | 2009-03-13 | 2012-09-06 | インベンション マシーン コーポレーション | System and method for automatic semantic labeling of natural language text |
US8984074B2 (en) * | 2009-07-08 | 2015-03-17 | Yahoo! Inc. | Sender-based ranking of person profiles and multi-person automatic suggestions |
JP5552767B2 (en) | 2009-07-27 | 2014-07-16 | ソニー株式会社 | Display processing apparatus, display processing method, and display processing program |
WO2011084092A1 (en) | 2010-01-08 | 2011-07-14 | Telefonaktiebolaget L M Ericsson (Publ) | A method and apparatus for social tagging of media files |
US20110179108A1 (en) | 2010-01-21 | 2011-07-21 | International Business Machines Corporation | System for Aggregating Information and Delivering User Specific Content |
CA2792510A1 (en) | 2010-03-11 | 2011-09-15 | Aol Inc. | Systems and methods for location tracking in a social network |
US8756233B2 (en) | 2010-04-16 | 2014-06-17 | Video Semantics | Semantic segmentation and tagging engine |
PL2564202T3 (en) | 2010-04-29 | 2016-04-29 | Theradiag Sa | Methods for detecting anti-drug antibodies |
US20110289121A1 (en) | 2010-05-18 | 2011-11-24 | Rovi Technologies Corporation | Metadata modifier and manager |
US20120005282A1 (en) | 2010-07-02 | 2012-01-05 | Microsoft Corporation | Collaborative ranking and filtering of electronic mail messages |
US9262517B2 (en) | 2010-08-18 | 2016-02-16 | At&T Intellectual Property I, L.P. | Systems and methods for social media data mining |
US8930825B2 (en) | 2010-09-09 | 2015-01-06 | International Business Machines Corporation | Graphically indicating relevancy of electronic messages |
US9552442B2 (en) | 2010-10-21 | 2017-01-24 | International Business Machines Corporation | Visual meme tracking for social media analysis |
US8499048B2 (en) | 2010-10-27 | 2013-07-30 | Facebook, Inc. | Indexing and organizing messages in a messaging system using social network information |
US8566370B2 (en) | 2010-12-15 | 2013-10-22 | Verizon Patent And Licensing Inc. | Ranking media content for cloud-based searches |
US20120158686A1 (en) * | 2010-12-17 | 2012-06-21 | Microsoft Corporation | Image Tag Refinement |
US9002867B1 (en) | 2010-12-30 | 2015-04-07 | Google Inc. | Modifying ranking data based on document changes |
US20120203733A1 (en) * | 2011-02-09 | 2012-08-09 | Zhang Amy H | Method and system for personal cloud engine |
FR2971596B1 (en) | 2011-02-15 | 2016-01-01 | Commissariat Energie Atomique | DEVICE FOR ACCELERATING THE EXECUTION OF A SYSTEMS SIMULATION |
US8600970B2 (en) | 2011-02-22 | 2013-12-03 | Apple Inc. | Server-side search of email attachments |
ES2805755T3 (en) | 2011-03-10 | 2021-02-15 | Amadeus Sas | System and method for session synchronization with independent external systems |
US9177060B1 (en) | 2011-03-18 | 2015-11-03 | Michele Bennett | Method, system and apparatus for identifying and parsing social media information for providing business intelligence |
US8433687B1 (en) * | 2011-04-07 | 2013-04-30 | Google Inc. | Off-line indexing for client-based software development tools |
US8666927B2 (en) * | 2011-04-19 | 2014-03-04 | Yahoo! Inc. | System and method for mining tags using social endorsement networks |
US9285991B2 (en) | 2011-04-29 | 2016-03-15 | International Business Machines Corporation | System, method and program product to schedule transfer of data |
US8663018B2 (en) | 2011-06-29 | 2014-03-04 | Amazon Technologies, Inc. | Data locker synchronization |
US9027083B2 (en) | 2011-08-05 | 2015-05-05 | Bank Of America Corporation | Management of access identifiers |
US9195679B1 (en) * | 2011-08-11 | 2015-11-24 | Ikorongo Technology, LLC | Method and system for the contextual display of image tags in a social network |
US20130055099A1 (en) | 2011-08-22 | 2013-02-28 | Rose Yao | Unified Messaging System with Integration of Call Log Data |
KR101695011B1 (en) | 2011-08-24 | 2017-01-10 | 한국전자통신연구원 | System for Detecting and Tracking Topic based on Topic Opinion and Social-influencer and Method thereof |
CN103181179B (en) | 2011-08-26 | 2017-03-01 | 松下知识产权经营株式会社 | Content delivering system, content management server, content utilization device and the imperial method of system |
US8458174B1 (en) * | 2011-09-02 | 2013-06-04 | Google Inc. | Semantic image label synthesis |
JP5716635B2 (en) | 2011-10-31 | 2015-05-13 | 富士通株式会社 | Electronic data management method, program, and electronic data management apparatus |
US9043413B2 (en) | 2011-11-15 | 2015-05-26 | Yahoo! Inc. | System and method for extracting, collecting, enriching and ranking of email objects |
US9020950B2 (en) * | 2011-12-19 | 2015-04-28 | Palo Alto Research Center Incorporated | System and method for generating, updating, and using meaningful tags |
WO2013105115A2 (en) * | 2011-12-27 | 2013-07-18 | Tata Consultancy Services Limited | A method and system for creating an intelligent social network between plurality of devices |
US9652536B1 (en) | 2012-01-11 | 2017-05-16 | A9.Com, Inc. | Data upload via electronic communications |
US9218629B2 (en) * | 2012-01-20 | 2015-12-22 | Blackberry Limited | Prioritizing and providing information about user contacts |
CN104067036B (en) * | 2012-01-23 | 2016-09-28 | 大金工业株式会社 | Gasoline seals |
US9100245B1 (en) | 2012-02-08 | 2015-08-04 | Amazon Technologies, Inc. | Identifying protected media files |
US9141988B2 (en) | 2012-02-22 | 2015-09-22 | Ebay, Inc. | Systems and methods to provide search results based on time to obtain |
US8620905B2 (en) | 2012-03-22 | 2013-12-31 | Corbis Corporation | Proximity-based method for determining concept relevance within a domain ontology |
US8868677B2 (en) * | 2012-04-16 | 2014-10-21 | HGST Netherlands B.V. | Automated data migration across a plurality of devices |
JP5386663B1 (en) * | 2012-05-30 | 2014-01-15 | 楽天株式会社 | Information processing apparatus, information processing method, information processing program, and recording medium |
US8768693B2 (en) * | 2012-05-31 | 2014-07-01 | Yahoo! Inc. | Automatic tag extraction from audio annotated photos |
US20130346068A1 (en) * | 2012-06-25 | 2013-12-26 | Apple Inc. | Voice-Based Image Tagging and Searching |
US20140222802A1 (en) * | 2013-02-05 | 2014-08-07 | Facebook, Inc. | Selecting social context for sponsored stories in a social networking system |
US9465521B1 (en) * | 2013-03-13 | 2016-10-11 | MiMedia, Inc. | Event based media interface |
US9405771B2 (en) * | 2013-03-14 | 2016-08-02 | Microsoft Technology Licensing, Llc | Associating metadata with images in a personal image collection |
US9268929B2 (en) | 2013-03-15 | 2016-02-23 | Intelmate Llc | Dossier packaging |
US9330183B2 (en) * | 2013-05-08 | 2016-05-03 | Facebook, Inc. | Approximate privacy indexing for search queries on online social networks |
US9367568B2 (en) * | 2013-05-15 | 2016-06-14 | Facebook, Inc. | Aggregating tags in images |
US20140354680A1 (en) * | 2013-05-31 | 2014-12-04 | Blackberry Limited | Methods and Devices for Generating Display Data |
US10402407B2 (en) | 2013-06-17 | 2019-09-03 | Lenovo (Singapore) Pte. Ltd. | Contextual smart tags for content retrieval |
US20140379631A1 (en) * | 2013-06-25 | 2014-12-25 | Linkedln Corporation | Transactional key-value database with searchable indexes |
US9189508B2 (en) | 2013-07-19 | 2015-11-17 | Tipbit Inc. | Inferring relevance based on user interactions with email |
US9195736B2 (en) | 2013-08-07 | 2015-11-24 | Red Hat, Inc. | System and method for content storage |
US20150066941A1 (en) | 2013-08-30 | 2015-03-05 | U-Me Holdings LLC | Photo cataloging, storage and retrieval using relationships between people |
US9936018B2 (en) | 2013-09-27 | 2018-04-03 | Mcafee, Llc | Task-context architecture for efficient data sharing |
US9424301B2 (en) | 2013-11-22 | 2016-08-23 | Netapp, Inc. | System and method for negotiated takeover of storage objects |
US9304657B2 (en) | 2013-12-31 | 2016-04-05 | Abbyy Development Llc | Audio tagging |
-
2014
- 2014-06-23 US US14/311,851 patent/US9304657B2/en active Active
- 2014-06-23 US US14/311,952 patent/US9778817B2/en active Active - Reinstated
- 2014-11-05 US US14/533,593 patent/US20150186398A1/en not_active Abandoned
- 2014-12-22 US US14/579,500 patent/US10209859B2/en active Active
- 2014-12-22 US US14/579,204 patent/US20150186478A1/en not_active Abandoned
- 2014-12-22 US US14/579,559 patent/US20150186395A1/en not_active Abandoned
- 2014-12-22 US US14/579,029 patent/US20150186369A1/en not_active Abandoned
- 2014-12-22 US US14/579,616 patent/US20150186366A1/en not_active Abandoned
- 2014-12-22 US US14/579,336 patent/US20150186381A1/en not_active Abandoned
Patent Citations (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6101515A (en) * | 1996-05-31 | 2000-08-08 | Oracle Corporation | Learning system for classification of terminology |
US20110007814A1 (en) * | 1997-06-09 | 2011-01-13 | Yuichiro Nakaya | Recording medium having recorded thereon coded information using plus and/or minus rounding of images |
US20110066658A1 (en) * | 1999-05-19 | 2011-03-17 | Rhoads Geoffrey B | Methods and Devices Employing Content Identifiers |
US20060010231A1 (en) * | 1999-08-27 | 2006-01-12 | Donald Spector | Network for targeting individual operating a microcomputer regardless of his location |
US20050160369A1 (en) * | 2000-05-31 | 2005-07-21 | Marko Balabanovic | Method and an apparatus for visual summarization of documents |
US20030187821A1 (en) * | 2002-03-29 | 2003-10-02 | Todd Cotton | Enterprise framework and applications supporting meta-data and data traceability requirements |
US7516218B2 (en) * | 2002-08-30 | 2009-04-07 | Ubs Ag | Network-based information management |
US20050096124A1 (en) * | 2003-01-21 | 2005-05-05 | Asip Holdings, Inc. | Parimutuel wagering system with opaque transactions |
US20040225658A1 (en) * | 2003-02-13 | 2004-11-11 | Felix Horber | Network-based document management systems |
US20050187795A1 (en) * | 2004-02-24 | 2005-08-25 | Mary Russell | Dynamic safety monitoring in clinical trial |
US8037018B2 (en) * | 2005-12-21 | 2011-10-11 | Decernis, Llc | Document validation system and method |
US20070240050A1 (en) * | 2006-04-10 | 2007-10-11 | Graphwise, Llc | System and method for presenting to a user a preferred graphical representation of tabular data |
US20080001605A1 (en) * | 2006-06-19 | 2008-01-03 | Loong-Chiang Hu | Voltage detecting regulator with O2 sensor |
US8332333B2 (en) * | 2006-10-19 | 2012-12-11 | Massachusetts Institute Of Technology | Learning algorithm for ranking on graph data |
US20080104024A1 (en) * | 2006-10-25 | 2008-05-01 | Amit Kumar | Highlighting results in the results page based on levels of trust |
US20100211663A1 (en) * | 2008-07-28 | 2010-08-19 | Viewfinity Inc. | Management of pool member configuration |
US20130325769A1 (en) * | 2008-12-12 | 2013-12-05 | Atigeo Llc | Providing recommendations using information determined for domains of interest |
US20100161503A1 (en) * | 2008-12-19 | 2010-06-24 | Foster Scott C | System and Method for Online Employment Recruiting and Evaluation |
US20130011076A1 (en) * | 2008-12-31 | 2013-01-10 | Nokia Corporation | Method and Apparatus for Finding Data Quantisation Error |
US20110078149A1 (en) * | 2009-09-30 | 2011-03-31 | David Robbins Falkenburg | Management of Access to Data Distributed Across Multiple Computing Devices |
US20120246742A1 (en) * | 2009-10-20 | 2012-09-27 | Tiziano Tresanti | Process for producing and assembling a medical opertions syringe |
US20130009580A1 (en) * | 2010-01-28 | 2013-01-10 | Hispano-Suiza | Method and device for controlling a polyphase electrical machine |
US20110196521A1 (en) * | 2010-02-05 | 2011-08-11 | Sling Media Inc. | Connection priority services for data communication between two devices |
US20160096112A1 (en) * | 2010-11-01 | 2016-04-07 | Microsoft Technology Licensing, Llc | Video viewing and tagging system |
US20130179910A1 (en) * | 2010-11-04 | 2013-07-11 | Sony Corporation | Terminal device, content display method for terminal device, server device, display data transmission method for server device, and ranking information transmission method for server device |
US8738611B1 (en) * | 2011-01-25 | 2014-05-27 | Intuit Inc. | Prioritizing email based on financial management data |
US8819425B2 (en) * | 2011-06-30 | 2014-08-26 | True[X] Media Inc. | Privacy protected interactions with third parties |
US20130019141A1 (en) * | 2011-07-11 | 2013-01-17 | Lsi Corporation | Min-Sum Based Non-Binary LDPC Decoder |
US20130095801A1 (en) * | 2011-10-17 | 2013-04-18 | Research In Motion Corporation | System and method for managing electronic groups |
US20130254718A2 (en) * | 2011-10-17 | 2013-09-26 | Research In Motion Limited | System and method for navigating between user interface elements |
US20130110816A1 (en) * | 2011-11-02 | 2013-05-02 | Microsoft Corporation | Default Query Rules |
US20130139191A1 (en) * | 2011-11-30 | 2013-05-30 | Verizon Patent And Licensing Inc. | Content recommendation for a unified catalog |
US20130191414A1 (en) * | 2012-01-20 | 2013-07-25 | Samsung Electronics Co., Ltd. | Method and apparatus for performing a data search on multiple user devices |
US9292552B2 (en) * | 2012-07-26 | 2016-03-22 | Telefonaktiebolaget L M Ericsson (Publ) | Apparatus, methods, and computer program products for adaptive multimedia content indexing |
US20160283061A1 (en) * | 2012-09-24 | 2016-09-29 | Facebook, Inc. | Displaying social networking system entity information via a timeline interface |
US20170063747A1 (en) * | 2012-12-06 | 2017-03-02 | Snap Inc. | Searchable peer-to-peer system through instant messaging based topic indexes |
US20140365351A1 (en) * | 2013-06-07 | 2014-12-11 | Td Ameritrade Ip Company, Inc. | Common order queue for multiple trading platforms |
US20160226996A1 (en) * | 2013-12-24 | 2016-08-04 | Facebook, Inc. | Systems and methods for predictive download |
US20150304447A1 (en) * | 2014-04-21 | 2015-10-22 | Yahoo! Inc. | User specific visual identity control across multiple platforms |
Non-Patent Citations (2)
Title |
---|
Ghosh et al., C-FaRM: A Collaborative and Context Aware Framework for Requirement Management, IEEE 2011, pages 29-30. * |
Murray et al., One Module to Many Submissions: Generating Global Marketing Authorization Applications, Google 2000, pages 779-792. * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10129273B2 (en) * | 2001-11-30 | 2018-11-13 | Cisco Technology, Inc. | System and methods for computer network security involving user confirmation of network connections |
US9778817B2 (en) | 2013-12-31 | 2017-10-03 | Findo, Inc. | Tagging of images based on social network tags or comments |
US10209859B2 (en) | 2013-12-31 | 2019-02-19 | Findo, Inc. | Method and system for cross-platform searching of multiple information sources and devices |
US10878045B1 (en) | 2015-09-01 | 2020-12-29 | Honest Work Corporation | System, method, and computer program product for determining peers of a user by evaluating persons identified from a calendar of the user |
US11062252B1 (en) * | 2015-09-01 | 2021-07-13 | Honest Work Corporation | Work related feedback system, method, and computer program product |
US10771413B1 (en) * | 2015-09-11 | 2020-09-08 | Wells Fargo Bank, N.A. | System and method for customizing electronic messages |
US11349789B1 (en) | 2015-09-11 | 2022-05-31 | Wells Fargo Bank, N.A. | System and method for customizing electronic messages |
US20170083506A1 (en) * | 2015-09-21 | 2017-03-23 | International Business Machines Corporation | Suggesting emoji characters based on current contextual emotional state of user |
US9665567B2 (en) * | 2015-09-21 | 2017-05-30 | International Business Machines Corporation | Suggesting emoji characters based on current contextual emotional state of user |
US11669550B2 (en) | 2017-06-02 | 2023-06-06 | Apple Inc. | Systems and methods for grouping search results into dynamic categories based on query and result set |
Also Published As
Publication number | Publication date |
---|---|
US20150186420A1 (en) | 2015-07-02 |
US9778817B2 (en) | 2017-10-03 |
US9304657B2 (en) | 2016-04-05 |
US20150186538A1 (en) | 2015-07-02 |
US20150186381A1 (en) | 2015-07-02 |
US10209859B2 (en) | 2019-02-19 |
US20150186398A1 (en) | 2015-07-02 |
US20150186395A1 (en) | 2015-07-02 |
US20150186478A1 (en) | 2015-07-02 |
US20150186366A1 (en) | 2015-07-02 |
US20150187353A1 (en) | 2015-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150186369A1 (en) | Method and System for Dossiers for Data Units | |
US10331757B2 (en) | Organizing network-stored content items into shared groups | |
US11023858B2 (en) | System and method for generating desktop focus work areas | |
US9866508B2 (en) | Aggregating and presenting recent activities for synchronized online content management systems | |
US9009108B2 (en) | Minimal extensions required for multi-master offline and collaboration for devices and web services | |
US20100211535A1 (en) | Methods and systems for management of data | |
US20160140139A1 (en) | Local representation of shared files in disparate locations | |
US20140208220A1 (en) | System and Method for Contextual and Collaborative Knowledge Generation and Management Through an Integrated Online-Offline Workspace | |
US20230401268A1 (en) | Workflow relationship management and contextualization | |
EP3433730A1 (en) | User interfaces for personalized content recommendation | |
US11409820B1 (en) | Workflow relationship management and contextualization | |
US20210350303A1 (en) | Task list for tasks created at a third-party source | |
US11314692B1 (en) | Workflow relationship management and contextualization | |
US8880595B2 (en) | Asynchronous, passive knowledge sharing system and method | |
CN110622187A (en) | Task-related classification, application discovery and uniform bookmarking for application managers | |
US10931617B2 (en) | Sharing of bundled content | |
US10200320B2 (en) | Import content items from email | |
Pash et al. | Lifehacker: The guide to working smarter, faster, and better | |
WO2012176213A1 (en) | System and method for contextual and collaborative knowledge generation and management through an integrated online-offline workspace | |
US11947549B2 (en) | Generating modified view based on identified subset of content items and providing modified view to user associated with user account for display | |
DiGiacomo | Special Edition Using Microsoft Office Outlook 2007 | |
Ivakhnov | May the Personal Information Manager be With You: A Ubiquitous Distributed PIM System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ABBYY DEVELOPMENT LLC, RUSSIAN FEDERATION Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YAN, DAVID;ANISIMOVICH, KONSTANTIN;SIGNING DATES FROM 20150114 TO 20150305;REEL/FRAME:035116/0867 |
|
AS | Assignment |
Owner name: ABBYY PLC, CYPRUS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ABBYY DEVELOPMENT LLC;REEL/FRAME:038948/0165 Effective date: 20160614 |
|
AS | Assignment |
Owner name: FINDO, INC., DELAWARE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ABBYY PLC;REEL/FRAME:038962/0397 Effective date: 20160615 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: YVA.AI, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:FINDO INC.;REEL/FRAME:049086/0568 Effective date: 20181002 |
|
AS | Assignment |
Owner name: VISIER SOLUTIONS INC., CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YVA.AI, INC.;REEL/FRAME:059777/0733 Effective date: 20220426 |