US20150186478A1 - Method and System for Tree Representation of Search Results - Google Patents
Method and System for Tree Representation of Search Results Download PDFInfo
- Publication number
- US20150186478A1 US20150186478A1 US14/579,204 US201414579204A US2015186478A1 US 20150186478 A1 US20150186478 A1 US 20150186478A1 US 201414579204 A US201414579204 A US 201414579204A US 2015186478 A1 US2015186478 A1 US 2015186478A1
- Authority
- US
- United States
- Prior art keywords
- user
- files
- search
- electronic
- electronic files
- 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
- 238000000034 method Methods 0.000 title claims abstract description 97
- 230000015654 memory Effects 0.000 claims abstract description 42
- 238000003860 storage Methods 0.000 claims description 82
- 230000004044 response Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 30
- 238000004891 communication Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 9
- 230000006855 networking Effects 0.000 description 9
- 230000003993 interaction Effects 0.000 description 8
- 230000008520 organization Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000014759 maintenance of location Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 102100035353 Cyclin-dependent kinase 2-associated protein 1 Human genes 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 238000013523 data management Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000005267 amalgamation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 244000078534 Vaccinium myrtillus Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 235000021029 blackberry Nutrition 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G06F17/30554—
-
- 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
-
- 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/30327—
-
- 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
- GUI graphical user interface
- An illustrative apparatus includes a memory, a processor 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 receive a search input
- the processor is further configured to determine the presence of a plurality of electronic files related to the search input.
- the processor is further configured to display, on a graphical user interface (GUI), representative information of the plurality of electronic files related to the search input, where the representative information comprises a hierarchical tree structure.
- GUI graphical user interface
- a non-transitory computer readable medium has instructions stored thereon that, upon execution by a computing device, cause the computing device to perform the operations including instructions to receive a search input.
- the instructions also include instructions to determine the presence of a plurality of electronic files related to the search input.
- the instructions also include instructions to display, on a graphical user interface (GUI), representative information of the plurality of electronic files related to the search input, where the representative information comprises a hierarchical tree structure.
- GUI graphical user interface
- FIG. 1 is a flow chart illustrating a method of displaying a tree representation of search results in accordance with an illustrative embodiment.
- FIG. 2 is a flow chart illustrating a method of displaying a tree representation of search results using ranking of search results in accordance with an illustrative embodiment.
- FIG. 3 is a block diagram illustrating a computer system that may be used in accordance with an illustrative embodiment.
- FIG. 4 is a representation of a graphical user interface (GUI) demonstrating a tree representation of search results in accordance with an illustrative embodiment.
- GUI graphical user interface
- FIG. 5 is a flow chart illustrating a method of displaying a tree representation of search results across a multiplicity of devices in accordance with an illustrative embodiment.
- FIG. 6 is a representation of a GUI demonstrating a hierarchical tree structure search results in accordance with an illustrative embodiment.
- FIG. 7 is a block diagram illustrating various computing and electronic storage devices that may be used in accordance with an illustrative embodiment.
- FIG. 8 is a flow diagram illustrating a method of performing a cross-platform search in accordance with an illustrative embodiment.
- FIG. 9 is a flow diagram illustrating a method of grouping search results into clusters in accordance with an illustrative embodiment.
- FIG. 10 is a flow diagram illustrating a method of displaying search results in a hierarchical tree structure in accordance with an illustrative embodiment.
- FIG. 11 is a flow diagram illustrating a method of customizing search result groupings according to user defined groups in accordance with an illustrative embodiment.
- a hierarchical tree structure organizes search results in a hierarchy to make viewing and navigating through search results easier for a user.
- a hierarchical tree structure can be displayed using folders and sub-folders.
- a folder may represent an electronic device where various electronic files are stored.
- a hierarchical tree structure can also display sub-folders that are located on the electronic device. Examples of sub-folders may be “My Documents,” “My Music,” “Photos from my vacation to Monaco,” and countless other possibilities. Sub-folders themselves may also contain additional sub-folders for organizing electronic files.
- the hierarchical tree structure may only display a predetermined number of levels of sub-folders. For example, a hierarchical tree structure may only show a predetermined number of six levels of sub-folders. In this embodiment, if an electronic device only shows six levels of sub-folders, a selected sixth level will cause the display of all of the files (or a representation of the files) that are in the sixth level or any of the sixth level's sub-folders. Sub-folders may also be subordinate to their higher level folders or sub-folders. That is, any action taken with respect to a higher level folder will also be applied to any sub-folders of that higher level folder.
- Search results displayed in a hierarchical tree structure can be generated using cross-platform searching of multiple information sources and devices.
- the methods and systems disclosed herein allow a user to perform a single search across multiple different devices or a single device to search for different types of data.
- data may include messages, e-mails, documents, presentations, photos, videos, attachments to e-mails, contact information or other data types.
- This different data may reside on several different electronic devices, such as a tablet, mobile smart phone, laptop computer, desktop computer, digital camera, cloud storage system, smart television device, portable digital media player, wearable electronic device, or other types of electronic devices that are capable of storing electronic files and data.
- the search may be performed across the various devices regardless of the platforms and operating systems that the electronic devices utilize.
- various electronic devices may use various operating systems like Microsoft WindowsTM, iPhoneTM Operating System (iOSTM), AndroidTM, UnixTM, LinuxTM, Mac OS XTM, OS XTM, SymbianTM OS, ChromeTM OS, ChromiumTM OS, BlackberryTM OS, or other operating systems.
- iOSTM iPhoneTM Operating System
- AndroidTM UnixTM, LinuxTM, Mac OS XTM, OS XTM, SymbianTM OS, ChromeTM OS, ChromiumTM OS, BlackberryTM OS, or other operating systems.
- a hierarchical tree structure as disclosed herein can also be manipulated to expand and contract based on a user's inputs.
- folders and sub-folders may be collapsible and expandable to show or hide the contents of a folder or sub-folder.
- the hierarchical tree structure can be manipulated to show more than one level of the hierarchical tree structure.
- Folders and/or sub-folders may also be selected in order to open or preview the contents of the folders and/or sub-folders.
- an electronic file is represented on a GUI, it too can be selected to show a preview of the electronic file itself.
- the system may only display a certain number of folders and sub-folders. That is, the system automatically shows search results at a high level. After the initial display of search results, it may be up to the user to use manipulation commands to expand folders and sub-folders, display previews of electronic files in the search results, and open electronic files.
- a system may determine what folders and sub-folders to initially display after a search in a variety of ways. For example, if a user is only searching a single electronic device, the system may display several sub-folders that exist on the memory of the electronic device. In another example, if a user is searching several electronic devices, the system may only initially display one folder for each electronic device and corresponding to each electronic device.
- the folders and/or sub-folders displayed as search results may relate to a virtual location as opposed to a physical storage location such as a particular electronic device.
- the system may display a folder in the hierarchical tree structure that contains all spreadsheets.
- the spreadsheets in the spreadsheets folder may be actually stored on any number of electronic devices, but are organized into a virtual location for all spreadsheets to make it easier to find spreadsheets.
- a virtual location folder could relate to types of electronic files.
- a hierarchical tree structure may include both physical location folders and virtual folders.
- virtual folders may be related to things other than file type.
- Virtual folders may be user defined, such as “Favorite Pictures.” Such a user defined folder may include photos from a variety of electronic devices, social network websites, etc.
- a virtual folder may not actually contain files, but may instead merely contain location information about the files in the virtual folder such as links, routing instructions, address, folder location, or the like so that the system can find the actual file in the actual physical location from the location information.
- virtual folders can be automatically generated. Automatically generated virtual folders may include, for example, a “Recently Opened” folder, a “Top 10 Most Used in the Last Month” folder, etc.
- the system may display virtual folders related to data types or other factors.
- virtual folders for presentations, word processing documents, movies, and pictures may all exist.
- virtual folders that relate to a date files were created, last modified, last opened, etc. may all exist and be displayed in search results, either automatically or as designated by a user.
- folders and/or sub-folders may be displayed automatically by the system because the folder and/or sub-folder or a search result within the folder and/or sub-folder is particularly relevant or high ranked.
- a folder and/or file may be highly ranked if it has high relevance to the search terms or search input.
- a folder and/or file may be highly ranked if the quantity of hits for the search terms is higher than other folders/files, or for a folder the number of files in the folder/sub-folder that are relevant to the search input is high relative to other folders.
- a folder and/or file may be highly ranked if it is stored on a device with a positive access pattern.
- the system may highlight search results from the device by showing more sub-folders with search results from that device than other devices.
- a ranking based on where a file or folder is stored may also relate to an availability or accessibility of the file or folder. For example, the system may determine if an indexed file or folder on a tablet device is actually accessible (for example connected to a wireless network) before highlighting and ranking the file or folder high. As a result, the system can display and prioritize search results that are actually accessible at the time the search is performed.
- Another way a folder and/or file may be ranked is by a frequency of use metric. That is, if a file or folder is more often used by a user, the system may display that automatically because the chances are higher the user is seeking it again.
- File access patterns may also be used to rank files and/or folders.
- the system may have statistical data on file types that the user opens or uses more often. Accordingly, those file types or folders containing those file types may be ranked higher when ranking search results. For example, a particular user may have a fondness for music and listen to it almost constantly. Accordingly, if the user performs a search, the system may rank music and audio files (or folders where such files are contained) higher than those that are not audio files (or contain audio files).
- the system may record and use statistical file access patterns that are device specific. For example, the system may note that on a user's smart phone, the user most often sends SMS messages and has telephone conversations with her friends.
- the system may also note that when the user writes and checks e-mails, the user most often uses a tablet device and a laptop device. Accordingly, if a user enters a search input of “e-mail confirmation for flight,” the system may rank results from the tablet and laptop devices higher than any results from the smart phone device. In a simpler example, a system may note that a user spends more time on their smart phone than any other device, thus a higher ranking may be assigned to results from the smart phone based on a device-based frequency of use (as opposed to a frequency of use of files and/or folders). In another example, a user may designate rankings, preferences, etc. for how search results should be prioritized and displayed.
- data to or from a contact can be also be assigned a rank of importance.
- 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. In one example, the system may automatically rank correspondence and contacts by how frequently they communicate with the user.
- 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. Such factors of files and messages may be designated as indicating a higher relevance or ranking for search results.
- the system After a system has performed the search based on a search input, the system displays the hierarchical tree structure on the GUI. Next to each folder and/or sub-folder displayed, the system displays a number of how many search results are present in the folder or sub-folder. If the folder or sub-folder does not have any search results, no number is displayed. In an alternative embodiment, a number (or other alphanumeric sequence) may refer to a relevance or ranking of search results contained within the folder or sub-folder. In an embodiment where files are also shown in the hierarchical tree structure, the number may be displayed next to the name of the file to directly refer to a relevance or ranking of that file.
- folders and sub-folders that do not have any relevant search results are displayed differently than folders and sub-folders that contain search results.
- icons and folder names without search results may be a different color, shade, font, size, etc. than those with search results.
- a different icon or folder name itself may be used to indicate that it has no search results contained therein. In this way, a user can easily visually differentiate between folders with and without search results.
- the system may omit and not display folders or sub-folders that do not contain any search results.
- Search results can be grouped into clusters in some embodiments.
- Clusters may be according to various factors such as time, file type, size, etc.
- Clustering into groups can occur in various ways.
- a system may create or already have established virtual folders directed to certain clusters, such as file types. Accordingly, when a search is performed the system can display results according to those clusters using the virtual folders.
- the system may create new virtual folders as a result of the search in order to display the clusters.
- the clusters (and formed virtual folders) can then be utilized in the future, for example for future searches.
- a virtual folder related to file clustering may already exist, but the folder may not contain certain of the search results returned in a search that are returned and relevant to the virtual folder.
- the system may add those relevant search results to the virtual folder.
- clusters may be shown as search results based on file type. If a user enters a manipulation command to expand a cluster, the system may show other actual physical and/or virtual sub-folders. For example, if the user selects a “Documents” cluster and expands it, sub-folders representing different electronic devices may then be displayed. In this way, the user can then have access to documents that are relevant to the search input and organized by device. Accordingly, if a user was looking for a document that he thought might be on his laptop or desktop computer, such a document may be easier to locate in this embodiment.
- the system may cluster search results based on various criteria without using virtual folders.
- a temporary cluster (or something akin to a temporary virtual folder) is created after a search. For example, a user may enter the search term “Vacation.”
- the system may automatically cluster search results, or may cluster results for electronic devices or folders that exceed a predetermined threshold of results. That is, if a folder or device has a lot of results, the results may be clustered. In other embodiments, results may always be clustered.
- the system may identify a folder on the user's laptop called “Vacation to Chile.” The folder may have numerous files in it and in sub-folders within it.
- the system may cluster the files in the folder automatically, or may do so if the folder is expanded by a manipulation command from the user.
- the system may cluster the files in the “Vacation to Chile” into various clusters, such as “Photos,” “Planning and Visa Documents,” “Flight, Hotel, and Rental Car Reservation Documents,” “Videos,” and “Correspondence With Lisa re: Chile Trip.”
- the system may display the clusters on the GUI for the user, similar to how sub-folders would be displayed. Such clustering and temporary display of results may help the user locate the object of her search more easily and quickly.
- a user may perform a search input by entering text regarding the subject of their search.
- the system may receive the search input from the user and perform the search by looking for electronic files related to the search input throughout several electronic storage locations.
- the electronic storage locations may several different electronic devices and/or types of electronic devices.
- the devices may be in different locations or physically remote from each other.
- the searched devices can be anywhere.
- the devices may be connected to the internet and the searching device may perform the search by accessing the memory of the other devices through the internet. Through these communications, the system can determine whether electronic files matching the search inputs are located on any of the searched electronic devices.
- a user's social media networks may also be searched for electronic files relating to a search.
- a social networking website may allow or utilize file sharing.
- the system may search the electronic files a user has access too on social networks when performing a search.
- the system may also be able to search for contacts from the relationships a user has on a social networking website.
- the system may be able to locate information related to users on a social network that the user does not have a relationship with. For example, a user may be trying to locate the contact information of a person who has previously helped the user do landscaping and yard work. By entering the name of the individual, the system may be able to locate the individual and an e-mail address listed on a social media profile for the individual.
- Such searching and results may take place irrespective of a formal relationship between the user and the individual on the social media website.
- searches may be limited by the amount of information that can be accessed and searched for by the user. So in this respect, if the user has an official relationship with someone over a social networking website, such a user may accordingly have more information accessible to the user based on the official relationship. As such, more information may be available to the system for searching and search results.
- the system can display the results to a user on a graphical user interface (GUI).
- GUI graphical user interface
- the results may be displayed using representative information of an electronic file. That is, the entire electronic file may not be displayed on the GUI, but rather certain information relating to a relevant file may be displayed.
- Representative information may also include a preview of the electronic file.
- Representative information could also include any sort of metadata about the electronic file, such as the physical location where the electronic file is stored, the size of the electronic file, a date and/or time the electronic file was created or last modified, a file type of the electronic file, a preview of the electronic file, or any other information relating to the electronic file.
- representative information of particular electronic files may be displayed in the hierarchical tree structure search results.
- the hierarchical tree structure may only display folders, sub-folders, and/or clusters and individual files, representative information of files, and previews of files may be displayed in a different part of the GUI or a different window on the GUI altogether.
- a preview of one or more of the electronic files may be automatically displayed on the GUI with the search results.
- the user may position a mouse or pointer over representative information of an electronic file to get a preview to appear.
- the user may have to click on the representative information or otherwise interact with it through the GUI (such as touching the representative information through a touchscreen) to get a preview of an electronic file to appear.
- the system may display on the GUI search results in a way that does not immediately display information directly related to individual electronic files. Instead, the system may display the information in representative groups (also referred to herein as clusters or an amalgamation).
- the system may display groups of search results based on the various characteristics or traits of the results. For example, electronic files that are found as part of the search results may be sorted according to data type. For example, the results may be sorted and grouped into clusters based on whether each result is a document, presentation, photo or other image, video, e-mail, contact information, message, or other sort of file or data type.
- the clusters could also contain more than one data type in the same cluster.
- a cluster could also represent all search results from a particular storage location.
- a cluster could also represent search results from a certain period of time (when the files were modified or created, for example).
- the clusters may be automatically determined by the system, or may be configured and defined by the user.
- a group or cluster displayed on the GUI may also indicate how many electronic files of each type of files were found during the searching.
- the system may display certain groups or clusters more prominently than others. For example, the system may automatically display a cluster representing documents that were saved on a hard drive more prominently than a cluster representing documents that were attached to e-mail messages. Although the system may automatically display certain groups and/or clusters with more prominence, the system may also be configured by the user to show certain groups or clusters more prominently than others.
- a user may also expand a cluster to view representative information of the files that are represented in the cluster. The user may accomplish this through an interaction on the GUI with a particular cluster or group. Representative information of individual files within a cluster or group may also be displayed more prominently than others depending on system defaults or preferences established by the user.
- the clusters or groups displayed by the system may be displayed as a hierarchical tree structure.
- results may be shown in groups that are expandable and collapsible to demonstrate more detail regarding the search results.
- the system may also indicate in a hierarchical tree structure, how many results regarding each level of the hierarchical tree structure there are.
- a search results may be displayed in clusters as a hierarchical tree structure.
- the levels initially displayed in the hierarchical tree structure may sort the search results according to a first criteria.
- the search results may be sorted into clusters depending on a data type. In other words, the search results are sorted based on what type of electronic file each file is.
- Each level may also display how many relevant files are represented by the cluster or group.
- a cluster or group is expanded on the GUI.
- the expanded level may display representative information of each electronic file represented by the cluster or group.
- the system may determine to do this where the number of files represented by a cluster are relatively low (for example, five electronic files or fewer).
- further sub-levels of the hierarchical tree structure that represent sub-groups of the clusters or groups may be displayed. For example, if a cluster representing e-mail messages is interacted with, further sub-groups sorted by a second data type may be displayed on the GUI.
- the sub-groups may be sorted by date, such as month and year the e-mail messages were received.
- date such as month and year the e-mail messages were received.
- other sub-groups may also exist, so that a set of search results is organized viewable based on several different categorizations based on data type, metadata, file location, and the like.
- morphological searching may automatically utilize searching for words or forms of words that are similar to the words entered as a search term by the user.
- the system may utilize metadata and tag searching.
- the system can search information that is associated with an electronic file as metadata or tags for information relevant to the search terms entered by the user.
- full text searching the system may search the entire contents of an electronic file for relevance to the search terms entered by the user.
- Fuzzy searching also known as approximate string matching, may also be utilized by the system. Fuzzy searching takes a string of characters entered by the user as a search term and searches for a similar string of characters that approximately match the string of characters entered. In this way, if a search term that is entered has been misspelled, the system may be able to automatically search for the correctly spelled word rather than the misspelled word.
- system may utilize context and interrelated information from electronic files to perform searches. For example, system may examine the content of electronic files on the system and utilize the examination to determine certain relationships or contexts. For example, an e-mail may contain a signature line with the name of a company that the sender works for. As a result, the system could return results for the company broadly during a search where the search terms entered was the name of the sender himself.
- a user may attempt to perform a search when one or more electronic devices of the user is not online. That is, the electronic device performing the searching may not be in communication with certain of the user's electronic devices when a search is performed.
- the search may only locate electronic files that are located on the available and online electronic devices and cloud storage systems.
- the system may still be able to search for documents that are stored on an offline electronic device.
- the system may maintain an index of electronic files on the various devices of the user that includes information such as metadata and tags about files.
- the system may search this index when a user performs a search rather than search the memory of each electronic device of the user's in the system. This is particularly advantageous where one or more of the electronic devices is offline while the user is attempting to run a search. Where a device is offline during a search, the system may search the physical memory of online devices while searching the index regarding the offline devices. In another embodiment, the system may only search the index, regardless of whether a device is online or not. In yet another embodiment, the system may start with a search of the index, and may use the results of the index search to determine specific electronic files to further search that are located on the various user devices.
- the index may be a full text index.
- the full texts of electronic files are stored on the index.
- the system may perform searches on all of the electronic files and their content, even if the electronic files themselves are not currently stored on devices that are online.
- only some of the total electronic files on a user's electronic devices may be full text indexed.
- the system may automatically full text index electronic files from electronic devices that are more likely to be offline than others.
- the system may full text index electronic files from external hard drives and digital cameras, while not full text indexing a desktop computer.
- the user may be able to specify which devices' electronic files should be full text indexed or not.
- the system may selectively full text index files based on other criteria. For example, the system may not full text index certain electronic files that are over a certain size. In another example, the system may not full text index certain types of electronic files, such as images and videos. The system may be configured to automatically make such determinations, or the user may configure what types of electronic files to full text index and which electronic files not to.
- the user may also be able to set up rules regarding full text indexing. This may be advantageous where the user recognizes the importance of the electronic files selected for full text indexing, particularly where the user knows he or she will have a future desire to fully search said electronic files.
- the user may set a rule that any e-mail messages and files attached therewith from contact John Smith should be full text indexed.
- the user may set up a rule based on an important relationship.
- John Smith may be the user's financial advisor. Accordingly, the user wants to ensure that any correspondence or documentation sent to the user from Mr. Smith is well documented and accessible utilizing the system.
- the system may determine these types of rules automatically. For example, the system may determine a user's most important and/or frequent contacts. Any correspondence between an important and/or frequent contact may be automatically fully indexed by the system so that the correspondence is easily searchable and locatable.
- the index may be stored on a particular device of the user's, for example, a laptop.
- the user may also designate which device will store the index.
- the index will be stored on a cloud storage system.
- the index may be updated regarding changes to data or files on any device whenever the device is connected to the internet.
- representative information of the electronic files can be displayed on a graphical user interface (GUI) to a user.
- GUI graphical user interface
- the representative information may be displayed in a single window format.
- Representative information may include a file name, a file preview, date last modified, version number, date created, number of related files, number of files in a folder, and any other information relating to an electronic file.
- the representative information may include information regarding the location of the electronic file. The location information can be indicated utilizing a symbol or icon. For example, if a file is on the user's smartphone, a smartphone icon may be used to indicate the location of the file.
- the device where a file is stored may be part of the representative information.
- the system may also index a so-called virtual location of a file. For example, regardless of where an e-mail might be physically stored, it might be virtually located in a user's e-mail inbox within the system and displayed as such whenever the inbox is displayed on the GUI. In this case, the system may indicate either or both of the virtual and physical locations.
- the representative information may be displayed in a single window, but may be divided within a multiple tab configuration.
- a GUI may include tabs for files, photos, e-mails, and contacts.
- 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 representative information for a file may be manipulated or changed by the user. For example, if the user receives a file through a file sharing website or attached to an e-mail, the file may have a computer generated name or a name that is otherwise undesirable by the user. Accordingly, the user may then change the name of the file that is used in the representative information. Any other of the representative information may also be changed by the user.
- the system may also display a preview of electronic files on the GUI. This may occur automatically, or may occur based on some sort of interaction by the user with the GUI. For example, the system may display the preview only if the user clicks or taps on the file once. In another example, a preview may be displayed when the user moves a pointer over a file. In another embodiment, a preview may be automatically displayed, but a further preview may be displayed when a file is interacted with. For example, the first page of a document may be shown, and when a pointer is moved over the document, the second page of the document is shown. In another example, a thumbnail of a picture may be shown.
- a larger and/or more high resolution version of the photo may be displayed by the system.
- the system may extract all or a portion of content from an electronic file to generate the preview. For example, where a first page of a document is used as a preview image, the first page of the document is extracted.
- Various types of previews may be displayed by the system.
- a preview may include a first group of words from a document or message (such as an e-mail).
- Another preview may be a thumbnail image of a larger image, or a screen shot of a video.
- the preview image could also include some or all of the contact information relating to an e-mail or other type of message.
- a preview image could also include a task information relating to an electronic file.
- the electronic file is a task list, reminder list, or calendar
- a task list, reminder list, or calendar may include information that can be used in the preview.
- a reminder list may include an item reminding the user to pay their rent.
- a preview of the reminder list or of the item on the reminder list itself may include the text “Rent is Due!”
- such a task or preview may be derived from an e-mail, such as an e-mail requesting information from the user.
- the preview of such an e-mail may include text indicating the request.
- context menus may be used.
- Context menus are menus that pop-up on the GUI relating to a particular part of the GUI.
- a context menu may pop-up if a user moves their mouse over the representative information of an electronic file.
- the user can move a pointer over the representative information and make another input, such as a mouse click, to get the context menu to display.
- the user may only input with regard to the representative information, and a pointer may not be utilized.
- a context menu may include information related to a particular electronic file or actions that may be taken related to the electronic file.
- a context menu may indicate that an electronic file is classified as read only.
- a context menu may present a user with options relating to the electronic file, such as download the file, delete the file, rename the file, move the file, back-up or copy the file, etc.
- various user inputs and interactions may be made to effectuate opening an electronic file by clicking on or otherwise interacting with the representative information of a file on the GUI.
- the user may activate the system disclosed herein.
- the user can then navigate to or search for the representative information of the document desired, and tap on it through the touch screen of the tablet.
- the system receives the input from the user, and the system then uses an application that matches the file type of the document to open the document and display it to the user on the tablet.
- the application may be located on the tablet or located elsewhere. As long as the system has access to the application, the document can be opened.
- the system may select an application to utilize when opening a document based on a number of factors. For example, the system may consider whether the user made any choices regarding what application to use (e.g., an open-with option) or how the file should be displayed (e.g., read-only). The system may also choose an application that is appropriate for the device the user is currently using. The system may also select an alternative application to use where a preferred application is not available. In an alternative embodiment, electronic files that have been opened may be displayed directly by the system and even edited within the GUI. If a document is not available (for example, the device where the document is stored is offline), the system may automatically find another copy or replica of the document on another device and open that one.
- an application to use e.g., an open-with option
- the system may also choose an application that is appropriate for the device the user is currently using.
- the system may also select an alternative application to use where a preferred application is not available.
- electronic files that have been opened may be displayed directly by the system and even edited within the GUI.
- the system may be able to locate a copy or a replica of the document on an e-mail server or otherwise find it among other message types that the user has sent or received.
- the GUI may display some representative information more prominently than other representative information.
- the representative information includes an icon such as a piece of paper type icon for a document.
- the piece of paper type icon for certain files may be displayed larger and/or further toward the top of the GUI than the icons for other files.
- Such a difference in prominence may be random, so as to make the display less monotonous and more pleasing to the eye.
- groups of files are displayed together in a solitary representative information, different groups of files represented by an icon or symbol may also be displayed more prominently than other groups or individual files.
- such differences in prominence may result from a decision made by the system to display the representative information of the files accordingly. For example, the system may determine to display more recently opened or edited files more prominently.
- the system may display messages that have been received but not read or responded to more prominently.
- the system may display photos or videos posted to the user's social networks that have a relatively greater number of social interactions with others on the social networks more prominently. If the system is displaying search results, the system may display results with more relevance to the search more prominently. Other criteria, such as number of times modified, date created, size of the file, or tag or metadata associated with the file, may also be used by the system to determine how to determine representative information to display more prominently on the GUI.
- the GUI may also display a representation of a current storage utilization of a device in which the GUI is being displayed.
- the representation may include a graphical representation indicating a percentage or fixed amount of free storage space and used storage space.
- such a representation may be used to indicate an amount of free and used storage space on a different device.
- such a representation may be used to indicate an amount of free and used storage space on all of the user's devices combined.
- such a representation may be used to indicate an amount of free and used storage space in a portion of a cloud storage space allotted to the user.
- such a representation may be used to indicate an amount of free and used storage space in all of the user's devices and the portion of the cloud storage space allotted to the user.
- the representative information displayed on the GUI may include a hierarchical tree structure.
- a hierarchical tree structure may indicate the various physical devices of the user and the files and folders stored thereon.
- the hierarchical tree structure may also indicate the files and folders stored on a user's allotted cloud storage space.
- a hierarchical tree structure may alternatively or additionally display files in their designated virtual locations.
- a virtual file location is defined herein as a location the system visualizes a file being in, even if the file is not physically stored there. For example, a virtual location of “My Music” may contain all of a user's audio files, regardless of what device or folder the audio files are in.
- each audio file has a virtual location of the My Music folder.
- Other files and contacts may similarly have other virtual locations as determined by the system or the user.
- a virtual file is defined herein as a file that is a merged version of several files.
- the virtual file may physically exist on a storage device, or may exist locally when opened by the user and incorporates data from multiple physical files.
- a virtual file may be displayed as representative information on the GUI.
- the representative information may indicate that it is a virtual file, or the representative information may appear similar to the representative information for any other file, not indicating to the user that the file is a virtual file.
- Electronic files indexed, displayed, used, etc. by the system can include many things.
- files as defined herein may include things such as documents, presentations, spreadsheets, e-mails, messages, audio files, video files, contact information, web pages, information from webpages, tasks, calendars, and the like.
- Such files may be gleaned by the system from various sources such as local file storages powered with operating systems (e.g., laptops, phones, tablets, media centers, etc.), external passive file storages (e.g., external hard drives, memory sticks, CD/DVD's, etc.), cloud storages (e.g., DropboxTM, Google DriveTM, EvernoteTM, FlickrTM′ FacebookTM galleries, etc.), e-mail accounts (e.g., GmailTM, HotmailTM, YahooTM mail, exchange servers, etc.), messenger services (e.g., TwitterTM, SkypeTM, SMS, SnapchatTM, ViberTM, Google HangoutsTM, etc.), social media feeds (e.g., FacebookTM′ Google+TM LinkedINTM, etc.), contact lists (from e.g., e-mail accounts, messengers, telephone, personal address books, OutlookTM contacts, etc.), tasks, calendars, dictionaries, encyclopedias, internet sites, and any other services like FineReaderTM online.
- operating systems e.g
- the systems and methods disclosed herein provide benefits over an exclusive utilization of cloud storage.
- Some people store information in a cloud storage in order to synchronize information on different personal devices.
- cloud storage is not necessary because personal devices have become very productive, and often have sufficient capabilities to handle the needs of many users without resorting to cloud storage strategies.
- the amount of data produced by some people is so massive that transferring that data to cloud servers may be cumbersome and time consuming. For example, a digital camera owner may return from a vacation with hundreds, if not thousands, of photos or videos in high resolution.
- the photos and videos could occupy multiple gigabytes of memory in the cloud storage servers, and may additionally severely tax data transfer resources to move all the photos and videos to a cloud server.
- many devices have become wirelessly connected to each other (e.g., smart TVs, media centers, cameras, fitness bracelets, GoogleTM-glasses, other wearable computers, etc.) so that it may be preferable to keep some data on local devices rather than remote servers. Additionally, much of the data that could be stored on a cloud storage may never be used again, thus unnecessarily taking up space on the cloud storage servers.
- the systems and methods discussed herein provide for a multiple device storage system where files can be organized across all personal devices, cloud locations, and applications (e.g., e-mail, word processing, videos, pictures, etc.). Further, people share computer files sending them as e-mail attachments or attaching them to instant messages, social media feeds, blogs, or publishing them in their galleries or cloud storages. Accordingly, the systems and methods herein provide for organization and searching not only across all personal devices and cloud locations but also through a user's e-mails, instant messages, social media feeds, blogs, media galleries, and other communication content.
- a system can display, access, distribute, synchronize, manage, and search different types of content, including but not limited to file content, communication content, contact content and other personal information across multiple devices and cloud servers.
- the system may also include a server system that communicatively couples to an agent-type application on one or more client devices.
- a user may be able to perform a customizable search. For example, a user may wish to only search for a certain type of electronic files or content, such as contact information files. In this example, the user is able to specify that contact information files should be searched. In another example, the user may wish to only search among spreadsheet type electronic files. In another embodiment, the user may specify that he or she would only like to search among electronic files that are stored on particular electronic devices. For example, a user may specify that he or she would only like to search for electronic files on the user's mobile phone and cloud storage system. In other examples, these functionalities may be combined and mixed by the user. For example, the user may specify in the system that only videos from the desktop computer are the subject of a search.
- a method provides multi-platform content access, distribution, and synchronization of files on different devices including using a client-side application to manage transfer and presentation of files on a device and across server systems.
- a method provides multi-platform content access including full-text indexing of the content, files, and metadata of files located on a device and searching of files using full text index located on a server system.
- a method for displaying data from local, external, offline, and other sources in a single interface presented to a user.
- the display can also include information on where the data and/or files are actually stored.
- a computer-readable medium may include instructions executable by a processor to cause the processor to perform functions allowing multi-platform content access, distribution, and synchronization on different devices.
- Such instructions may be embodied in a client-side computer organization application.
- 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 and files, while managing the data and 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 disclosed embodiments promote technology to automatically smart move files in a user's family cloud, so that there is always space on the user's phone and laptop, and the most necessary files are always at hand.
- 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.
- the system searches not only electronic files on the user's electronic devices and cloud storage systems, but also any electronic files that are shared with the user through file sharing websites and other mediums.
- some cloud storage systems facilitate the sharing of electronic files amongst its user base.
- the system in this embodiment can seamlessly search such shared documents, whether or not they were authored by the user, as part of other searches for electronic files. That is, the user may not even notice that his or her searches are including shared documents.
- the system may indicate in the search results that certain results are shared documents.
- the user may be able to specify that a shared document search be performed.
- someone may share a contact list with the user. This may be through an e-mail exchange or other application. In this case, the shared contact list may also be searchable by the system.
- Other types of shared electronic files may also be searchable like the other examples given here.
- 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 (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.
- 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.
- 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.
- Another illustrative embodiment includes a platform based on a back-end and a front-end, native client and external device architecture. Any product/service that generates data and files (documents or messages) can integrate with this platform as a source of data and files. Accordingly, the user can see these data and files in a uniform interface with an ability to search, tag, preview, manage, share, etc.
- the platform may include built-in smart rules and notification functionality. For example, a particular device may be wearable, such as a fitness bracelet. This device, through the embodiments disclosed herein, may trigger a rule or notification based on the activity of the user to provide an alert.
- embodiments as disclosed herein may include infrastructure through which data may be displayed. For example, a user may again be wearing a device, through which the infrastructure facilitates the viewing of a video message or otherwise displays data.
- agent software is installed under Operating System (OS) software.
- OS Operating System
- the agent extracts text and metadata from all local files and e-mail and passes on the data to a server or other local or remote processing device (herein referred to as cloud service) for indexing.
- cloud service a server or other local or remote processing device
- the agent monitors changes in files.
- the agent collects the actual aggregate of all the devices of the user code and creates a local copy of the relevant index (cache).
- the cloud service provides a combination of a simple, but very dynamic, attractive, and convenient e-mail client and a simple, but very comfortable file manager.
- a program may function in ways used in a traditional e-mail client (e.g., MicrosoftTM OutlookTM), but also may include the ability to view not only an e-mail message but also files included in correspondence.
- This program, a client tied to the cloud service, or cloud service client may be implemented for desktop operating systems (OSXTM and WindowsTM), and for mobile operating systems, such as iOSTM and AndroidTM.
- the cloud service client interface for desktop OS is very fresh and light in the spirit of interfaces for mobile OS.
- This program is not intended to replace traditional e-mail clients or file managers, but aims to make working with mail and files easier.
- a first type of functionality may serve to review incoming mail.
- a system may provide a radically more convenient way of presenting the incoming mail than traditional systems, such as OutlookTM and Mac Mail. Such a presentation may be based on the fact that important messages are displayed in a different way than un-important messages.
- Another feature of such a system may relate to the formation of responses to messages directly within the cloud service client.
- 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.
- 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 “[email protected]” (again an ambiguous title).
- the system may identify that [email protected]—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.
- a tag classifier's probability may be taken into account when ranking search results. If an auto-tagging system is not sure about a classifier, the probability for the classifier is indicated.
- Search results may also contain statistical information on directories. When switching to directories, selection in search results may be narrowed (or expanded). Search results may contain statistical information on tags. Search results may also be visualized to the user in a hierarchical tree structure, for example, where there is information on how many files are relevant to the search query, and the associated folder for those files.
- the user might first perform tedious manual tagging operations, such as tagging names of his relatives and friends on faces and objects (e.g., sea, beach, house, tree, etc.) so that those faces and objects will be recognized and associated with the remainder of the user's photos and tagged in the future.
- the user may not have time to perform this manual tagging.
- the systems and methods disclosed herein alleviate the burden of manual tagging in a number of ways.
- the system performs “social tagging” automatically. For example, when a user is posting some of his photos in social networks, other people are tagging the faces, objects, and places on the photos and commenting on the photos themselves.
- the system can track these tags and comments and use them to create metadata for the particular photos which have already been posted, and use these tags and comments for initial tagging; after which the same people, objects, and places on other photos which have not yet been posted are recognized and categorized. Accordingly, the system (without requiring initial user tagging) builds a database of searchable metadata for both photos which have previously been posted in social networks and those which have not yet been posted.
- 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 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.
- 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.
- 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.
- the system may use various approaches such as morphology, semantics, fuzzy, and other approaches to perform a broader query, so as to eliminate a “no results found” result as many e-mail and file search systems would currently yield.
- Search query “Schedule” Search results: Doc 1 containing “Schedule” Doc 2 containing “Schedule” . . . Doc 100 containing “Schedule” Doc 101 containing “Program” Doc 102 containing “Program” . . . Doc 250 containing “Program”
- the system may cluster the results of the searching by different common vectors, such as the following:
- the system may conduct a search dialogue with a smart search assistant.
- search queries are beset with issues such as a return of zero results, or a return of too many results and/or coupled with poor ranking of those results (i.e., the target document is not ranked first in the list of results).
- the system and methods disclosed herein introduce a live assistant.
- the live assistant takes verbal or textual queries from the user, who describes the data to be located. Based on this description, the live assistant may then query the user with suggestions.
- the live assistant may query the user for more information to broaden the search.
- the live assistant may suggest detail so as to narrow the search.
- the live assistant is computer software code that can respond to inputs from the user and provide prompts to the user as disclosed herein.
- the live assistant may be a human operator using another computing device to communicate with the user and provide prompts to the user as disclosed herein.
- the user may have the option to conduct a dialog (verbal, text, or otherwise) with the live assistant in a natural language format. For example, the user may type the search query “find all the emails which include information about my meeting with investors,” or order, “move to folder 1 all of the photos taken yesterday.” The live assistant may then respond with a confirmation, such as “would you like to delete all storyboard photos?”
- a dialog verbal, text, or otherwise
- image and pdf text files may be pre-Optical Character Read (OCRed) (at least in some extent) so that if a user is searching the word “passport,” they can find images that include the word “passport.”
- Photos and videos may be searched based on GPS location data and metadata information about the time of shooting (e.g., a user can specify a range of time the photo was taken “from/to,” a user can specify the geographical units in their own language, “photo made in the United States”).
- Part of the metadata may be generated by the cloud service client system itself, such as, from where the file was received (e.g., saved from such a man of attachment to the letter, copied to the HDD #12, etc.).
- Object recognition technology may also be applied to create metadata about the content of photos and video files, for searching.
- a user is looking for a photo where their family is at sea from 2005 to 2008.
- the system may to understand in advance that the image contains an object “body of water” so, when the search receives the search term “sea,” the mechanisms of the illustrated embodiments will find images containing a “body of water.”
- the system may also create an ontology of contacts, including relatives, their photos etc.
- the systems and methods disclosed herein may implement photo tagging per the following example.
- the user may have 500 photos of Pete which he posts to a social media website. Subsequently, another individual tags one of the photos in which Pete appears.
- the mechanisms identify this tag of the photo, use this tag to create a “Pete” tag in the system, and query the user to confirm by displaying similar faces of Pete to the user.
- the user may have comments of his photos from other individuals in a particular social media.
- the comments are used by the mechanisms of the illustrated embodiment for full-text searching, and extracted to create tags, which later are used to characterize various photos.
- the methods and systems disclosed herein offer advantages over a simple keyword search, particularly since the methods and systems herein relate to a user environment across multiple devices, platforms, file formats, and user file sharing and social networking systems.
- a user may have to remember precise wording to find a desired file in traditional keyword searching.
- a user may be able to find files, mails, and other objects by the general sense.
- the system may parse the query, build a semantic structure and translate the semantic structure into an extended query using query interpretation and synonyms expansion based on dictionaries and ontologies.
- the extended query may produce many irrelevant results so the ranking algorithms, systems, and methods disclosed herein based on semantic similarities, word positions, word frequencies, usage levels, importance levels, etc. are valuable in ordering and ranking search results. If relevant results are not found, it is beneficial not to show irrelevant results unless a user allows or desires such irrelevant results to be displayed.
- searching can include parsing through all content related to the contacts of the user to seamlessly organize the search results for display, wherein the content includes at least the email data and the files, a multiplicity of 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 result of the search operation is displayed in the single GUI window, and the email data and files on separate tabs are displayed in the single GUI window.
- the user may toggle between the email data and files with a single click.
- the search results are displayed in the hierarchical tree structure information on a number of the email data and files that are relevant to a search query and associated files for the number of the email data and files.
- FIG. 1 is a flow chart illustrating a method 100 of displaying a tree representation of search results 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 100 begins at an operation 102 .
- an operation 104 a search operation of email data and files is performed. The search operation is common to each one of the multiplicity of devices for seamless display of the search results. The search operation is performed whether a particular one of the multiplicity 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 searching includes parsing through all content related to the contacts of the user to seamlessly organize the search results for display, where the content includes at least the email data and the files, a multiplicity of 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 system groups clusters of search results by a data type.
- the system displays the clusters with at least one search result corresponding to each of the clusters.
- the system accepts an input from the user to display a remaining set of results corresponding to a particular cluster not previously displayed. If the result of the search returns data corresponding to a data type in a number of results exceeding a predetermined percentage: those of the search results of the data type are displayed more prominently in the single GUI window, and those of the search result of remaining data types are aggregated and displayed less prominently in the single GUI window.
- the system displays the search results (e.g., displays a most relevant portion of the search results) in a hierarchical tree structure, each portion of the hierarchical tree structure remaining visible to, and able to be manipulated by, a user regardless of whether a local device associated with the portion of the hierarchical tree structure is online or offline at a current time.
- a most relevant portion of the search results may be displayed while maintaining organizational relationships between the search results and related objects in the hierarchical tree structure, with the displayed portion of the results remaining visible to, and able to be manipulated by, a user and/or application regardless of whether a local device associated with the portion of the hierarchical tree structure is online or offline at a current time.
- the method also allows manipulating (e.g., via an application) the displayed portion, including allowing a traversal of the hierarchical tree structure to display at least one of the search results and the related objects.
- the method also allows manipulating (e.g., via an application) the displayed portion, including allowing a traversal of the hierarchical tree structure for determining a relationship between the most relevant portion of the search results that are displayed and the related objects.
- the method determines the most relevant portion of the search results based on one of predetermined criteria, access patterns of the multiplicity of devices, frequency of use of the multiplicity of devices, a ranking of the email data and files, a calculation operation performed on the email data and files.
- the displaying of the search results within the hierarchical tree structure can include displaying label information, representative of each of the email data and files, to disclose each of the email data and files in a single graphical user interface (GUI) window by means of a client application.
- GUI graphical user interface
- the displaying may also include displaying the result of the search operation in the single GUI window and/or displaying the email data and files on separate tabs in the single GUI window.
- the user may toggle between the email data and files with a single click.
- the displaying may also include information on a number of the email data and files that are relevant to a search query and associated files for the number of the email data and files.
- the method 100 ends at an operation 114 .
- FIG. 2 is a flow chart illustrating a method 200 of displaying a tree representation of search results using ranking of search results 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 at an operation 202 .
- the system performs a search operation of email data and files.
- the search includes searching and analyzing the content in social networking channels, email address, data structures, signatures in messages, audio and/or video files, images, and/or other telephonic communication, text messages, SMS messages, and the like across multiple devices whether the devices are offline or online at a particular time.
- the system dynamically assigns a rank of importance to the search results.
- 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 most important).
- the user and/or application may employ other ranking methods.
- the rankings may be altered and/or reassigned as needed.
- the system links information returned from a search operation to a watchdog tag, which is used to monitor search results by performing subsequent searches using the watchdog tag.
- the system uses statistical information on directories and/or the tags in the search results.
- the system displays the search results in a hierarchical tree structure.
- a most relevant portion (and/or, a desired portion, a selected portion, a predetermined portion, a calculated portion, and/or the least most relevant portions) of the search results may be displayed while maintaining organizational relationships between the search results and related objects in a hierarchical tree structure, with the displayed portion of the results remaining visible to, and able to be manipulated by, a user and/or application regardless of whether a local device associated with the portion of the hierarchical tree structure is online or offline at a current time.
- the hierarchical tree structure may be displayed in a single graphical user interface (GUI) window by means of a client application.
- GUI graphical user interface
- Each portion of the hierarchical tree structure remains visible to, and able to be manipulated by, a user and/or the client application regardless of whether a local device associated with the portion of the hierarchical tree structure is online or offline at a current time.
- the method 200 ends at an operation 214 .
- directories e.g., switching directories in the GUI display page
- the selection in the search results may be narrowed (or expanded).
- FIG. 3 is a block diagram illustrating a computer system 300 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.
- 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, 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 the embodiments disclosed herein may be a part of an operating system or may be a specialized peripheral, component, program, dynamic library, module, script, or a combination thereof.
- FIG. 4 is a representation of a graphical user interface (GUI) 400 demonstrating a tree representation of search results in accordance with an illustrative embodiment.
- GUI graphical user interface
- the GUI 400 display shows, among other aspects, relationships between various functionality brought to bear by mechanisms of the illustrated embodiments, as described herein.
- sample GUI 400 screens also depict various additional functionality as disclosed herein.
- software incorporating the embodiments disclosed herein 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:
- a software window 400 configured and/or customized by and/or for the user.
- the working part it is 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 (GmailTM etc.), other locations: camera, media centers etc., and other computers.
- a visible arrow 414 on the GUI 400 screen 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. In the analyzing and 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 searching and analysis 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 400 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 search operation may also display the search results in a summary 422 .
- the terminology described herein as “smart analysis” is a search and analysis of a user's contacts, including, for example, analyzing the user's emails (e.g, emails relating to one or more contacts) and clearing up the user's disorganization in the multiple devices (e.g., the disorganization of contacts in these multiple devices).
- the data summary 422 may include information like how many results were found, how many results were found from each electronic device, the total size of all of the results, the totals in size and quantity by type or format of results, length of time taken to complete search, and other data relating to a search.
- the smart analysis results 424 may include information about how the results were ranked and prioritized according to the methods and systems as disclosed herein.
- the GUI 400 screen also displays the search results in a hierarchical tree structure 408 .
- the hierarchical tree structure 408 may be displayed in a single graphical user interface (GUI) 400 window by means of a client application.
- GUI graphical user interface
- FIG. 5 is a flow chart illustrating a method of displaying a tree representation of search results across a multiplicity 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.
- the method 500 begins at an operation 502 .
- the system performs a search operation of email data and files across a multiplicity of devices.
- the search operation is performed regardless of whether the multiplicity of devices are either online and/or offline.
- the search operation common to each of the multiplicity of devices for seamless display of results.
- the system displays a portion of the search results (e.g., a most relevant portion) while maintaining organizational relationships between the search results and related objects in a hierarchical tree structure, with the displayed portion of the results remaining visible to, and able to be manipulated by, a user and/or client application regardless of whether a local device associated with the portion of the hierarchical tree structure is online or offline at a current time.
- a portion of the search results e.g., a most relevant portion
- the displayed portion of the hierarchical tree structure is manipulated.
- the manipulating includes allowing a traversal of the hierarchical tree structure to display at least one of the search results and the related objects.
- the manipulating the displayed portion includes allowing a traversal of the hierarchical tree structure for determining a relationship between the most relevant portion of the search results that are displayed and the related objects.
- the system determines the portion of the search results to be displayed (e.g., the most relevant portion of the search results).
- the portion of the search results to be displayed is determined by one or more of the following: predetermined criteria set by the user and/or an application, historical usage and/or access patterns of the multiplicity of devices, a frequency of use of the multiplicity of devices, a ranking of the email data and files, a calculation operation performed on the email data and files, a filtering and/or a queuing operation for creating a most relevant ranking/queue and a least most relevant ranking/queue of the search results based on the search queue, search results obtained from the multiplicity of devices for those of the multiplicity of devices that are offline and those of the multiplicity of devices that are online, and/or most related search results.
- the method 500 ends at an operation 512 .
- the methods and systems disclosed herein provide a solution for an efficient tree representation of search results across a multiplicity of devices by a processor device.
- a search operation is performed of email data and files.
- the search operation common to each of the multiplicity of devices for seamless display of results.
- a most relevant portion of the search results is displayed while maintaining organizational relationships between the search results and related objects in a hierarchical tree structure, with the displayed portion of the results remaining visible to, and able to be manipulated by, a user regardless of whether a local device associated with the portion of the hierarchical tree structure is online or offline at a current time.
- the methods and systems disclosed herein allow manipulating the displayed portion, including allowing a traversal of the hierarchical tree structure to display at least one of the search results and the related objects.
- the methods and systems disclosed herein allows manipulating the displayed portion, including allowing a traversal of the hierarchical tree structure for determining a relationship between the most relevant portion of the search results that are displayed and the related objects.
- the methods and systems disclosed herein determines the most relevant portion of the search results based on one of predetermined criteria, access patterns of the multiplicity of devices, frequency of use of the multiplicity of devices, a ranking of the email data and files, a calculation operation performed on the email data and files.
- FIG. 6 is a representation of a GUI 600 demonstrating a hierarchical tree structure search results in accordance with an illustrative embodiment.
- the GUI 600 includes an e-mails tab 605 and a files tab 610 .
- the files tab 610 is selected.
- the Macitosh HD is selected from the workspace. Accordingly, in this embodiment, the search only applies to files stored on the Macitosh HD electronic device.
- a pointer has been directed by a user to the attachments/dropbox location 615 .
- the system has displayed a highlighted box around the attachments/dropbox location 615 .
- certain locations also indicate how many files relevant to the search that are physically stored at each location.
- the Macitosh HD has 249 files stored on it's hard drive relevant to the search being performed here.
- such a number may indicate something different, such as files indexed from this location within the last week or month.
- the GUI 600 also includes a search analysis section 620 .
- This section indicates trends, data, and/or statistics regarding the search results. For example, 44 of the search results are associated with the tag “GREEN” and eleven of the search results are from files from the year 2012. In alternative embodiments, other statistics may also be displayed, such as size of files, author of files, sender of files, number of versions or changes from original, or importance. Such data may be displayed if the user opens the smart analysis results 424 of FIG. 4 discussed above.
- a search term “REDCAT” has been entered into a search dialog 625 . Accordingly, each one of the files or file representations in the GUI 600 are related to the search term. Additionally, each time the search input REDCAT appears on the GUI 600 , it is highlighted with a box around it because that is the current search term. Highlights could also involve shading, different shapes, different colors, or any other method that makes the search input stand out from the other text on the page.
- a hierarchical tree structure 630 is shown in the GUI 600 .
- the hierarchical tree structure 630 shows a navigable hierarchy that shows folders and sub-folders where relevant search results are located. Each level of the hierarchy also includes an indicator of how many relevant search results are in each folder.
- the folders displayed here can represent physical or virtual folders.
- a search results section 640 may show the contents of a folder selected from the file tree hierarchy 630 .
- the search results section 640 shows results from the total results of the search.
- the system may automatically populate the search results 640 with various relevant and or high ranking search results 660 , such as photo 650 and document 665 .
- the search results 660 may also be modified or sorted using a drop down menu 645 . Here it is indicated that the results have been modified.
- the hierarchical tree structure 630 in the GUI shows search results grouped or clustered together in a way that is convenient for the user.
- the file tree hierarchy starts out with a broad folder, Macitosh HD folder 632 .
- the folder 632 is displayed as darkened black. In this embodiment, this indicates that search results are present in the folder 632 .
- alongside the folder name of the folder 632 is the number of search results that are in the folder 632 , in this case 249 . If the user selects the folder 632 , all of the results of the search can be viewed. However, the folder 632 can be expanded to reveal further sorted and/or clustered search results. For example, in FIG. 6 , a work sub-folder project is selected and expanded out.
- the system may automatically display some folders already expanded out based on ranking, total number of search results, etc.
- each folder also shows how many search results are part of that cluster or group.
- the work folder shows 201 results. Any of the sub-folders, in addition to being expanded, can also be selected.
- the search results are displayed in the search results section 640 .
- the hierarchical tree structure 630 gives the user of the GUI 600 a convenient and simple way to manageably view and deal with large numbers of search results.
- the project redcat folder 635 also appears (based on the appearance of the icon and the name of the folder) to have search results. However, a number indicating how many search results were found there is not present.
- the look folder 637 shows just one example of how a folder with no relevant search results can be visually differentiated from the other folders in the hierarchical tree structure 630 .
- the folder 637 is shown with a white in color folder symbol and the text of the folder 637 has been grayed out.
- subsections of the search results 660 include media and document type results, though other types may be included in other embodiments such as contacts and messages.
- the media results also include a show all button 647 . By interacting with the show all button 647 , all of the media results may be displayed. In the alternative, if the user would like to view more results, an arrow 655 may be interacted with to scroll through the different media results that are not currently displayed.
- document 665 has been selected from among the search results. Accordingly in preview section 675 , a preview 680 of the document 665 is displayed. Further information 690 about the previewed file is also displayed. If a user has previously made a reminder regarding the file, the reminder is also displayed. Here, reminder 685 is displayed along with the preview 680 . At collaborators 695 , the system may display who has collaborated on the file with the user. However, in this embodiment, nobody has collaborated on the file.
- FIG. 7 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. 7 includes a personal computing device 700 , a portable storage device 797 , a network 725 , a cloud storage system 730 , a tablet device 740 , and a mobile electronic device 765 .
- the personal computing device 700 includes a processor 715 that is coupled to a memory 705 .
- the personal computing device 700 can store and recall data and applications in the memory 705 .
- the processor 715 may also display objects, applications, data, etc. on a display/interface 710 .
- the display/interface 710 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 715 may also receive inputs from a user through the display/interface 710 .
- the processor 715 is also coupled to a transceiver 720 . With this configuration, the processor 715 , and subsequently the personal computing device 700 , can communicate with other devices, such as the cloud storage system 730 through a connection 787 and the network 725 .
- FIG. 7 shows one personal computing device 700 , an alternative embodiment may include multiple personal computing devices.
- the tablet device 740 includes a processor 755 that is coupled to a memory 745 .
- the processor 755 can store and recall data and applications in the memory 745 .
- the processor 755 may also display objects, applications, data, etc. on a display/interface 750 .
- the display/interface 750 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 755 may also receive inputs from a user through the display/interface 750 .
- the processor 755 is also coupled to a transceiver 760 . With this configuration, the processor 755 , and subsequently the tablet device 740 , can communicate with other devices, such as the personal computing device 700 through a connection 795 and the network 725 .
- the mobile electronic device 765 includes a processor 775 that is coupled to a memory 785 .
- the processor 775 can store and recall data and applications in the memory 785 .
- the processor 775 may also display objects, applications, data, etc. on a display/interface 780 .
- the display/interface 780 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 775 may also receive inputs from a user through the display/interface 780 .
- the processor 775 is also coupled to a transceiver 770 .
- the processor 775 and subsequently the viewer electronic device 765 , can communicate with other devices, such as the tablet device 740 through a connection 790 and the network 725 .
- FIG. 7 shows only one mobile electronic device 765 , an alternative embodiment may include multiple mobile electronic devices.
- FIG. 7 also includes the cloud storage system 730 .
- the cloud storage system 730 may include a number of servers that may have memory and processors.
- the cloud storage system 730 is connected to the network through a connection 735 and may communicate with other devices such as the mobile electronic device 765 .
- FIG. 7 also includes the portable storage device 797 .
- This portable storage device 797 may be a removable USB drive for example. Since such a portable memory does not have a processor, the portable storage device 797 must be connected to a computing device for the information and files stored on the portable storage device 797 can be read by such devices. Accordingly, in this embodiment, the portable storage device 797 is plugged into the personal computing device 700 , which can read the data from the portable storage device 797 and communicate its contents or data related to its contents to any of the other devices that have access to the network 725 .
- any of the connections 787 , 790 , 795 , and 735 may be varied.
- Any of the connections 787 , 790 , 795 , and 735 may be a hard wired connection.
- a hard wired connection may involve connecting the devices through a USB (universal serial bus) port (like connection 799 ), 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 787 , 790 , 795 , and 735 may be a dock where one device may plug into another device.
- any of the connections 787 , 790 , 795 , and 735 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 787 , 790 , 795 , and 735 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 787 , 790 , 795 , and 735 may also be a combination of several modes of connection.
- the network 725 may also include similar components described above with respect to the connections 787 , 790 , 795 , and 735 .
- the network 725 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. 7 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. 7 . 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 765 involves the processor 775 receiving data through the transceiver 770 through connection 790 and the network 725 .
- the network 725 may be connected to the internet.
- the processor 775 may store the data (like the program) in the memory 785 .
- the processor 775 can execute the program at any time.
- some aspects of a program may not be downloaded to the viewer electronic device 765 .
- the program may be an application that accesses additional data or resources located in a server, or even the cloud storage system 730 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 725 or the cloud storage system 730 .
- temporary files and/or a web browser may be used on the mobile electronic device 765 in order to execute the program, system, application, etc.
- the tablet device 740 and the personal computing device 700 may use, store, or download software applications and web based programs in a similar way.
- the configuration of the personal computing device 700 , the portable storage device 797 , the tablet device 740 , the mobile electronic device 765 , the network 725 , and the cloud storage system 730 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. 7 may exist to practice the disclosed embodiments. Additionally, the devices shown in FIG. 7 may be combined to allow for fewer devices or separated where more than the five devices shown exist in a system.
- FIG. 8 is a flow diagram illustrating a method 800 of performing a cross-platform search 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 receives search terms input. The search terms may be received from a keyboard, an on-screen keyboard, speech-to-text technology, or other input from a user.
- the user may select a search term from a graphical user interface without having to enter particular characters and text with an input device. For example, the user may select a tag to initiate a search as discussed above with respect to FIG. 6 .
- the system searches various electronic devices and their electronic memory in order to find electronic files related to the search input.
- the system may also search an index of electronic files rather than the actual electronic memories of various devices.
- the system may actually search a combination of an index and the physical memory of various user devices.
- the system determines the presence of various electronic files relating to the input search terms. In this step, the system actually finds hits relating to the search terms.
- the system displays the various electronic files relating to the input search terms on a graphical user interface (GUI). That is, the system displays the search results.
- GUI graphical user interface
- the search results may be displayed in a variety of ways as disclosed herein, including a tree representation or hierarchical tree structure.
- FIG. 9 is a flow diagram illustrating a method 900 of grouping search results into clusters 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 determines electronic files from multiple electronic devices that are related to search terms input from a user.
- the system groups the electronic files that were determined based on the search terms into groups (or clusters or amalgamations) with common characteristics. For example and as disclosed herein, the groupings may involve electronic files of a similar type, date, relation to a contact or particular conversation, etc.
- the system displays on the GUI the various clusters and groups relating to the search results. The system may display the groups in many different ways as disclosed herein.
- the system receives an input from the user regarding a particular group or cluster.
- the input may be a click from a mouse pointer, a touch through a touch screen, a voice command, or any other type of user input.
- the system displays additional information on the GUI regarding the group or cluster.
- the system may display information about the cluster as a whole: total size, number of electronic files, etc.
- the system may display information about the electronic files that make up the cluster: names of electronic files in the group, sizes of the electronic files in the group, previews of the electronic files in the group, etc.
- the system may only display information regarding electronic files that are regarded as higher relevance to the search than other electronic files in the grouping. Accordingly, when the system displays additional information about the files, the more relevant files are displayed more prominently on the GUI.
- FIG. 10 is a flow diagram illustrating a method 1000 of displaying search results in a hierarchical tree structure 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 determines search results according to a search input.
- the system sorts the search results into a first level of the tree structure based on a first criteria.
- the first criteria is a relatively broad criteria meant to capture many if not all of the search results.
- the criteria may consist of all search results.
- the criteria may consist of all documents in the search results. In this way, the hierarchical tree structure can be organized from broader tree structure levels to narrower to facilitate a useful interface for the user.
- the system sorts the search results into a second level of the tree structure based on a second criteria.
- the second criteria is relatively narrower as compared to the first criteria.
- the first criteria consists of all documents in the search results
- the second criteria may be all documents received as e-mail attachments in the search results.
- the hierarchical tree structure can offer an organization of search results that continually narrows the results for a user in a coherent manner that makes it easy to locate particular search results.
- the narrowing criteria is inherent since sub-folders are already stored within other folders (and are therefore subservient).
- the system displays the hierarchical tree structure on the GUI.
- the user can actually interact with the hierarchical tree structure and view the search results. This can be done in many ways according to the embodiments disclosed herein.
- FIG. 11 is a flow diagram illustrating a method 1100 of customizing search result groupings according to user defined groups 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 receives custom definitions from the user on how to cluster search results. In other words, the user has determined here the criteria for how to determine clusters of search results.
- the system receives search terms and input from the user.
- the system performs a search based on the search terms and input from the user.
- the system organizes the search results in the user defined clusters.
- the system receives an interaction from the user.
- the interaction received is a selection one of the clusters generated in the operation 1120 .
- the system displays more information regarding the cluster, including a preview of at least one electronic file represented in the cluster that they system deems to be more relevant to the search terms than other electronic files in the cluster.
- the system receives a second interaction from the user, and the system subsequently opens the electronic file.
- the user presumably likes what he or she was seeing from the preview displayed in the operation 1125 , so the user further interacted with the preview and the cluster to open the electronic file.
- 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.
- 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.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Library & Information Science (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Acoustics & Sound (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
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 receiving, by a processor of the computing device, a search input. The method further includes determining, by the processor, the presence of a plurality of electronic files related to the search input. The method further includes displaying, by the processor, on a graphical user interface (GUI), representative information of the plurality of electronic files related to the search input, where the representative information comprises a hierarchical tree structure.
- An illustrative apparatus includes a memory, a processor 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 receive a search input The processor is further configured to determine the presence of a plurality of electronic files related to the search input. The processor is further configured to display, on a graphical user interface (GUI), representative information of the plurality of electronic files related to the search input, where the representative information comprises a hierarchical tree structure.
- A non-transitory computer readable medium has instructions stored thereon that, upon execution by a computing device, cause the computing device to perform the operations including instructions to receive a search input. The instructions also include instructions to determine the presence of a plurality of electronic files related to the search input. The instructions also include instructions to display, on a graphical user interface (GUI), representative information of the plurality of electronic files related to the search input, where the representative information comprises a hierarchical tree structure.
- Illustrative embodiments will hereafter be described with reference to the accompanying drawings.
-
FIG. 1 is a flow chart illustrating a method of displaying a tree representation of search results in accordance with an illustrative embodiment. -
FIG. 2 is a flow chart illustrating a method of displaying a tree representation of search results using ranking of search results in accordance with an illustrative embodiment. -
FIG. 3 is a block diagram illustrating a computer system that may be used in accordance with an illustrative embodiment. -
FIG. 4 is a representation of a graphical user interface (GUI) demonstrating a tree representation of search results in accordance with an illustrative embodiment. -
FIG. 5 is a flow chart illustrating a method of displaying a tree representation of search results across a multiplicity of devices in accordance with an illustrative embodiment. -
FIG. 6 is a representation of a GUI demonstrating a hierarchical tree structure search results in accordance with an illustrative embodiment. -
FIG. 7 is a block diagram illustrating various computing and electronic storage devices that may be used in accordance with an illustrative embodiment. -
FIG. 8 is a flow diagram illustrating a method of performing a cross-platform search in accordance with an illustrative embodiment. -
FIG. 9 is a flow diagram illustrating a method of grouping search results into clusters in accordance with an illustrative embodiment. -
FIG. 10 is a flow diagram illustrating a method of displaying search results in a hierarchical tree structure in accordance with an illustrative embodiment. -
FIG. 11 is a flow diagram illustrating a method of customizing search result groupings according to user defined groups in accordance with an illustrative embodiment. - Described herein are methods and systems for displaying on a graphical user interface (GUI) search results in a hierarchical tree structure or tree representation. A hierarchical tree structure organizes search results in a hierarchy to make viewing and navigating through search results easier for a user. A hierarchical tree structure can be displayed using folders and sub-folders. For example, a folder may represent an electronic device where various electronic files are stored. A hierarchical tree structure can also display sub-folders that are located on the electronic device. Examples of sub-folders may be “My Documents,” “My Music,” “Photos from my vacation to Monaco,” and countless other possibilities. Sub-folders themselves may also contain additional sub-folders for organizing electronic files. There is no limit as to how many levels of sub-folders may exist or be displayed on the hierarchical tree structure. In an alternative embodiment, even though additional sub-folders may exist on an electronic device, the hierarchical tree structure may only display a predetermined number of levels of sub-folders. For example, a hierarchical tree structure may only show a predetermined number of six levels of sub-folders. In this embodiment, if an electronic device only shows six levels of sub-folders, a selected sixth level will cause the display of all of the files (or a representation of the files) that are in the sixth level or any of the sixth level's sub-folders. Sub-folders may also be subordinate to their higher level folders or sub-folders. That is, any action taken with respect to a higher level folder will also be applied to any sub-folders of that higher level folder.
- Search results displayed in a hierarchical tree structure can be generated using cross-platform searching of multiple information sources and devices. The methods and systems disclosed herein allow a user to perform a single search across multiple different devices or a single device to search for different types of data. Such data may include messages, e-mails, documents, presentations, photos, videos, attachments to e-mails, contact information or other data types. This different data may reside on several different electronic devices, such as a tablet, mobile smart phone, laptop computer, desktop computer, digital camera, cloud storage system, smart television device, portable digital media player, wearable electronic device, or other types of electronic devices that are capable of storing electronic files and data. Furthermore, the search may be performed across the various devices regardless of the platforms and operating systems that the electronic devices utilize. For example, various electronic devices may use various operating systems like Microsoft Windows™, iPhone™ Operating System (iOS™), Android™, Unix™, Linux™, Mac OS X™, OS X™, Symbian™ OS, Chrome™ OS, Chromium™ OS, Blackberry™ OS, or other operating systems.
- A hierarchical tree structure as disclosed herein can also be manipulated to expand and contract based on a user's inputs. For example, folders and sub-folders may be collapsible and expandable to show or hide the contents of a folder or sub-folder. In other words, the hierarchical tree structure can be manipulated to show more than one level of the hierarchical tree structure. Folders and/or sub-folders may also be selected in order to open or preview the contents of the folders and/or sub-folders. Similarly, if an electronic file is represented on a GUI, it too can be selected to show a preview of the electronic file itself. By receiving and reacting to such manipulation commands, the system can display only parts of the search results that a user deems most relevant or interesting without over whelming the user with a long list of search results.
- After an initial search is made, the system may only display a certain number of folders and sub-folders. That is, the system automatically shows search results at a high level. After the initial display of search results, it may be up to the user to use manipulation commands to expand folders and sub-folders, display previews of electronic files in the search results, and open electronic files. A system may determine what folders and sub-folders to initially display after a search in a variety of ways. For example, if a user is only searching a single electronic device, the system may display several sub-folders that exist on the memory of the electronic device. In another example, if a user is searching several electronic devices, the system may only initially display one folder for each electronic device and corresponding to each electronic device. The user can then use manipulation commands to expand the folder for an electronic device to find out more about the search results located thereon. In another embodiment, the folders and/or sub-folders displayed as search results may relate to a virtual location as opposed to a physical storage location such as a particular electronic device. For example, the system may display a folder in the hierarchical tree structure that contains all spreadsheets. In this example, the spreadsheets in the spreadsheets folder may be actually stored on any number of electronic devices, but are organized into a virtual location for all spreadsheets to make it easier to find spreadsheets. In other words, a virtual location folder could relate to types of electronic files. In some embodiments, a hierarchical tree structure may include both physical location folders and virtual folders.
- In other embodiments, virtual folders may be related to things other than file type. Virtual folders may be user defined, such as “Favorite Pictures.” Such a user defined folder may include photos from a variety of electronic devices, social network websites, etc. In other words, a virtual folder may not actually contain files, but may instead merely contain location information about the files in the virtual folder such as links, routing instructions, address, folder location, or the like so that the system can find the actual file in the actual physical location from the location information. In another embodiment, virtual folders can be automatically generated. Automatically generated virtual folders may include, for example, a “Recently Opened” folder, a “Top 10 Most Used in the Last Month” folder, etc. In another embodiment, the system may display virtual folders related to data types or other factors. For example, virtual folders for presentations, word processing documents, movies, and pictures may all exist. In another example, virtual folders that relate to a date files were created, last modified, last opened, etc. may all exist and be displayed in search results, either automatically or as designated by a user.
- Other folders and/or sub-folders may be displayed automatically by the system because the folder and/or sub-folder or a search result within the folder and/or sub-folder is particularly relevant or high ranked. A folder and/or file may be highly ranked if it has high relevance to the search terms or search input. A folder and/or file may be highly ranked if the quantity of hits for the search terms is higher than other folders/files, or for a folder the number of files in the folder/sub-folder that are relevant to the search input is high relative to other folders. A folder and/or file may be highly ranked if it is stored on a device with a positive access pattern. In other words, if a user over time has a demonstrated preference for data stored on a particular electronic device, the system may highlight search results from the device by showing more sub-folders with search results from that device than other devices. A ranking based on where a file or folder is stored may also relate to an availability or accessibility of the file or folder. For example, the system may determine if an indexed file or folder on a tablet device is actually accessible (for example connected to a wireless network) before highlighting and ranking the file or folder high. As a result, the system can display and prioritize search results that are actually accessible at the time the search is performed. Another way a folder and/or file may be ranked is by a frequency of use metric. That is, if a file or folder is more often used by a user, the system may display that automatically because the chances are higher the user is seeking it again.
- File access patterns may also be used to rank files and/or folders. The system may have statistical data on file types that the user opens or uses more often. Accordingly, those file types or folders containing those file types may be ranked higher when ranking search results. For example, a particular user may have a fondness for music and listen to it almost constantly. Accordingly, if the user performs a search, the system may rank music and audio files (or folders where such files are contained) higher than those that are not audio files (or contain audio files). In another example, the system may record and use statistical file access patterns that are device specific. For example, the system may note that on a user's smart phone, the user most often sends SMS messages and has telephone conversations with her friends. The system may also note that when the user writes and checks e-mails, the user most often uses a tablet device and a laptop device. Accordingly, if a user enters a search input of “e-mail confirmation for flight,” the system may rank results from the tablet and laptop devices higher than any results from the smart phone device. In a simpler example, a system may note that a user spends more time on their smart phone than any other device, thus a higher ranking may be assigned to results from the smart phone based on a device-based frequency of use (as opposed to a frequency of use of files and/or folders). In another example, a user may designate rankings, preferences, etc. for how search results should be prioritized and displayed.
- In another embodiment, data to or from a contact (such as a message) can be also be assigned a rank of importance. 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. In one example, the system may automatically rank correspondence and contacts by how frequently they communicate with the user. 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. Such factors of files and messages may be designated as indicating a higher relevance or ranking for search results.
- After a system has performed the search based on a search input, the system displays the hierarchical tree structure on the GUI. Next to each folder and/or sub-folder displayed, the system displays a number of how many search results are present in the folder or sub-folder. If the folder or sub-folder does not have any search results, no number is displayed. In an alternative embodiment, a number (or other alphanumeric sequence) may refer to a relevance or ranking of search results contained within the folder or sub-folder. In an embodiment where files are also shown in the hierarchical tree structure, the number may be displayed next to the name of the file to directly refer to a relevance or ranking of that file. In this embodiment, folders and sub-folders that do not have any relevant search results are displayed differently than folders and sub-folders that contain search results. For example, icons and folder names without search results may be a different color, shade, font, size, etc. than those with search results. Additionally, a different icon or folder name itself may be used to indicate that it has no search results contained therein. In this way, a user can easily visually differentiate between folders with and without search results. In an alternative embodiment, the system may omit and not display folders or sub-folders that do not contain any search results.
- Search results can be grouped into clusters in some embodiments. Clusters may be according to various factors such as time, file type, size, etc. Clustering into groups can occur in various ways. A system may create or already have established virtual folders directed to certain clusters, such as file types. Accordingly, when a search is performed the system can display results according to those clusters using the virtual folders. In one example, the system may create new virtual folders as a result of the search in order to display the clusters. Advantageously, the clusters (and formed virtual folders) can then be utilized in the future, for example for future searches. In a related example, a virtual folder related to file clustering may already exist, but the folder may not contain certain of the search results returned in a search that are returned and relevant to the virtual folder. In such an embodiment, the system may add those relevant search results to the virtual folder. In one example, clusters may be shown as search results based on file type. If a user enters a manipulation command to expand a cluster, the system may show other actual physical and/or virtual sub-folders. For example, if the user selects a “Documents” cluster and expands it, sub-folders representing different electronic devices may then be displayed. In this way, the user can then have access to documents that are relevant to the search input and organized by device. Accordingly, if a user was looking for a document that he thought might be on his laptop or desktop computer, such a document may be easier to locate in this embodiment.
- In a different example, the system may cluster search results based on various criteria without using virtual folders. In this embodiment, a temporary cluster (or something akin to a temporary virtual folder) is created after a search. For example, a user may enter the search term “Vacation.” The system may automatically cluster search results, or may cluster results for electronic devices or folders that exceed a predetermined threshold of results. That is, if a folder or device has a lot of results, the results may be clustered. In other embodiments, results may always be clustered. In this example, the system may identify a folder on the user's laptop called “Vacation to Chile.” The folder may have numerous files in it and in sub-folders within it. The system may cluster the files in the folder automatically, or may do so if the folder is expanded by a manipulation command from the user. In this example, the system may cluster the files in the “Vacation to Chile” into various clusters, such as “Photos,” “Planning and Visa Documents,” “Flight, Hotel, and Rental Car Reservation Documents,” “Videos,” and “Correspondence With Lisa re: Chile Trip.” After the system has clustered the contents of the folder, the system may display the clusters on the GUI for the user, similar to how sub-folders would be displayed. Such clustering and temporary display of results may help the user locate the object of her search more easily and quickly.
- A user may perform a search input by entering text regarding the subject of their search. The system may receive the search input from the user and perform the search by looking for electronic files related to the search input throughout several electronic storage locations. As noted above, the electronic storage locations may several different electronic devices and/or types of electronic devices. Additionally, the devices may be in different locations or physically remote from each other. As long as the devices can be communicated with by the device doing the searching, the searched devices can be anywhere. For example, the devices may be connected to the internet and the searching device may perform the search by accessing the memory of the other devices through the internet. Through these communications, the system can determine whether electronic files matching the search inputs are located on any of the searched electronic devices.
- In another illustrative embodiment, a user's social media networks may also be searched for electronic files relating to a search. For example, a social networking website may allow or utilize file sharing. Accordingly, the system may search the electronic files a user has access too on social networks when performing a search. The system may also be able to search for contacts from the relationships a user has on a social networking website. Additionally, the system may be able to locate information related to users on a social network that the user does not have a relationship with. For example, a user may be trying to locate the contact information of a person who has previously helped the user do landscaping and yard work. By entering the name of the individual, the system may be able to locate the individual and an e-mail address listed on a social media profile for the individual. Such searching and results may take place irrespective of a formal relationship between the user and the individual on the social media website. However, such searches may be limited by the amount of information that can be accessed and searched for by the user. So in this respect, if the user has an official relationship with someone over a social networking website, such a user may accordingly have more information accessible to the user based on the official relationship. As such, more information may be available to the system for searching and search results.
- If the system does locate relevant electronic files, the system can display the results to a user on a graphical user interface (GUI). The results may be displayed using representative information of an electronic file. That is, the entire electronic file may not be displayed on the GUI, but rather certain information relating to a relevant file may be displayed. Representative information may also include a preview of the electronic file. Representative information could also include any sort of metadata about the electronic file, such as the physical location where the electronic file is stored, the size of the electronic file, a date and/or time the electronic file was created or last modified, a file type of the electronic file, a preview of the electronic file, or any other information relating to the electronic file.
- In some embodiments, representative information of particular electronic files may be displayed in the hierarchical tree structure search results. In other embodiments, the hierarchical tree structure may only display folders, sub-folders, and/or clusters and individual files, representative information of files, and previews of files may be displayed in a different part of the GUI or a different window on the GUI altogether. In some embodiments, a preview of one or more of the electronic files may be automatically displayed on the GUI with the search results. In another embodiment, the user may position a mouse or pointer over representative information of an electronic file to get a preview to appear. In another embodiment, the user may have to click on the representative information or otherwise interact with it through the GUI (such as touching the representative information through a touchscreen) to get a preview of an electronic file to appear.
- In another embodiment, the system may display on the GUI search results in a way that does not immediately display information directly related to individual electronic files. Instead, the system may display the information in representative groups (also referred to herein as clusters or an amalgamation). The system may display groups of search results based on the various characteristics or traits of the results. For example, electronic files that are found as part of the search results may be sorted according to data type. For example, the results may be sorted and grouped into clusters based on whether each result is a document, presentation, photo or other image, video, e-mail, contact information, message, or other sort of file or data type. The clusters could also contain more than one data type in the same cluster. A cluster could also represent all search results from a particular storage location. A cluster could also represent search results from a certain period of time (when the files were modified or created, for example). The clusters may be automatically determined by the system, or may be configured and defined by the user.
- A group or cluster displayed on the GUI may also indicate how many electronic files of each type of files were found during the searching. In another illustrative embodiment, the system may display certain groups or clusters more prominently than others. For example, the system may automatically display a cluster representing documents that were saved on a hard drive more prominently than a cluster representing documents that were attached to e-mail messages. Although the system may automatically display certain groups and/or clusters with more prominence, the system may also be configured by the user to show certain groups or clusters more prominently than others.
- A user may also expand a cluster to view representative information of the files that are represented in the cluster. The user may accomplish this through an interaction on the GUI with a particular cluster or group. Representative information of individual files within a cluster or group may also be displayed more prominently than others depending on system defaults or preferences established by the user.
- In one illustrative embodiment, the clusters or groups displayed by the system may be displayed as a hierarchical tree structure. In a hierarchical tree structure, results may be shown in groups that are expandable and collapsible to demonstrate more detail regarding the search results. The system may also indicate in a hierarchical tree structure, how many results regarding each level of the hierarchical tree structure there are. For example, a search results may be displayed in clusters as a hierarchical tree structure. The levels initially displayed in the hierarchical tree structure may sort the search results according to a first criteria. For example, the search results may be sorted into clusters depending on a data type. In other words, the search results are sorted based on what type of electronic file each file is. Each level may also display how many relevant files are represented by the cluster or group.
- Upon interacting with one of the levels with, for example, a touch screen selection or pointer point and click operation, a cluster or group is expanded on the GUI. In one embodiment, the expanded level may display representative information of each electronic file represented by the cluster or group. In one embodiment, the system may determine to do this where the number of files represented by a cluster are relatively low (for example, five electronic files or fewer). In other embodiments, further sub-levels of the hierarchical tree structure that represent sub-groups of the clusters or groups may be displayed. For example, if a cluster representing e-mail messages is interacted with, further sub-groups sorted by a second data type may be displayed on the GUI. For example, the sub-groups may be sorted by date, such as month and year the e-mail messages were received. In this way, other sub-groups may also exist, so that a set of search results is organized viewable based on several different categorizations based on data type, metadata, file location, and the like.
- In order to determine relevant search results, various types of searching may be performed by the system. For example, morphological searching, metadata searching, tag searching, full text searching, fuzzy searching, or ontology-based semantic searching may all be used, alone or in different combinations, in various illustrative embodiments. For example, morphological searching may automatically utilize searching for words or forms of words that are similar to the words entered as a search term by the user. In another example, the system may utilize metadata and tag searching. In this embodiment, the system can search information that is associated with an electronic file as metadata or tags for information relevant to the search terms entered by the user. In full text searching, the system may search the entire contents of an electronic file for relevance to the search terms entered by the user.
- Fuzzy searching, also known as approximate string matching, may also be utilized by the system. Fuzzy searching takes a string of characters entered by the user as a search term and searches for a similar string of characters that approximately match the string of characters entered. In this way, if a search term that is entered has been misspelled, the system may be able to automatically search for the correctly spelled word rather than the misspelled word.
- In ontology-based semantic searching, the system may utilize context and interrelated information from electronic files to perform searches. For example, system may examine the content of electronic files on the system and utilize the examination to determine certain relationships or contexts. For example, an e-mail may contain a signature line with the name of a company that the sender works for. As a result, the system could return results for the company broadly during a search where the search terms entered was the name of the sender himself.
- In another illustrative embodiment, a user may attempt to perform a search when one or more electronic devices of the user is not online. That is, the electronic device performing the searching may not be in communication with certain of the user's electronic devices when a search is performed. In such an embodiment, the search may only locate electronic files that are located on the available and online electronic devices and cloud storage systems. In an alternative embodiment, however, the system may still be able to search for documents that are stored on an offline electronic device.
- For example, the system may maintain an index of electronic files on the various devices of the user that includes information such as metadata and tags about files. The system may search this index when a user performs a search rather than search the memory of each electronic device of the user's in the system. This is particularly advantageous where one or more of the electronic devices is offline while the user is attempting to run a search. Where a device is offline during a search, the system may search the physical memory of online devices while searching the index regarding the offline devices. In another embodiment, the system may only search the index, regardless of whether a device is online or not. In yet another embodiment, the system may start with a search of the index, and may use the results of the index search to determine specific electronic files to further search that are located on the various user devices.
- In an alternative embodiment, the index may be a full text index. In this embodiment, the full texts of electronic files are stored on the index. In this way, the system may perform searches on all of the electronic files and their content, even if the electronic files themselves are not currently stored on devices that are online. In another alternative embodiment, only some of the total electronic files on a user's electronic devices may be full text indexed. For example, the system may automatically full text index electronic files from electronic devices that are more likely to be offline than others. For example, the system may full text index electronic files from external hard drives and digital cameras, while not full text indexing a desktop computer. In another embodiment, the user may be able to specify which devices' electronic files should be full text indexed or not. In another embodiment, the system may selectively full text index files based on other criteria. For example, the system may not full text index certain electronic files that are over a certain size. In another example, the system may not full text index certain types of electronic files, such as images and videos. The system may be configured to automatically make such determinations, or the user may configure what types of electronic files to full text index and which electronic files not to.
- The user may also be able to set up rules regarding full text indexing. This may be advantageous where the user recognizes the importance of the electronic files selected for full text indexing, particularly where the user knows he or she will have a future desire to fully search said electronic files. For example, the user may set a rule that any e-mail messages and files attached therewith from contact John Smith should be full text indexed. The user may set up a rule based on an important relationship. For example, John Smith may be the user's financial advisor. Accordingly, the user wants to ensure that any correspondence or documentation sent to the user from Mr. Smith is well documented and accessible utilizing the system. In another embodiment, the system may determine these types of rules automatically. For example, the system may determine a user's most important and/or frequent contacts. Any correspondence between an important and/or frequent contact may be automatically fully indexed by the system so that the correspondence is easily searchable and locatable.
- In an illustrative embodiment, the system can determine the presence of electronic files of a user among multiple devices and assemble data relating to the files into an index. For example, the user may utilize a tablet, smart phone, laptop, universal serial bus (USB) drive, cloud storage, set top boxes (smart TVs), and many other electronic storage and computing devices and methods. Further, software applications may include files that relate to a user or the user has access to. Such files may include e-mails, messages, chats, documents, pictures, videos, contacts, or other electronic data. The system can determine all of these types of data from a plurality of devices and index the data. Even if a user was not the creator or owner of the document, the system can index the data as long as the user has access to it. The index may be stored on a particular device of the user's, for example, a laptop. The user may also designate which device will store the index. In another embodiment, the index will be stored on a cloud storage system. Advantageously, when the index is stored on a cloud storage system (e.g., a remote server), the index may be updated regarding changes to data or files on any device whenever the device is connected to the internet.
- Described herein are systems and methods which allow users to disclose, access, distribute, synchronize, manage, and search different types of content and electronic files, including but not limited to file content, communication content, contact content, and other personal information across multiple devices and cloud servers. Also described herein is a graphical user interface (GUI) that displays representative information of different electronic files. The electronic files may be physically stored on multiple devices, but the representative information relating to the electronic files may be displayed on a single GUI. The representative information of an electronic file may include the physical location where the electronic file is stored, the size of the electronic file, a date and/or time the electronic file was created or last modified, a file type of the electronic file, a preview of the electronic file, or any other representative information relating to the electronic file. Furthermore, a user can interact with the GUI to view, open, access, organize, backup, synchronize, distribute, or locate different electronic files stored on various electronic devices. Representative information as defined herein may include, but is not limited to, various types of metadata.
- After electronic files such as documents, pictures, e-mails, contact information, and the like have been indexed, representative information of the electronic files can be displayed on a graphical user interface (GUI) to a user. In one embodiment, the representative information may be displayed in a single window format. Representative information may include a file name, a file preview, date last modified, version number, date created, number of related files, number of files in a folder, and any other information relating to an electronic file. In some embodiments, the representative information may include information regarding the location of the electronic file. The location information can be indicated utilizing a symbol or icon. For example, if a file is on the user's smartphone, a smartphone icon may be used to indicate the location of the file. Different icons or symbols may have different shapes, colors, sizes, or text content. For example, the device where a file is stored may be part of the representative information. The system may also index a so-called virtual location of a file. For example, regardless of where an e-mail might be physically stored, it might be virtually located in a user's e-mail inbox within the system and displayed as such whenever the inbox is displayed on the GUI. In this case, the system may indicate either or both of the virtual and physical locations. In some embodiments, the representative information may be displayed in a single window, but may be divided within a multiple tab configuration. For example, a GUI may include tabs for files, photos, e-mails, and contacts. In another embodiment, the GUI may have tabs for files and e-mails, where photos are categorized under files and contacts are categorized under e-mails. The user may be able to switch between tabs by interacting with the GUI. For example, a user may utilize a motion translation device and input, such as a touchscreen in which the user may touch the location on the screen where one of the tabs appears, activating and displaying that tab. To switch to a different tab, the user may touch the different tab. In another example, the user may use a mouse or touchpad to locate a pointer over the desired tab on the GUI. The user may then make another input, such as a single mouse click, to activate and display the desired tab the pointer is located over.
- Whether or not tabs are used, 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.
- In an illustrative embodiment, the representative information for a file may be manipulated or changed by the user. For example, if the user receives a file through a file sharing website or attached to an e-mail, the file may have a computer generated name or a name that is otherwise undesirable by the user. Accordingly, the user may then change the name of the file that is used in the representative information. Any other of the representative information may also be changed by the user.
- The system may also display a preview of electronic files on the GUI. This may occur automatically, or may occur based on some sort of interaction by the user with the GUI. For example, the system may display the preview only if the user clicks or taps on the file once. In another example, a preview may be displayed when the user moves a pointer over a file. In another embodiment, a preview may be automatically displayed, but a further preview may be displayed when a file is interacted with. For example, the first page of a document may be shown, and when a pointer is moved over the document, the second page of the document is shown. In another example, a thumbnail of a picture may be shown. When the user moves a pointer over the thumbnail, a larger and/or more high resolution version of the photo may be displayed by the system. In order to generate the preview of electronic files, the system may extract all or a portion of content from an electronic file to generate the preview. For example, where a first page of a document is used as a preview image, the first page of the document is extracted. Various types of previews may be displayed by the system. For example, a preview may include a first group of words from a document or message (such as an e-mail). Another preview may be a thumbnail image of a larger image, or a screen shot of a video. The preview image could also include some or all of the contact information relating to an e-mail or other type of message. A preview image could also include a task information relating to an electronic file. For example, where the electronic file is a task list, reminder list, or calendar, such a task list, reminder list, or calendar may include information that can be used in the preview. For example, a reminder list may include an item reminding the user to pay their rent. Accordingly, a preview of the reminder list or of the item on the reminder list itself may include the text “Rent is Due!” In another embodiment, such a task or preview may be derived from an e-mail, such as an e-mail requesting information from the user. The preview of such an e-mail may include text indicating the request.
- In another illustrative embodiment, context menus may be used. Context menus are menus that pop-up on the GUI relating to a particular part of the GUI. For example, a context menu may pop-up if a user moves their mouse over the representative information of an electronic file. In another embodiment, the user can move a pointer over the representative information and make another input, such as a mouse click, to get the context menu to display. In other embodiments, such as when a touch screen is in use, the user may only input with regard to the representative information, and a pointer may not be utilized. A context menu may include information related to a particular electronic file or actions that may be taken related to the electronic file. For example, a context menu may indicate that an electronic file is classified as read only. In another example, a context menu may present a user with options relating to the electronic file, such as download the file, delete the file, rename the file, move the file, back-up or copy the file, etc.
- In another illustrative embodiment, various user inputs and interactions may be made to effectuate opening an electronic file by clicking on or otherwise interacting with the representative information of a file on the GUI. For example, if the user wishes to open a document stored on a laptop, even though the user is currently using a tablet, the user may activate the system disclosed herein. The user can then navigate to or search for the representative information of the document desired, and tap on it through the touch screen of the tablet. The system receives the input from the user, and the system then uses an application that matches the file type of the document to open the document and display it to the user on the tablet. The application may be located on the tablet or located elsewhere. As long as the system has access to the application, the document can be opened. In an alternative embodiment, the system may select an application to utilize when opening a document based on a number of factors. For example, the system may consider whether the user made any choices regarding what application to use (e.g., an open-with option) or how the file should be displayed (e.g., read-only). The system may also choose an application that is appropriate for the device the user is currently using. The system may also select an alternative application to use where a preferred application is not available. In an alternative embodiment, electronic files that have been opened may be displayed directly by the system and even edited within the GUI. If a document is not available (for example, the device where the document is stored is offline), the system may automatically find another copy or replica of the document on another device and open that one. In this way, the user may never have to worry about how the document is actually opened. For example, there may be a copy or replica of the document on an external hard drive, a cloud storage server, or the user's home personal computer (PC). In another embodiment, the system may be able to locate a copy or a replica of the document on an e-mail server or otherwise find it among other message types that the user has sent or received.
- In another illustrative embodiment, the GUI may display some representative information more prominently than other representative information. For example, if the representative information includes an icon such as a piece of paper type icon for a document. The piece of paper type icon for certain files may be displayed larger and/or further toward the top of the GUI than the icons for other files. Such a difference in prominence may be random, so as to make the display less monotonous and more pleasing to the eye. If groups of files are displayed together in a solitary representative information, different groups of files represented by an icon or symbol may also be displayed more prominently than other groups or individual files. In another embodiment, such differences in prominence may result from a decision made by the system to display the representative information of the files accordingly. For example, the system may determine to display more recently opened or edited files more prominently. In another example, the system may display messages that have been received but not read or responded to more prominently. In another example, the system may display photos or videos posted to the user's social networks that have a relatively greater number of social interactions with others on the social networks more prominently. If the system is displaying search results, the system may display results with more relevance to the search more prominently. Other criteria, such as number of times modified, date created, size of the file, or tag or metadata associated with the file, may also be used by the system to determine how to determine representative information to display more prominently on the GUI.
- In another illustrative embodiment, the GUI may also display a representation of a current storage utilization of a device in which the GUI is being displayed. For example, the representation may include a graphical representation indicating a percentage or fixed amount of free storage space and used storage space. In another embodiment, such a representation may be used to indicate an amount of free and used storage space on a different device. In another embodiment, such a representation may be used to indicate an amount of free and used storage space on all of the user's devices combined. In another embodiment, such a representation may be used to indicate an amount of free and used storage space in a portion of a cloud storage space allotted to the user. In yet another embodiment, such a representation may be used to indicate an amount of free and used storage space in all of the user's devices and the portion of the cloud storage space allotted to the user.
- In another illustrative embodiment, the representative information displayed on the GUI may include a hierarchical tree structure. Such a tree structure may indicate the various physical devices of the user and the files and folders stored thereon. The hierarchical tree structure may also indicate the files and folders stored on a user's allotted cloud storage space. In addition to showing where files are physically stored on various devices and/or cloud storage space, a hierarchical tree structure may alternatively or additionally display files in their designated virtual locations. A virtual file location is defined herein as a location the system visualizes a file being in, even if the file is not physically stored there. For example, a virtual location of “My Music” may contain all of a user's audio files, regardless of what device or folder the audio files are in. Thus, each audio file has a virtual location of the My Music folder. Other files and contacts may similarly have other virtual locations as determined by the system or the user. A virtual file is defined herein as a file that is a merged version of several files. The virtual file may physically exist on a storage device, or may exist locally when opened by the user and incorporates data from multiple physical files. A virtual file may be displayed as representative information on the GUI. The representative information may indicate that it is a virtual file, or the representative information may appear similar to the representative information for any other file, not indicating to the user that the file is a virtual file.
- Electronic files indexed, displayed, used, etc. by the system can include many things. For example, files as defined herein may include things such as documents, presentations, spreadsheets, e-mails, messages, audio files, video files, contact information, web pages, information from webpages, tasks, calendars, and the like. Such files may be gleaned by the system from various sources such as local file storages powered with operating systems (e.g., laptops, phones, tablets, media centers, etc.), external passive file storages (e.g., external hard drives, memory sticks, CD/DVD's, etc.), cloud storages (e.g., Dropbox™, Google Drive™, Evernote™, Flickr™′ Facebook™ galleries, etc.), e-mail accounts (e.g., Gmail™, Hotmail™, Yahoo™ mail, exchange servers, etc.), messenger services (e.g., Twitter™, Skype™, SMS, Snapchat™, Viber™, Google Hangouts™, etc.), social media feeds (e.g., Facebook™′ Google+™ LinkedIN™, etc.), contact lists (from e.g., e-mail accounts, messengers, telephone, personal address books, Outlook™ contacts, etc.), tasks, calendars, dictionaries, encyclopedias, internet sites, and any other services like FineReader™ online.
- Advantageously, the systems and methods disclosed herein provide benefits over an exclusive utilization of cloud storage. Some people store information in a cloud storage in order to synchronize information on different personal devices. However, for other people, cloud storage is not necessary because personal devices have become very productive, and often have sufficient capabilities to handle the needs of many users without resorting to cloud storage strategies. In other cases, the amount of data produced by some people is so massive that transferring that data to cloud servers may be cumbersome and time consuming. For example, a digital camera owner may return from a vacation with hundreds, if not thousands, of photos or videos in high resolution. If these photos and videos were moved to cloud storage, the photos and videos could occupy multiple gigabytes of memory in the cloud storage servers, and may additionally severely tax data transfer resources to move all the photos and videos to a cloud server. Further, many devices have become wirelessly connected to each other (e.g., smart TVs, media centers, cameras, fitness bracelets, Google™-glasses, other wearable computers, etc.) so that it may be preferable to keep some data on local devices rather than remote servers. Additionally, much of the data that could be stored on a cloud storage may never be used again, thus unnecessarily taking up space on the cloud storage servers.
- Accordingly, there may not be sufficient resources and/or desire to move vast quantities of generated data from multiple devices to cloud storage and organize all of the data. Additionally, cloud storage systems or leaving data on multiple devices may not be satisfactorily searchable to make such methods for file storage useful.
- The systems and methods discussed herein provide for a multiple device storage system where files can be organized across all personal devices, cloud locations, and applications (e.g., e-mail, word processing, videos, pictures, etc.). Further, people share computer files sending them as e-mail attachments or attaching them to instant messages, social media feeds, blogs, or publishing them in their galleries or cloud storages. Accordingly, the systems and methods herein provide for organization and searching not only across all personal devices and cloud locations but also through a user's e-mails, instant messages, social media feeds, blogs, media galleries, and other communication content.
- In one illustrative embodiment, a system can display, access, distribute, synchronize, manage, and search different types of content, including but not limited to file content, communication content, contact content and other personal information across multiple devices and cloud servers. The system may also include a server system that communicatively couples to an agent-type application on one or more client devices.
- In one illustrative embodiment, a user may be able to perform a customizable search. For example, a user may wish to only search for a certain type of electronic files or content, such as contact information files. In this example, the user is able to specify that contact information files should be searched. In another example, the user may wish to only search among spreadsheet type electronic files. In another embodiment, the user may specify that he or she would only like to search among electronic files that are stored on particular electronic devices. For example, a user may specify that he or she would only like to search for electronic files on the user's mobile phone and cloud storage system. In other examples, these functionalities may be combined and mixed by the user. For example, the user may specify in the system that only videos from the desktop computer are the subject of a search.
- In another illustrative embodiment, a method provides multi-platform content access, distribution, and synchronization of files on different devices including using a client-side application to manage transfer and presentation of files on a device and across server systems.
- In another illustrative embodiment, a method provides multi-platform content access including full-text indexing of the content, files, and metadata of files located on a device and searching of files using full text index located on a server system.
- In another embodiment, a method is disclosed for displaying data from local, external, offline, and other sources in a single interface presented to a user. The display can also include information on where the data and/or files are actually stored.
- In another embodiment, a computer-readable medium may include instructions executable by a processor to cause the processor to perform functions allowing multi-platform content access, distribution, and synchronization on different devices. Such instructions may be embodied in a client-side computer organization application. In addition to the foregoing embodiments, other systems and computer program product embodiments are provided and supply related advantages.
- 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 and files, while managing the data and 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 disclosed embodiments promote technology to automatically smart move files in a user's family cloud, so that there is always space on the user's phone and laptop, and the most necessary files are always at hand.
- 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.
- In an illustrative embodiment, the system searches not only electronic files on the user's electronic devices and cloud storage systems, but also any electronic files that are shared with the user through file sharing websites and other mediums. For example, some cloud storage systems facilitate the sharing of electronic files amongst its user base. The system in this embodiment can seamlessly search such shared documents, whether or not they were authored by the user, as part of other searches for electronic files. That is, the user may not even notice that his or her searches are including shared documents. Of course, in an alternative embodiment, the system may indicate in the search results that certain results are shared documents. In another additional embodiment, the user may be able to specify that a shared document search be performed. In another embodiment, someone may share a contact list with the user. This may be through an e-mail exchange or other application. In this case, the shared contact list may also be searchable by the system. Other types of shared electronic files may also be searchable like the other examples given here.
- 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 (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.
- 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. 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.
- Another illustrative embodiment includes a platform based on a back-end and a front-end, native client and external device architecture. Any product/service that generates data and files (documents or messages) can integrate with this platform as a source of data and files. Accordingly, the user can see these data and files in a uniform interface with an ability to search, tag, preview, manage, share, etc. The platform may include built-in smart rules and notification functionality. For example, a particular device may be wearable, such as a fitness bracelet. This device, through the embodiments disclosed herein, may trigger a rule or notification based on the activity of the user to provide an alert. Moreover, embodiments as disclosed herein may include infrastructure through which data may be displayed. For example, a user may again be wearing a device, through which the infrastructure facilitates the viewing of a video message or otherwise displays data.
- In an illustrative embodiment and from the point of view of architecture—agent software is installed under Operating System (OS) software. The agent extracts text and metadata from all local files and e-mail and passes on the data to a server or other local or remote processing device (herein referred to as cloud service) for indexing. The agent monitors changes in files. The agent collects the actual aggregate of all the devices of the user code and creates a local copy of the relevant index (cache).
- In an illustrative embodiment and from the point of view of the user interface, the cloud service provides a combination of a simple, but very dynamic, attractive, and convenient e-mail client and a simple, but very comfortable file manager. Such a program may function in ways used in a traditional e-mail client (e.g., Microsoft™ Outlook™), but also may include the ability to view not only an e-mail message but also files included in correspondence. This program, a client tied to the cloud service, or cloud service client, may be implemented for desktop operating systems (OSX™ and Windows™), and for mobile operating systems, such as iOS™ and Android™.
- In one illustrative embodiment, the cloud service client interface for desktop OS is very fresh and light in the spirit of interfaces for mobile OS. This program is not intended to replace traditional e-mail clients or file managers, but aims to make working with mail and files easier. For example, a first type of functionality may serve to review incoming mail. A system may provide a radically more convenient way of presenting the incoming mail than traditional systems, such as Outlook™ and Mac Mail. Such a presentation may be based on the fact that important messages are displayed in a different way than un-important messages. Another feature of such a system may relate to the formation of responses to messages directly within the cloud service client.
- 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 “[email protected]” (again an ambiguous title). The system may identify that [email protected]—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 further embodiments, a tag classifier's probability may be taken into account when ranking search results. If an auto-tagging system is not sure about a classifier, the probability for the classifier is indicated. Search results may also contain statistical information on directories. When switching to directories, selection in search results may be narrowed (or expanded). Search results may contain statistical information on tags. Search results may also be visualized to the user in a hierarchical tree structure, for example, where there is information on how many files are relevant to the search query, and the associated folder for those files.
- Often, in order for a user to search through photos, the user might first perform tedious manual tagging operations, such as tagging names of his relatives and friends on faces and objects (e.g., sea, beach, house, tree, etc.) so that those faces and objects will be recognized and associated with the remainder of the user's photos and tagged in the future. In many cases, the user may not have time to perform this manual tagging. The systems and methods disclosed herein alleviate the burden of manual tagging in a number of ways. The system performs “social tagging” automatically. For example, when a user is posting some of his photos in social networks, other people are tagging the faces, objects, and places on the photos and commenting on the photos themselves. The system can track these tags and comments and use them to create metadata for the particular photos which have already been posted, and use these tags and comments for initial tagging; after which the same people, objects, and places on other photos which have not yet been posted are recognized and categorized. Accordingly, the system (without requiring initial user tagging) builds a database of searchable metadata for both photos which have previously been posted in social networks and those which have not yet been posted.
- 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.
- 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.
- The system can search and analyze a user's emails, a contact's rating or ranking, telephone communications, and the like, and clears up the disorganization in 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). In one embodiment, the search results may be displayed differently in the tree structure depending on the information being searched. If, for example, the search request is interpreted by the mechanisms as a request to find a particular photo or set of photos, then the tree structure interface presented to the user may be reserved in large measure (e.g., 70%) for various photos which were located, while other possible files take up the remainder of the viewable area of the hierarchical tree structure area (e.g., 30%). These other possible files that may correlate in some way to the search may include music files, spreadsheet, document, presentation, and other files, for example. The 30% remaining viewable tree structure area may, accordingly, be taken by these possible files and displayed to the user.
- In one embodiment, if a 100% match for a particular search query is not identified, the system may use various approaches such as morphology, semantics, fuzzy, and other approaches to perform a broader query, so as to eliminate a “no results found” result as many e-mail and file search systems would currently yield.
- In one example, a user may query for a particular document by searching using the keyword “schedule.” In a typical search return string, perhaps 100 results of files containing the word “schedule” may be linearly listed and presented to the user. However, such a scenario may not be the most beneficial to the user. For example, this scenario may look similar to the following:
-
Search query: “Schedule” Search results: Doc 1 containing “Schedule”Doc 2 containing “Schedule”. . . Doc 100 containing “Schedule” - One embodiment disclosed herein may add further results of terminology that the engine considers related, such as the following search for “schedule” that returned further results with the related terminology “program”:
-
Search query: “Schedule” Search results: Doc 1 containing “Schedule”Doc 2 containing “Schedule”. . . Doc 100 containing “Schedule”Doc 101 containing “Program” Doc 102 containing “Program”. . . Doc 250 containing “Program” - In contrast to the above, in a further embodiment, the system may cluster the results of the searching by different common vectors, such as the following:
-
Search query: “Schedule” Search results: Cluster 1: “Your upcoming NY trip - 15 results” Doc 1 containing “Schedule”Doc 102 containing “Program”See other 13 results . . . Cluster 2: “Your daughter's school - 50 results” Doc 24 containing “Schedule” Doc 28 containing “Schedule” Doc 209 containing “Program” See other 47 results . . . Cluster 3: “Your last week Palo Alto event - 30 results” Doc 15 containing “Schedule” Doc 57 containing “Schedule” Doc 234 containing “Program” See other 27 results . . . Cluster 4: “Your this month emails - 5 results” Doc 13 containing “Schedule”Doc 47 containing “Schedule”Doc 214 containing “Program”See other 2 results . . . Cluster 5: “Your photos - 25 results” Doc 63 containing “Schedule” Doc 77 containing “Schedule” Doc 211 containing “Program” See other 22 results . . . - In another embodiment, the system may conduct a search dialogue with a smart search assistant. Currently, search queries are beset with issues such as a return of zero results, or a return of too many results and/or coupled with poor ranking of those results (i.e., the target document is not ranked first in the list of results). The system and methods disclosed herein introduce a live assistant. The live assistant takes verbal or textual queries from the user, who describes the data to be located. Based on this description, the live assistant may then query the user with suggestions. In one example, the live assistant may query the user for more information to broaden the search. In another example, the live assistant may suggest detail so as to narrow the search. In an illustrative embodiment, the live assistant is computer software code that can respond to inputs from the user and provide prompts to the user as disclosed herein. In an alternative embodiment, the live assistant may be a human operator using another computing device to communicate with the user and provide prompts to the user as disclosed herein.
- The user may have the option to conduct a dialog (verbal, text, or otherwise) with the live assistant in a natural language format. For example, the user may type the search query “find all the emails which include information about my meeting with investors,” or order, “move to
folder 1 all of the photos taken yesterday.” The live assistant may then respond with a confirmation, such as “would you like to delete all storyboard photos?” - As previously mentioned, the file search functionality provided by the systems and methods disclosed herein may be based on natural language and meaningful information extracted from the file and metadata. In one embodiment, image and pdf text files may be pre-Optical Character Read (OCRed) (at least in some extent) so that if a user is searching the word “passport,” they can find images that include the word “passport.” Photos and videos may be searched based on GPS location data and metadata information about the time of shooting (e.g., a user can specify a range of time the photo was taken “from/to,” a user can specify the geographical units in their own language, “photo made in the United States”). Part of the metadata may be generated by the cloud service client system itself, such as, from where the file was received (e.g., saved from such a man of attachment to the letter, copied to the HDD #12, etc.).
- Object recognition technology may also be applied to create metadata about the content of photos and video files, for searching. In one example, a user is looking for a photo where their family is at sea from 2005 to 2008. The system may to understand in advance that the image contains an object “body of water” so, when the search receives the search term “sea,” the mechanisms of the illustrated embodiments will find images containing a “body of water.” The system may also create an ontology of contacts, including relatives, their photos etc.
- In addition, color, shape, size, and position tagging on business graphics may be employed. For example, a user may enter the search input: “Seeking Excel file, which has the round red diagram at the bottom of the last spreadsheet.”
- In one embodiment, the systems and methods disclosed herein may implement photo tagging per the following example. The user may have 500 photos of Pete which he posts to a social media website. Subsequently, another individual tags one of the photos in which Pete appears. The mechanisms identify this tag of the photo, use this tag to create a “Pete” tag in the system, and query the user to confirm by displaying similar faces of Pete to the user.
- In another embodiment, the user may have comments of his photos from other individuals in a particular social media. The comments are used by the mechanisms of the illustrated embodiment for full-text searching, and extracted to create tags, which later are used to characterize various photos.
- The methods and systems disclosed herein offer advantages over a simple keyword search, particularly since the methods and systems herein relate to a user environment across multiple devices, platforms, file formats, and user file sharing and social networking systems. A user may have to remember precise wording to find a desired file in traditional keyword searching. Advantageously, with the system and methods disclosed herein, a user may be able to find files, mails, and other objects by the general sense. To emulate search by the sense the system may parse the query, build a semantic structure and translate the semantic structure into an extended query using query interpretation and synonyms expansion based on dictionaries and ontologies. The extended query may produce many irrelevant results so the ranking algorithms, systems, and methods disclosed herein based on semantic similarities, word positions, word frequencies, usage levels, importance levels, etc. are valuable in ordering and ranking search results. If relevant results are not found, it is beneficial not to show irrelevant results unless a user allows or desires such irrelevant results to be displayed.
- Additionally, searching can include parsing through all content related to the contacts of the user to seamlessly organize the search results for display, wherein the content includes at least the email data and the files, a multiplicity of 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 displaying includes displaying label information, representative of each of the email data and files, to disclose each of the email data and files in a single graphical user interface (GUI) window by means of a client application. The displaying may also include displaying the hierarchical tree structure of all of the email data and files of one of the multiplicity of devices.
- In a further embodiment, the result of the search operation is displayed in the single GUI window, and the email data and files on separate tabs are displayed in the single GUI window. The user may toggle between the email data and files with a single click. More specifically, the search results are displayed in the hierarchical tree structure information on a number of the email data and files that are relevant to a search query and associated files for the number of the email data and files.
-
FIG. 1 is a flow chart illustrating amethod 100 of displaying a tree representation of search results 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. Themethod 100 begins at anoperation 102. In anoperation 104, a search operation of email data and files is performed. The search operation is common to each one of the multiplicity of devices for seamless display of the search results. The search operation is performed whether a particular one of the multiplicity 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 searching includes parsing through all content related to the contacts of the user to seamlessly organize the search results for display, where the content includes at least the email data and the files, a multiplicity of social networks, data structures, email addresses, signatures of the email data, messages, SMS data, phone calls, text messages, video files, audio files, and images. - Pursuant to the search operation in an
operation 106, the system groups clusters of search results by a data type. In anoperation 108, the system displays the clusters with at least one search result corresponding to each of the clusters. In anoperation 110, the system accepts an input from the user to display a remaining set of results corresponding to a particular cluster not previously displayed. If the result of the search returns data corresponding to a data type in a number of results exceeding a predetermined percentage: those of the search results of the data type are displayed more prominently in the single GUI window, and those of the search result of remaining data types are aggregated and displayed less prominently in the single GUI window. - In an
operation 112, the system displays the search results (e.g., displays a most relevant portion of the search results) in a hierarchical tree structure, each portion of the hierarchical tree structure remaining visible to, and able to be manipulated by, a user regardless of whether a local device associated with the portion of the hierarchical tree structure is online or offline at a current time. A most relevant portion of the search results may be displayed while maintaining organizational relationships between the search results and related objects in the hierarchical tree structure, with the displayed portion of the results remaining visible to, and able to be manipulated by, a user and/or application regardless of whether a local device associated with the portion of the hierarchical tree structure is online or offline at a current time. The method also allows manipulating (e.g., via an application) the displayed portion, including allowing a traversal of the hierarchical tree structure to display at least one of the search results and the related objects. The method also allows manipulating (e.g., via an application) the displayed portion, including allowing a traversal of the hierarchical tree structure for determining a relationship between the most relevant portion of the search results that are displayed and the related objects. The method determines the most relevant portion of the search results based on one of predetermined criteria, access patterns of the multiplicity of devices, frequency of use of the multiplicity of devices, a ranking of the email data and files, a calculation operation performed on the email data and files. The displaying of the search results within the hierarchical tree structure, can include displaying label information, representative of each of the email data and files, to disclose each of the email data and files in a single graphical user interface (GUI) window by means of a client application. The displaying may also include displaying the result of the search operation in the single GUI window and/or displaying the email data and files on separate tabs in the single GUI window. The user may toggle between the email data and files with a single click. The displaying may also include information on a number of the email data and files that are relevant to a search query and associated files for the number of the email data and files. Themethod 100 ends at anoperation 114. -
FIG. 2 is a flow chart illustrating amethod 200 of displaying a tree representation of search results using ranking of search results 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. Themethod 200 begins at anoperation 202. In anoperation 204, the system performs a search operation of email data and files. The search includes searching and analyzing the content in social networking channels, email address, data structures, signatures in messages, audio and/or video files, images, and/or other telephonic communication, text messages, SMS messages, and the like across multiple devices whether the devices are offline or online at a particular time. In anoperation 206, the system dynamically assigns a rank of importance to the search results. 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 most important). The user and/or application may employ other ranking methods. The rankings may be altered and/or reassigned as needed. In anoperation 208, the system links information returned from a search operation to a watchdog tag, which is used to monitor search results by performing subsequent searches using the watchdog tag. In anoperation 210, the system uses statistical information on directories and/or the tags in the search results. In anoperation 212, the system displays the search results in a hierarchical tree structure. More specifically, a most relevant portion (and/or, a desired portion, a selected portion, a predetermined portion, a calculated portion, and/or the least most relevant portions) of the search results may be displayed while maintaining organizational relationships between the search results and related objects in a hierarchical tree structure, with the displayed portion of the results remaining visible to, and able to be manipulated by, a user and/or application regardless of whether a local device associated with the portion of the hierarchical tree structure is online or offline at a current time. The hierarchical tree structure may be displayed in a single graphical user interface (GUI) window by means of a client application. Each portion of the hierarchical tree structure remains visible to, and able to be manipulated by, a user and/or the client application regardless of whether a local device associated with the portion of the hierarchical tree structure is online or offline at a current time. Themethod 200 ends at anoperation 214. When switching to directories (e.g., switching directories in the GUI display page), the selection in the search results may be narrowed (or expanded). -
FIG. 3 is a block diagram illustrating acomputer system 300 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. 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, 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 the embodiments disclosed herein may be a part of an operating system or may be a specialized peripheral, component, program, dynamic library, module, script, or a combination thereof. -
FIG. 4 is a representation of a graphical user interface (GUI) 400 demonstrating a tree representation of search results in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different components may be included in the GUI. TheGUI 400 display shows, among other aspects, relationships between various functionality brought to bear by mechanisms of the illustrated embodiments, as described herein. In addition, thesample GUI 400 screens also depict various additional functionality as disclosed herein. - In one embodiment, software incorporating the embodiments disclosed herein 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 . . .
- Password . . .
- 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 and/or customized by and/or for the user. In one embodiment, on the right 402—the working part, it is 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. Avisible arrow 414 on theGUI 400 screen 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 400 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 thelogo 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 searching and analysis 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 400 screen also shows the ranked content (shown inFIG. 4 as 420A being the ranked the highest asRank 1 and the remaining ranked contents “rank 2-100” shown as 420B). The search operation may also display the search results in asummary 422. There may also be asmart analysis result 424 as part of the search results. The terminology described herein as “smart analysis” is a search and analysis of a user's contacts, including, for example, analyzing the user's emails (e.g, emails relating to one or more contacts) and clearing up the user's disorganization in the multiple devices (e.g., the disorganization of contacts in these multiple devices). Thedata summary 422 may include information like how many results were found, how many results were found from each electronic device, the total size of all of the results, the totals in size and quantity by type or format of results, length of time taken to complete search, and other data relating to a search. The smart analysis results 424 may include information about how the results were ranked and prioritized according to the methods and systems as disclosed herein. - The
GUI 400 screen also displays the search results in ahierarchical tree structure 408. Thehierarchical tree structure 408 may be displayed in a single graphical user interface (GUI) 400 window by means of a client application. Each portion of the hierarchical tree structure remaining visible to, and able to be manipulated by, a user and/or the client application regardless of whether a local device associated with the portion of the hierarchical tree structure is online or offline at a current time. -
FIG. 5 is a flow chart illustrating a method of displaying a tree representation of search results across a multiplicity 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. Themethod 500 begins at anoperation 502. In anoperation 504, the system performs a search operation of email data and files across a multiplicity of devices. The search operation is performed regardless of whether the multiplicity of devices are either online and/or offline. The search operation common to each of the multiplicity of devices for seamless display of results. In anoperation 506, the system displays a portion of the search results (e.g., a most relevant portion) while maintaining organizational relationships between the search results and related objects in a hierarchical tree structure, with the displayed portion of the results remaining visible to, and able to be manipulated by, a user and/or client application regardless of whether a local device associated with the portion of the hierarchical tree structure is online or offline at a current time. - In an
operation 508, the displayed portion of the hierarchical tree structure is manipulated. The manipulating includes allowing a traversal of the hierarchical tree structure to display at least one of the search results and the related objects. The manipulating the displayed portion, includes allowing a traversal of the hierarchical tree structure for determining a relationship between the most relevant portion of the search results that are displayed and the related objects. - In an
operation 510, the system determines the portion of the search results to be displayed (e.g., the most relevant portion of the search results). In one embodiment, the portion of the search results to be displayed is determined by one or more of the following: predetermined criteria set by the user and/or an application, historical usage and/or access patterns of the multiplicity of devices, a frequency of use of the multiplicity of devices, a ranking of the email data and files, a calculation operation performed on the email data and files, a filtering and/or a queuing operation for creating a most relevant ranking/queue and a least most relevant ranking/queue of the search results based on the search queue, search results obtained from the multiplicity of devices for those of the multiplicity of devices that are offline and those of the multiplicity of devices that are online, and/or most related search results. Themethod 500 ends at anoperation 512. - In one embodiment, the methods and systems disclosed herein provide a solution for an efficient tree representation of search results across a multiplicity of devices by a processor device. A search operation is performed of email data and files. The search operation common to each of the multiplicity of devices for seamless display of results. A most relevant portion of the search results is displayed while maintaining organizational relationships between the search results and related objects in a hierarchical tree structure, with the displayed portion of the results remaining visible to, and able to be manipulated by, a user regardless of whether a local device associated with the portion of the hierarchical tree structure is online or offline at a current time.
- In one embodiment, the methods and systems disclosed herein allow manipulating the displayed portion, including allowing a traversal of the hierarchical tree structure to display at least one of the search results and the related objects. The methods and systems disclosed herein allows manipulating the displayed portion, including allowing a traversal of the hierarchical tree structure for determining a relationship between the most relevant portion of the search results that are displayed and the related objects.
- In one embodiment, the methods and systems disclosed herein determines the most relevant portion of the search results based on one of predetermined criteria, access patterns of the multiplicity of devices, frequency of use of the multiplicity of devices, a ranking of the email data and files, a calculation operation performed on the email data and files.
-
FIG. 6 is a representation of aGUI 600 demonstrating a hierarchical tree structure search results in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different components may be displayed on the GUI. TheGUI 600 includes ane-mails tab 605 and afiles tab 610. Here thefiles tab 610 is selected. Further, the Macitosh HD is selected from the workspace. Accordingly, in this embodiment, the search only applies to files stored on the Macitosh HD electronic device. In the workspace, a pointer has been directed by a user to the attachments/dropbox location 615. As a result, the system has displayed a highlighted box around the attachments/dropbox location 615. Further, in the workspace, certain locations also indicate how many files relevant to the search that are physically stored at each location. For example, the Macitosh HD has 249 files stored on it's hard drive relevant to the search being performed here. In an alternative embodiment, such a number may indicate something different, such as files indexed from this location within the last week or month. - The
GUI 600 also includes asearch analysis section 620. This section indicates trends, data, and/or statistics regarding the search results. For example, 44 of the search results are associated with the tag “GREEN” and eleven of the search results are from files from theyear 2012. In alternative embodiments, other statistics may also be displayed, such as size of files, author of files, sender of files, number of versions or changes from original, or importance. Such data may be displayed if the user opens the smart analysis results 424 ofFIG. 4 discussed above. - A search term “REDCAT” has been entered into a
search dialog 625. Accordingly, each one of the files or file representations in theGUI 600 are related to the search term. Additionally, each time the search input REDCAT appears on theGUI 600, it is highlighted with a box around it because that is the current search term. Highlights could also involve shading, different shapes, different colors, or any other method that makes the search input stand out from the other text on the page. Ahierarchical tree structure 630 is shown in theGUI 600. Thehierarchical tree structure 630 shows a navigable hierarchy that shows folders and sub-folders where relevant search results are located. Each level of the hierarchy also includes an indicator of how many relevant search results are in each folder. The folders displayed here can represent physical or virtual folders. Asearch results section 640 may show the contents of a folder selected from thefile tree hierarchy 630. In some embodiments, if no folder is currently selected (other than the fact that the search results represent only result from the Macitosh HD, which is selected on the left of the GUI 600), thesearch results section 640 shows results from the total results of the search. The system may automatically populate the search results 640 with various relevant and or high ranking search results 660, such asphoto 650 anddocument 665. The search results 660 may also be modified or sorted using a drop downmenu 645. Here it is indicated that the results have been modified. - The
hierarchical tree structure 630 in the GUI shows search results grouped or clustered together in a way that is convenient for the user. The file tree hierarchy starts out with a broad folder,Macitosh HD folder 632. Thefolder 632 is displayed as darkened black. In this embodiment, this indicates that search results are present in thefolder 632. Additionally, alongside the folder name of thefolder 632 is the number of search results that are in thefolder 632, in thiscase 249. If the user selects thefolder 632, all of the results of the search can be viewed. However, thefolder 632 can be expanded to reveal further sorted and/or clustered search results. For example, inFIG. 6 , a work sub-folder project is selected and expanded out. In some embodiments, the system may automatically display some folders already expanded out based on ranking, total number of search results, etc. Advantageously, each folder also shows how many search results are part of that cluster or group. The work folder shows 201 results. Any of the sub-folders, in addition to being expanded, can also be selected. Once selected, the search results are displayed in thesearch results section 640. Advantageously, thehierarchical tree structure 630 gives the user of the GUI 600 a convenient and simple way to manageably view and deal with large numbers of search results. The project redcatfolder 635 also appears (based on the appearance of the icon and the name of the folder) to have search results. However, a number indicating how many search results were found there is not present. Here, that is because thefolder 635 merely includes the search input term in the name of the folder but does not contain relevant search results. This is in contrast to theproject redcat folder 634, which shows 156 search results. Thelook folder 637 shows just one example of how a folder with no relevant search results can be visually differentiated from the other folders in thehierarchical tree structure 630. Thefolder 637 is shown with a white in color folder symbol and the text of thefolder 637 has been grayed out. - There are also subsections of the search results 660. Here, the subsections include media and document type results, though other types may be included in other embodiments such as contacts and messages. The media results also include a show all
button 647. By interacting with the show allbutton 647, all of the media results may be displayed. In the alternative, if the user would like to view more results, anarrow 655 may be interacted with to scroll through the different media results that are not currently displayed. - Here,
document 665 has been selected from among the search results. Accordingly inpreview section 675, apreview 680 of thedocument 665 is displayed.Further information 690 about the previewed file is also displayed. If a user has previously made a reminder regarding the file, the reminder is also displayed. Here,reminder 685 is displayed along with thepreview 680. Atcollaborators 695, the system may display who has collaborated on the file with the user. However, in this embodiment, nobody has collaborated on the file. -
FIG. 7 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. 7 includes apersonal computing device 700, a portable storage device 797, anetwork 725, acloud storage system 730, atablet device 740, and a mobileelectronic device 765. Thepersonal computing device 700 includes aprocessor 715 that is coupled to amemory 705. Thepersonal computing device 700 can store and recall data and applications in thememory 705. Theprocessor 715 may also display objects, applications, data, etc. on a display/interface 710. The display/interface 710 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 715 may also receive inputs from a user through the display/interface 710. Theprocessor 715 is also coupled to atransceiver 720. With this configuration, theprocessor 715, and subsequently thepersonal computing device 700, can communicate with other devices, such as thecloud storage system 730 through aconnection 787 and thenetwork 725. AlthoughFIG. 7 shows onepersonal computing device 700, an alternative embodiment may include multiple personal computing devices. - The
tablet device 740 includes aprocessor 755 that is coupled to amemory 745. Theprocessor 755 can store and recall data and applications in thememory 745. Theprocessor 755 may also display objects, applications, data, etc. on a display/interface 750. The display/interface 750 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 755 may also receive inputs from a user through the display/interface 750. Theprocessor 755 is also coupled to atransceiver 760. With this configuration, theprocessor 755, and subsequently thetablet device 740, can communicate with other devices, such as thepersonal computing device 700 through aconnection 795 and thenetwork 725. - The mobile
electronic device 765 includes aprocessor 775 that is coupled to amemory 785. Theprocessor 775 can store and recall data and applications in thememory 785. Theprocessor 775 may also display objects, applications, data, etc. on a display/interface 780. The display/interface 780 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 775 may also receive inputs from a user through the display/interface 780. Theprocessor 775 is also coupled to atransceiver 770. With this configuration, theprocessor 775, and subsequently the viewerelectronic device 765, can communicate with other devices, such as thetablet device 740 through aconnection 790 and thenetwork 725. AlthoughFIG. 7 shows only one mobileelectronic device 765, an alternative embodiment may include multiple mobile electronic devices. -
FIG. 7 also includes thecloud storage system 730. Thecloud storage system 730 may include a number of servers that may have memory and processors. Thecloud storage system 730 is connected to the network through aconnection 735 and may communicate with other devices such as the mobileelectronic device 765. -
FIG. 7 also includes the portable storage device 797. This portable storage device 797 may be a removable USB drive for example. Since such a portable memory does not have a processor, the portable storage device 797 must be connected to a computing device for the information and files stored on the portable storage device 797 can be read by such devices. Accordingly, in this embodiment, the portable storage device 797 is plugged into thepersonal computing device 700, which can read the data from the portable storage device 797 and communicate its contents or data related to its contents to any of the other devices that have access to thenetwork 725. - 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 725 may also include similar components described above with respect to theconnections network 725 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. 7 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. 7 . 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 765 involves theprocessor 775 receiving data through thetransceiver 770 throughconnection 790 and thenetwork 725. Thenetwork 725 may be connected to the internet. Theprocessor 775 may store the data (like the program) in thememory 785. Theprocessor 775 can execute the program at any time. In another embodiment, some aspects of a program may not be downloaded to the viewerelectronic device 765. For example, the program may be an application that accesses additional data or resources located in a server, or even thecloud storage system 730 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 725 or thecloud storage system 730. In the latter example, temporary files and/or a web browser may be used on the mobileelectronic device 765 in order to execute the program, system, application, etc. In additional embodiments, thetablet device 740 and thepersonal computing device 700 may use, store, or download software applications and web based programs in a similar way. - The configuration of the
personal computing device 700, the portable storage device 797, thetablet device 740, the mobileelectronic device 765, thenetwork 725, and thecloud storage system 730 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. 7 may exist to practice the disclosed embodiments. Additionally, the devices shown inFIG. 7 may be combined to allow for fewer devices or separated where more than the five devices shown exist in a system. -
FIG. 8 is a flow diagram illustrating amethod 800 of performing a cross-platform search 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 805, the system receives search terms input. The search terms may be received from a keyboard, an on-screen keyboard, speech-to-text technology, or other input from a user. In another embodiment, the user may select a search term from a graphical user interface without having to enter particular characters and text with an input device. For example, the user may select a tag to initiate a search as discussed above with respect toFIG. 6 . - In an operation 810, the system searches various electronic devices and their electronic memory in order to find electronic files related to the search input. In an alternative embodiment, and as discussed above, the system may also search an index of electronic files rather than the actual electronic memories of various devices. In a third embodiment, the system may actually search a combination of an index and the physical memory of various user devices.
- In an operation 815, the system determines the presence of various electronic files relating to the input search terms. In this step, the system actually finds hits relating to the search terms.
- In an operation 820, the system displays the various electronic files relating to the input search terms on a graphical user interface (GUI). That is, the system displays the search results. The search results may be displayed in a variety of ways as disclosed herein, including a tree representation or hierarchical tree structure.
-
FIG. 9 is a flow diagram illustrating amethod 900 of grouping search results into clusters 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 905, the system determines electronic files from multiple electronic devices that are related to search terms input from a user. - In an operation 910, the system groups the electronic files that were determined based on the search terms into groups (or clusters or amalgamations) with common characteristics. For example and as disclosed herein, the groupings may involve electronic files of a similar type, date, relation to a contact or particular conversation, etc. In an operation 915, the system displays on the GUI the various clusters and groups relating to the search results. The system may display the groups in many different ways as disclosed herein.
- In an operation 920, the system receives an input from the user regarding a particular group or cluster. The input may be a click from a mouse pointer, a touch through a touch screen, a voice command, or any other type of user input. In an
operation 925, the system displays additional information on the GUI regarding the group or cluster. For example, the system may display information about the cluster as a whole: total size, number of electronic files, etc. In another example, the system may display information about the electronic files that make up the cluster: names of electronic files in the group, sizes of the electronic files in the group, previews of the electronic files in the group, etc. Furthermore, the system may only display information regarding electronic files that are regarded as higher relevance to the search than other electronic files in the grouping. Accordingly, when the system displays additional information about the files, the more relevant files are displayed more prominently on the GUI. -
FIG. 10 is a flow diagram illustrating amethod 1000 of displaying search results in a hierarchical tree structure 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 determines search results according to a search input. - In an operation 1010, the system sorts the search results into a first level of the tree structure based on a first criteria. In this embodiment, the first criteria is a relatively broad criteria meant to capture many if not all of the search results. For example, the criteria may consist of all search results. In another example, the criteria may consist of all documents in the search results. In this way, the hierarchical tree structure can be organized from broader tree structure levels to narrower to facilitate a useful interface for the user.
- In an
operation 1015, the system sorts the search results into a second level of the tree structure based on a second criteria. The second criteria is relatively narrower as compared to the first criteria. For example, where the first criteria consists of all documents in the search results, the second criteria may be all documents received as e-mail attachments in the search results. As explained above, in this way, the hierarchical tree structure can offer an organization of search results that continually narrows the results for a user in a coherent manner that makes it easy to locate particular search results. In another embodiment where a folder structure is utilized, the narrowing criteria is inherent since sub-folders are already stored within other folders (and are therefore subservient). - In an operation 1020, the system displays the hierarchical tree structure on the GUI. Here the user can actually interact with the hierarchical tree structure and view the search results. This can be done in many ways according to the embodiments disclosed herein.
-
FIG. 11 is a flow diagram illustrating amethod 1100 of customizing search result groupings according to user defined groups 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 1105, the system receives custom definitions from the user on how to cluster search results. In other words, the user has determined here the criteria for how to determine clusters of search results. - In an operation 1110, the system receives search terms and input from the user. In an operation 1115, the system performs a search based on the search terms and input from the user.
- In an operation 1120, the system organizes the search results in the user defined clusters. In an operation 1125, the system receives an interaction from the user. The interaction received is a selection one of the clusters generated in the operation 1120. As a result of the interaction, the system displays more information regarding the cluster, including a preview of at least one electronic file represented in the cluster that they system deems to be more relevant to the search terms than other electronic files in the cluster.
- In an
operation 1130, the system receives a second interaction from the user, and the system subsequently opens the electronic file. Here, the user presumably likes what he or she was seeing from the preview displayed in the operation 1125, so the user further interacted with the preview and the cluster to open the electronic file. - 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.
- 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,204 US20150186478A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Tree Representation of Search Results |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361922597P | 2013-12-31 | 2013-12-31 | |
US14/579,204 US20150186478A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Tree Representation of Search Results |
Publications (1)
Publication Number | Publication Date |
---|---|
US20150186478A1 true US20150186478A1 (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,204 Abandoned US20150186478A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Tree Representation of Search Results |
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,559 Abandoned US20150186395A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Offline File Management |
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 |
US14/579,029 Abandoned US20150186369A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Dossiers for Data Units |
Family Applications Before (3)
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 |
Family Applications After (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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,559 Abandoned US20150186395A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Offline File Management |
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 |
US14/579,029 Abandoned US20150186369A1 (en) | 2013-12-31 | 2014-12-22 | Method and System for Dossiers for Data Units |
Country Status (1)
Country | Link |
---|---|
US (9) | US9304657B2 (en) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150277668A1 (en) * | 2014-03-25 | 2015-10-01 | PlusAmp, Inc. | Cross reference to related application |
US20160330150A1 (en) * | 2015-05-06 | 2016-11-10 | Kakao Corp. | Message service providing method for message service linked to search service and message server and user terminal to perform the method |
US20170011099A1 (en) * | 2015-07-06 | 2017-01-12 | Sap Se | Interactive exploration of large graphs |
US20170078236A1 (en) * | 2015-09-16 | 2017-03-16 | CrowdReach, LLC | Systems, computing devices, and methods for facilitating communication to multiple contacts via multiple, different communication modalities |
US20170170876A1 (en) * | 2015-12-11 | 2017-06-15 | Oceaneering International, Inc. | Extremely high speed data transfer and communications |
US9747030B2 (en) * | 2015-07-14 | 2017-08-29 | Verizon Patent And Licensing Inc. | Managing media content storage for user devices |
US9778817B2 (en) | 2013-12-31 | 2017-10-03 | Findo, Inc. | Tagging of images based on social network tags or comments |
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 |
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 |
WO2019070855A1 (en) * | 2017-10-04 | 2019-04-11 | 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 |
US10311110B2 (en) * | 2015-12-28 | 2019-06-04 | Sap Se | Semantics for document-oriented databases |
WO2019139717A1 (en) * | 2018-01-15 | 2019-07-18 | Microsoft Technology Licensing, Llc | Filtering communications |
US10498684B2 (en) | 2017-02-10 | 2019-12-03 | Microsoft Technology Licensing, Llc | Automated bundling of content |
US10817556B2 (en) | 2018-01-15 | 2020-10-27 | Microsoft Technology Licensing, Llc | Filtering communications |
US20200349468A1 (en) * | 2019-05-03 | 2020-11-05 | Apple Inc. | Data management platform for machine learning models |
US10873782B2 (en) | 2018-10-02 | 2020-12-22 | Adobe Inc. | Generating user embedding representations that capture a history of changes to user trait data |
US10909156B2 (en) | 2017-02-10 | 2021-02-02 | Microsoft Technology Licensing, Llc | Search and filtering of message content |
US10911389B2 (en) | 2017-02-10 | 2021-02-02 | Microsoft Technology Licensing, Llc | Rich preview of bundled content |
US10931617B2 (en) | 2017-02-10 | 2021-02-23 | Microsoft Technology Licensing, Llc | Sharing of bundled content |
US11269870B2 (en) * | 2018-10-02 | 2022-03-08 | Adobe Inc. | Performing automatic segment expansion of user embeddings using multiple user embedding representation types |
US11461634B2 (en) | 2018-10-02 | 2022-10-04 | Adobe Inc. | Generating homogenous user embedding representations from heterogeneous user interaction data using a neural network |
US11562025B2 (en) * | 2018-04-18 | 2023-01-24 | Palantir Technologies Inc. | Resource dependency system and graphical user interface |
US20230161789A1 (en) * | 2021-11-22 | 2023-05-25 | International Business Machines Corporation | Realtime viewer in cloud storage environments |
US11775898B1 (en) | 2019-10-04 | 2023-10-03 | Palantir Technologies Inc. | Resource grouping for resource dependency system and graphical user interface |
US11954203B2 (en) * | 2019-08-15 | 2024-04-09 | Blackberry Limited | Methods and systems for identifying a compromised device through its unmanaged profile |
Families Citing this family (162)
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 |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with 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 |
US20120130741A1 (en) * | 2010-11-24 | 2012-05-24 | General Electric Company | Integrated patient information viewer interface |
US20120131507A1 (en) * | 2010-11-24 | 2012-05-24 | General Electric Company | Patient information timeline viewer |
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 |
KR102103057B1 (en) | 2013-02-07 | 2020-04-21 | 애플 인크. | 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 |
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 |
EP3480811A1 (en) | 2014-05-30 | 2019-05-08 | 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 |
WO2016138400A1 (en) * | 2015-02-27 | 2016-09-01 | Cisco Technology, Inc. | System and methods for computer network security involving user confirmation of network connections |
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 |
US10001913B2 (en) * | 2015-04-01 | 2018-06-19 | 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 |
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 |
USD775172S1 (en) * | 2015-05-01 | 2016-12-27 | Sap Se | Display screen or portion thereof with graphical user interface |
USD781327S1 (en) | 2015-05-01 | 2017-03-14 | Sap Se | Display screen or portion thereof with transitional graphical user interface |
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 |
US10191891B2 (en) | 2015-08-26 | 2019-01-29 | Microsoft Technology Licensing, Llc | Interactive preview teasers in communications |
US11062252B1 (en) * | 2015-09-01 | 2021-07-13 | Honest Work Corporation | Work related feedback system, method, and computer program product |
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 |
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 |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10771413B1 (en) * | 2015-09-11 | 2020-09-08 | Wells Fargo Bank, N.A. | System and method for customizing electronic messages |
US9665567B2 (en) * | 2015-09-21 | 2017-05-30 | International Business Machines Corporation | Suggesting emoji characters based on current contextual emotional state of user |
RU2018113153A (en) | 2015-09-24 | 2019-10-24 | ЛОКАТОР АйПи, ЛП | HYPERLOCALIZED METEOROLOGICAL DATA AND ENVIRONMENTAL DATA |
US10691718B2 (en) | 2015-10-29 | 2020-06-23 | Dropbox, Inc. | Synchronization protocol for multi-premises hosting of digital content items |
US9479567B1 (en) | 2015-10-29 | 2016-10-25 | Dropbox, Inc. | 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 |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
CN106682024A (en) * | 2015-11-09 | 2017-05-17 | 百度在线网络技术(北京)有限公司 | Method, device and system for presenting query result information |
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 |
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 |
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 |
AU2017264388B2 (en) * | 2016-05-13 | 2022-04-21 | Equals 3 LLC | Searching structured and unstructured data sets |
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 |
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 |
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 |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
KR20180006137A (en) * | 2016-07-08 | 2018-01-17 | 엘지전자 주식회사 | Terminal and method for controlling the same |
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 |
US10719807B2 (en) * | 2016-12-29 | 2020-07-21 | Dropbox, Inc. | Managing projects using references |
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 |
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 |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy 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 |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US20180349467A1 (en) | 2017-06-02 | 2018-12-06 | Apple Inc. | Systems and methods for grouping search results into dynamic categories based on query and result set |
US10762060B1 (en) | 2017-10-18 | 2020-09-01 | Comake, Inc. | Electronic file management |
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 |
US11314692B1 (en) | 2017-10-18 | 2022-04-26 | Comake, Inc. | Workflow relationship management and contextualization |
US11409820B1 (en) | 2017-10-18 | 2022-08-09 | Comake, Inc. | Workflow relationship management and contextualization |
KR102299239B1 (en) * | 2017-10-21 | 2021-09-06 | 애플 인크. | Private domain for virtual assistant systems on common devices |
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 |
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 |
US11062035B2 (en) * | 2018-04-30 | 2021-07-13 | Innoplexus Ag | Secure document management using blockchain |
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 |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
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 |
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 |
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 |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | User activity shortcut suggestions |
DK201970511A1 (en) | 2019-05-31 | 2021-02-15 | Apple Inc | Voice identification in digital assistant systems |
US11227599B2 (en) | 2019-06-01 | 2022-01-18 | 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 |
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 |
TWI730539B (en) * | 2019-10-09 | 2021-06-11 | 開曼群島商粉迷科技股份有限公司 | Method for displaying dynamic digital content, graphical user interface and system thereof |
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 |
CN115956241A (en) * | 2020-03-04 | 2023-04-11 | 杜一军 | System and method for data set management tasks using search trees and tagged data items |
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 |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11183193B1 (en) | 2020-05-11 | 2021-11-23 | Apple Inc. | Digital assistant hardware abstraction |
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 |
US11995584B2 (en) * | 2021-05-07 | 2024-05-28 | 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 |
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 (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050028912A1 (en) * | 2003-08-07 | 2005-02-10 | Schnarr Catherine Mary | Apparatus for covering a selected rear portion of a vehicle body |
US20050038866A1 (en) * | 2001-11-14 | 2005-02-17 | Sumio Noguchi | Information search support apparatus, computer program, medium containing the program |
US20050289127A1 (en) * | 2004-06-25 | 2005-12-29 | Dominic Giampaolo | Methods and systems for managing data |
US20070208717A1 (en) * | 2006-03-01 | 2007-09-06 | Fujifilm Corporation | Category weight setting apparatus and method, image weight setting apparatus and method, category abnormality setting apparatus and method, and programs therefor |
US20090013249A1 (en) * | 2000-05-23 | 2009-01-08 | International Business Machines Corporation | Method and system for dynamic creation of mixed language hypertext markup language content through machine translation |
US20090018753A1 (en) * | 2007-07-12 | 2009-01-15 | Martin Muller | System and method for a volumetric efficiency model for all air induction configurations |
US20090132498A1 (en) * | 2007-11-15 | 2009-05-21 | Canon Kabushiki Kaisha | Information processing apparatus, information processing system, processing method thereof, and recording medium |
US20090228471A1 (en) * | 2008-03-06 | 2009-09-10 | Microsoft Corporation | Hierarchical presentation of search results |
US20100008838A1 (en) * | 2008-07-11 | 2010-01-14 | Applied Materials, Inc. | Methods and apparatus for abating electronic device manufacturing process effluent |
US20100088382A1 (en) * | 2008-08-27 | 2010-04-08 | Lee G Roger | Document manager integration |
US20130019141A1 (en) * | 2011-07-11 | 2013-01-17 | Lsi Corporation | Min-Sum Based Non-Binary LDPC Decoder |
US20150006656A1 (en) * | 2011-12-27 | 2015-01-01 | Tata Consultancy Services Limited | Method and System for Creating an Intelligent Social Network Between a Plurality of Devices |
US9747342B2 (en) * | 2012-05-30 | 2017-08-29 | Rakuten, Inc. | Information processing apparatus, information processing method, information processing program, and recording medium |
Family Cites Families (162)
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 |
US6101515A (en) | 1996-05-31 | 2000-08-08 | Oracle Corporation | Learning system for classification of terminology |
US5956400A (en) | 1996-07-19 | 1999-09-21 | Digicash Incorporated | Partitioned information storage systems with controlled retrieval |
ES2204797T3 (en) * | 1997-06-09 | 2004-05-01 | Hitachi, Ltd. | IMAGE SEQUENCE CODING PROCEDURE. |
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 |
US7406214B2 (en) | 1999-05-19 | 2008-07-29 | Digimarc Corporation | Methods and devices employing optical sensors and/or steganography |
US7539742B2 (en) * | 1999-08-27 | 2009-05-26 | Innovation Fund Iii Llc | Network for targeting individual operating a microcomputer regardless of his location |
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 |
US6895552B1 (en) | 2000-05-31 | 2005-05-17 | Ricoh Co., Ltd. | Method and an apparatus for visual summarization of documents |
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 |
US20030171926A1 (en) * | 2002-03-07 | 2003-09-11 | Narasimha Suresh | System for information storage, retrieval and voice based content search and methods thereof |
US7016919B2 (en) * | 2002-03-29 | 2006-03-21 | Agilent Technologies, Inc. | Enterprise framework and applications supporting meta-data and data traceability requirements |
DE10240117A1 (en) | 2002-08-30 | 2004-03-18 | Ubs Ag | Server component for e.g. public Internet has report generation processor that obtains electronic dossiers from databases to process standardized risk related data included in electronic dossiers to generate electronic risk report |
EP1567928A4 (en) | 2002-09-03 | 2008-04-30 | X1 Technologies Llc | 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 |
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 |
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 |
US20050187795A1 (en) | 2004-02-24 | 2005-08-25 | Mary Russell | Dynamic safety monitoring in clinical trial |
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 |
US7395260B2 (en) | 2004-08-04 | 2008-07-01 | International Business Machines Corporation | Method for providing graphical representations of search results in multiple related histograms |
US7493303B2 (en) | 2004-08-04 | 2009-02-17 | International Business Machines Corporation | Method for remotely searching a local user index |
WO2006034135A2 (en) | 2004-09-17 | 2006-03-30 | Proximex | Adaptive multi-modal integrated biometric identification detection and surveillance system |
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 |
US8112441B2 (en) * | 2005-07-15 | 2012-02-07 | Indxit Sytems 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 |
DE112006003518T5 (en) | 2005-12-21 | 2009-01-29 | Decernis, Llc | System for the validation of at least part of a document |
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 |
WO2007106851A2 (en) | 2006-03-14 | 2007-09-20 | Document Atm Incorporated | Distributed access to valuable and sensitive documents and data |
WO2007110094A1 (en) | 2006-03-27 | 2007-10-04 | Telecom Italia S.P.A. | System for enforcing security policies on mobile communications devices |
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 |
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 |
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 |
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 |
WO2008127312A1 (en) | 2007-04-13 | 2008-10-23 | Thomson Licensing | 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 |
US9591086B2 (en) * | 2007-07-25 | 2017-03-07 | Yahoo! Inc. | Display of information in electronic communications |
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 |
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 |
US8607136B2 (en) | 2008-02-28 | 2013-12-10 | Red Hat, Inc. | Maintaining tags for individual communities |
US8468447B2 (en) | 2008-02-28 | 2013-06-18 | Red Hat, Inc. | Tracking tag content by keywords and communities |
KR101592889B1 (en) | 2008-03-03 | 2016-02-11 | 아비길론 페이턴트 홀딩 2 코포레이션 | Object matching for tracking, indexing, and search |
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 |
JP5181896B2 (en) | 2008-07-25 | 2013-04-10 | ブラザー工業株式会社 | Display information management system and program |
US20100211663A1 (en) * | 2008-07-28 | 2010-08-19 | Viewfinity Inc. | Management of pool member configuration |
JP5379239B2 (en) | 2008-12-12 | 2013-12-25 | アティジオ リミテッド ライアビリティ カンパニー | Providing recommendations using judgment information about the area of interest |
US8112365B2 (en) | 2008-12-19 | 2012-02-07 | Foster Scott C | System and method for online employment recruiting and evaluation |
GB0823701D0 (en) * | 2008-12-31 | 2009-02-04 | Symbian Software Ltd | Fast data entry |
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 |
KR20110134909A (en) * | 2009-03-13 | 2011-12-15 | 인벤션 머신 코포레이션 | Question-answering system and method based on semantic labeling of text documents and user question |
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 |
US8645327B2 (en) | 2009-09-30 | 2014-02-04 | Apple Inc. | Management of access to data distributed across multiple computing devices |
IT1396340B1 (en) | 2009-10-20 | 2012-11-16 | Tiziano Tresanti | SYSTEM AND METHOD FOR MANAGEMENT AND SHARING WITHIN A INFORMATION NETWORK OF INFORMATION AND CONTACTS RELATED TO USERS |
CN102713905A (en) | 2010-01-08 | 2012-10-03 | 瑞典爱立信有限公司 | 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 |
FR2955719B1 (en) * | 2010-01-28 | 2012-02-24 | Hispano Suiza Sa | METHOD AND DEVICE FOR CONTROLLING POLYPHASE ELECTRIC MACHINE |
US8856349B2 (en) | 2010-02-05 | 2014-10-07 | Sling Media Inc. | Connection priority services for data communication between two devices |
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 |
AU2011247610A1 (en) | 2010-04-29 | 2012-12-13 | Therading Sa | Methods for detecting 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 |
US9251503B2 (en) | 2010-11-01 | 2016-02-02 | Microsoft Technology Licensing, Llc | Video viewing and tagging system |
JP2012098573A (en) | 2010-11-04 | 2012-05-24 | Sony Corp | Terminal device, content display method of terminal device, server device, display data transmission method of server device, and ranking information transmission method of server device |
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 |
US8738611B1 (en) | 2011-01-25 | 2014-05-27 | Intuit Inc. | Prioritizing email based on financial management data |
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 |
US8819425B2 (en) | 2011-06-30 | 2014-08-26 | True[X] Media Inc. | Privacy protected interactions with third parties |
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 |
US9419864B2 (en) | 2011-08-26 | 2016-08-16 | Panasonic Intellectual Property Management Co., Ltd. | Content distribution system, content management server, content-using device, and control method |
US8458174B1 (en) * | 2011-09-02 | 2013-06-04 | Google Inc. | Semantic image label synthesis |
US8634807B2 (en) | 2011-10-17 | 2014-01-21 | Blackberry Limited | System and method for managing electronic groups |
JP5716635B2 (en) | 2011-10-31 | 2015-05-13 | 富士通株式会社 | Electronic data management method, program, and electronic data management apparatus |
US20130110816A1 (en) | 2011-11-02 | 2013-05-02 | Microsoft Corporation | Default Query Rules |
US9043413B2 (en) | 2011-11-15 | 2015-05-26 | Yahoo! Inc. | System and method for extracting, collecting, enriching and ranking of email objects |
US9179171B2 (en) | 2011-11-30 | 2015-11-03 | Verizon Patent And Licensing Inc. | Content recommendation for a unified catalog |
US9020950B2 (en) * | 2011-12-19 | 2015-04-28 | Palo Alto Research Center Incorporated | System and method for generating, updating, and using meaningful tags |
US9652536B1 (en) | 2012-01-11 | 2017-05-16 | A9.Com, Inc. | Data upload via electronic communications |
KR20130086005A (en) | 2012-01-20 | 2013-07-30 | 삼성전자주식회사 | Method and appartus searching data in multiple device |
US9218629B2 (en) * | 2012-01-20 | 2015-12-22 | Blackberry Limited | Prioritizing and providing information about user contacts |
JP5786967B2 (en) * | 2012-01-23 | 2015-09-30 | ダイキン工業株式会社 | Oil seal for automobile |
US9100245B1 (en) * | 2012-02-08 | 2015-08-04 | Amazon Technologies, Inc. | Identifying protected media files |
US9547872B2 (en) | 2012-02-22 | 2017-01-17 | Ebay Inc. | Systems and methods for providing search results along a corridor |
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 |
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 |
US9292552B2 (en) | 2012-07-26 | 2016-03-22 | Telefonaktiebolaget L M Ericsson (Publ) | Apparatus, methods, and computer program products for adaptive multimedia content indexing |
US9377933B2 (en) | 2012-09-24 | 2016-06-28 | Facebook, Inc. | Displaying social networking system entity information via a timeline interface |
US9071562B2 (en) | 2012-12-06 | 2015-06-30 | International Business Machines Corporation | Searchable peer-to-peer system through instant messaging based topic indexes |
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 |
US20140365351A1 (en) | 2013-06-07 | 2014-12-11 | Td Ameritrade Ip Company, Inc. | Common order queue for multiple trading platforms |
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 |
US9344876B2 (en) | 2013-12-24 | 2016-05-17 | Facebook, Inc. | Systems and methods for predictive download |
US9304657B2 (en) | 2013-12-31 | 2016-04-05 | Abbyy Development Llc | Audio tagging |
US10025874B2 (en) | 2014-04-21 | 2018-07-17 | Tumblr, Inc. | User specific visual identity control across multiple platforms |
-
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,204 patent/US20150186478A1/en not_active Abandoned
- 2014-12-22 US US14/579,500 patent/US10209859B2/en active Active
- 2014-12-22 US US14/579,559 patent/US20150186395A1/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
- 2014-12-22 US US14/579,029 patent/US20150186369A1/en not_active Abandoned
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090013249A1 (en) * | 2000-05-23 | 2009-01-08 | International Business Machines Corporation | Method and system for dynamic creation of mixed language hypertext markup language content through machine translation |
US20050038866A1 (en) * | 2001-11-14 | 2005-02-17 | Sumio Noguchi | Information search support apparatus, computer program, medium containing the program |
US20050028912A1 (en) * | 2003-08-07 | 2005-02-10 | Schnarr Catherine Mary | Apparatus for covering a selected rear portion of a vehicle body |
US20050289127A1 (en) * | 2004-06-25 | 2005-12-29 | Dominic Giampaolo | Methods and systems for managing data |
US20070208717A1 (en) * | 2006-03-01 | 2007-09-06 | Fujifilm Corporation | Category weight setting apparatus and method, image weight setting apparatus and method, category abnormality setting apparatus and method, and programs therefor |
US20090018753A1 (en) * | 2007-07-12 | 2009-01-15 | Martin Muller | System and method for a volumetric efficiency model for all air induction configurations |
US20090132498A1 (en) * | 2007-11-15 | 2009-05-21 | Canon Kabushiki Kaisha | Information processing apparatus, information processing system, processing method thereof, and recording medium |
US20090228471A1 (en) * | 2008-03-06 | 2009-09-10 | Microsoft Corporation | Hierarchical presentation of search results |
US20100008838A1 (en) * | 2008-07-11 | 2010-01-14 | Applied Materials, Inc. | Methods and apparatus for abating electronic device manufacturing process effluent |
US20100088382A1 (en) * | 2008-08-27 | 2010-04-08 | Lee G Roger | Document manager integration |
US20130019141A1 (en) * | 2011-07-11 | 2013-01-17 | Lsi Corporation | Min-Sum Based Non-Binary LDPC Decoder |
US20150006656A1 (en) * | 2011-12-27 | 2015-01-01 | Tata Consultancy Services Limited | Method and System for Creating an Intelligent Social Network Between a Plurality of Devices |
US9747342B2 (en) * | 2012-05-30 | 2017-08-29 | Rakuten, Inc. | Information processing apparatus, information processing method, information processing program, and recording medium |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US20150277668A1 (en) * | 2014-03-25 | 2015-10-01 | PlusAmp, Inc. | Cross reference to related application |
US9575623B2 (en) * | 2014-03-25 | 2017-02-21 | PlusAmp, Inc. | Data file discovery, visualization, and importing |
US20160330150A1 (en) * | 2015-05-06 | 2016-11-10 | Kakao Corp. | Message service providing method for message service linked to search service and message server and user terminal to perform the method |
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 |
US20170011099A1 (en) * | 2015-07-06 | 2017-01-12 | Sap Se | Interactive exploration of large graphs |
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 |
US20170078236A1 (en) * | 2015-09-16 | 2017-03-16 | CrowdReach, LLC | Systems, computing devices, and methods for facilitating communication to multiple contacts via multiple, different communication modalities |
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 |
US20170170876A1 (en) * | 2015-12-11 | 2017-06-15 | Oceaneering International, Inc. | Extremely high speed data transfer and communications |
US10128909B2 (en) * | 2015-12-11 | 2018-11-13 | Oceaneering International, Inc. | Subsea contactless connector system and method with extremely high data transfer rate |
US10311110B2 (en) * | 2015-12-28 | 2019-06-04 | Sap Se | Semantics for document-oriented databases |
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 |
US10122840B2 (en) * | 2016-06-24 | 2018-11-06 | Sandisk Technologies Llc | Displaying information about files stored in a plurality of storage devices |
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 |
US10740342B2 (en) | 2016-08-31 | 2020-08-11 | Palantir Technologies Inc. | Systems, methods, user interfaces and algorithms for performing database analysis and search of information involving structured and/or semi-structured data |
US10909156B2 (en) | 2017-02-10 | 2021-02-02 | Microsoft Technology Licensing, Llc | Search and filtering of message content |
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 |
WO2019070855A1 (en) * | 2017-10-04 | 2019-04-11 | Gamalon, Inc. | Interaction personalization system and method |
US20200244733A1 (en) * | 2017-10-12 | 2020-07-30 | Stanley Bruce Kinsey | Cloud-based index and centralized cloud-based hub interface for cloud-stored media |
WO2019074732A1 (en) * | 2017-10-12 | 2019-04-18 | Kinsey Stanley Bruce | Cloud-based index and centralized cloud-based hub interface for cloud-stored media |
US11917006B2 (en) * | 2017-10-12 | 2024-02-27 | Stanley Bruce Kinsey | Cloud-based index and centralized cloud-based hub interface for cloud-stored media |
US10817556B2 (en) | 2018-01-15 | 2020-10-27 | Microsoft Technology Licensing, Llc | Filtering communications |
WO2019139717A1 (en) * | 2018-01-15 | 2019-07-18 | Microsoft Technology Licensing, Llc | Filtering communications |
US11017005B2 (en) * | 2018-01-15 | 2021-05-25 | Microsoft Technology Licensing, Llc | Filtering communications |
US11562025B2 (en) * | 2018-04-18 | 2023-01-24 | Palantir Technologies Inc. | Resource dependency system and graphical user interface |
US10873782B2 (en) | 2018-10-02 | 2020-12-22 | Adobe Inc. | Generating user embedding representations that capture a history of changes to user trait data |
US11461634B2 (en) | 2018-10-02 | 2022-10-04 | Adobe Inc. | Generating homogenous user embedding representations from heterogeneous user interaction data using a neural network |
US11269870B2 (en) * | 2018-10-02 | 2022-03-08 | Adobe Inc. | Performing automatic segment expansion of user embeddings using multiple user embedding representation types |
US20200349468A1 (en) * | 2019-05-03 | 2020-11-05 | Apple Inc. | Data management platform for machine learning models |
US11954203B2 (en) * | 2019-08-15 | 2024-04-09 | Blackberry Limited | Methods and systems for identifying a compromised device through its unmanaged profile |
US11775898B1 (en) | 2019-10-04 | 2023-10-03 | Palantir Technologies Inc. | Resource grouping for resource dependency system and graphical user interface |
US20230161789A1 (en) * | 2021-11-22 | 2023-05-25 | International Business Machines Corporation | Realtime viewer in cloud storage environments |
US11989202B2 (en) * | 2021-11-22 | 2024-05-21 | International Business Machines Corporation | Realtime viewer in cloud storage environments |
Also Published As
Publication number | Publication date |
---|---|
US9304657B2 (en) | 2016-04-05 |
US20150186538A1 (en) | 2015-07-02 |
US20150186398A1 (en) | 2015-07-02 |
US20150186366A1 (en) | 2015-07-02 |
US20150187353A1 (en) | 2015-07-02 |
US20150186420A1 (en) | 2015-07-02 |
US9778817B2 (en) | 2017-10-03 |
US20150186369A1 (en) | 2015-07-02 |
US20150186395A1 (en) | 2015-07-02 |
US10209859B2 (en) | 2019-02-19 |
US20150186381A1 (en) | 2015-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150186478A1 (en) | Method and System for Tree Representation of Search Results | |
US20220318756A1 (en) | Managing tasks in a content management system | |
US11900324B2 (en) | Managing projects in a content management system | |
US10331757B2 (en) | Organizing network-stored content items into shared groups | |
JP6928644B2 (en) | Creating a project in a content management system | |
US11023858B2 (en) | System and method for generating desktop focus work areas | |
EP3221803B1 (en) | Relevant file identification using automated queries to disparate data storage locations | |
US10915492B2 (en) | Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction | |
US20100211535A1 (en) | Methods and systems for management of data | |
US20170091208A1 (en) | Systems and methods for managing, sharing, and organizing information stored on multiple cloud services | |
US20140181157A1 (en) | Intelligent content item importing | |
US20160188581A1 (en) | Contextual searches for documents | |
US9542457B1 (en) | Methods for displaying object history information | |
Merrill | Ideas and considerations for digital photograph sharing | |
Sarna | Evernote for dummies | |
GB2508694A (en) | A system for enabling collaborative work on media content among collaborators through a cloud-based environment |
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/0639 |
|
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 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
AS | Assignment |
Owner name: YVA.AI, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:FINDO INC.;REEL/FRAME:049086/0568 Effective date: 20181002 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
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 |