Patent information
IP India · live recordAbstract
The present subject matter describes a communication device (102) for retrieving data. The communication device (102) receives an input from a user. The input is indicative of a command provided by the user for conducting a search on a plurality of data items stored under multiple categories in the communication device (102). Further, the communication device (102) identifies a set of matching data items from the plurality of data items based on the input. The communication device (102) also retrieves the set of matching data items and generate a list of the matching data items in the set of matching data items. At least one of the matched data items is associated with one or more triggers (206) to perform an action corresponding to the at least one matched data item. Furthermore, the list of the matching data items is provided to the user along with the one or more triggers (206).
Applicants
1Inventors
7Claims
17Specification
Show full textCollapse
TECHNICAL FIELD
[0001] The present subject matter relates to communication devices and, particularly but not exclusively, to system and method for data retrieval in communication devices. BACKGROUND
[0002] Communication devices have nowadays become an indispensible part of day to day living and are increasingly being used by many users to plan and manage their daily activities. The communication devices provide users with a variety of applications, such as calendars, address books, task lists, calculators, memo and writing programs, to help the users with their day to day activities. Apart from these applications, the communication devices store large amount of data and information available via networks and the Internet. Further, with the storage of ever increasing amount of data, such as messages, e-mails, notes, calendar appointments, and contacts, in the communication devices, users are looking for effective ways of retrieval of data items. A data item may be understood as a piece of information stored in the communication device. In order to facilitate the users to locate one or more data items of interest, the communication devices provide a search feature that enable the users to search for the data items.
[0003] To search a data item, the users may provide an input in the form of a command, having one or more characters, in an input field of the communication device. Based on the input provided by the user, the communication device may provide a list of data items to the user. The user may access the list of data items to find out the data item of interest from the result list. BRIEF DESCRIPTION OF THE FIGURES
[0004] The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the figures to reference like features and components. Some embodiments of system and/or methods in accordance with embodiments of the present subject matter are now described, by way of example only, and with reference to the accompanying figures, in which: 3
[0005] Figure 1 illustrates a communication device, according to an embodiment of the present subject matter.
[0006] Figure 2(a) illustrate a snapshot depicting a help menu provided by a communication device, according to an embodiment of the present subject matter.
[0007] Figures 2(b) & 2(c) illustrate snapshots depicting options for customizing a scope of search in a communication device, according to an embodiment of the present subject matter.
[0008] Figures 2(d)-2(h) illustrate snapshots depicting matched data items retrieved from a communication device, according an embodiment of the present subject matter.
[0009] Figure 2(i) illustrate a snapshot depicting a search log provided by a communication device, according to an embodiment of the present subject matter.
[0010] Figure 3 illustrates a method for retrieving data from a communication device, according to an embodiment of the present subject matter.
[0011] It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like, represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown. DESCRIPTION OF EMBODIMENTS
[0012] The present subject matter relates to systems and methods for data retrieval in a communication device. The methods can be implemented in various computing devices, such as mobile phones, hand-held devices, tablets, notebooks, laptops or other portable computers, personal digital assistants (PDAs), and notebooks.
[0013] The proliferation of communication devices, such as mobile phones and tablets has created a large demand for efficient storage and retrieval of data in the communication devices. For example, the communication devices provide users with a variety of applications, such as calendars, address books, task lists, calculators, memo and writing programs, to help the 4 users with their day to day activities. To facilitate the users to locate one or more data items of interest in the communication devices, the communication devices enable the users to search data stored under specific categories, such as messages, media files, and contacts, in the communication devices.
[0014] Typically, to search a data item in a communication device, a user may have to go to each of the categories separately. For example, to find a data item, such as a contact name, the user may need to go to the list of contacts stored in the communication device or an external storage, such as a flash card, integrated with the communication device. The user thereafter performs search in a search field provided in the contacts application of the communication device. Searching in each category in the communication device may be inconvenient for the user, as the user may not always be aware of the location of data items of interest in the communication device. Furthermore, as different categories may have different formats for searching the data items, the users may be unaware of terms and syntaxes and cannot be expected to learn all formats and syntaxes for searching.
[0015] In this respect, the present day communication devices allow the users to search for all data items in the communication device across a pre-defined categories through a common search interface. The users may provide an input through the common search interface on a GUI and a list of matching data items may be provided to the user based on matching results that may be identified from the data items in the communication device. As the input is searched in more than one categories, the number of search results may be high, thereby making the communication devices slow in providing the search results to the user. Further, to search the categories that are not a part of the pre-defined categories, the user may have to manually go through those categories.
[0016] Further, the list of data items, as provided by the communication devices, is typically a list of text items. In this case, the user can see the data item of interest and determine its location. Based on this, the user can locate an application associated with the data item in the communication device and launch the application to access the data item or perform other action, such as call a person from the contact list. Going through all the applications every time before performing an action on a data item may be a tiring and time consuming task for the user. Further, to locate an application in the communication device for performing an action, the user 5 may have to switch between different interfaces thereby making the communication device slow in responding to the user.
[0017] In addition, the above-described communication devices generally perform full text matching to provide results to the users. The text matching may be understood as comparing text provided by the user with the text of the data item, when an exact match is found, the same is retrieved. In this respect, the users need to input complete commands for enabling the communication device to retrieve the requisite result for the user. Furthermore, there may be instances when the users may not be aware of the correct or exact commands. As a result, the users may be unable to retrieve any result based on incomplete commands. Some communication devices provide a pre-defined set of commands to facilitate the users in retrieving the data items. The pre-defined commands may be defined in accordance with specific terms and syntaxes that may be acceptable by the communication device. The pre-defined set of commands may restrict the users from providing commands based on their convenience. Further, the pre-defined set of commands may provide less options for searching the data items in the communication devices. This may deteriorate overall searching experience of the user. In case the user tries to combine one or more pre-defined commands, chances of the communication device retrieving inaccurate results increases.
[0018] Moreover, upon receiving a command, the existing communication devices may perform the search at an application level. In a scenario where a data item is stored in a submenu option of the application, the data item may not be identified during the search. The user therefore may not get an exhaustive list of results for the command. Further, the user may have to provide an input every time the user wishes to perform a search on the communication device. Also in cases where the user would like to re-run recently executed searches, the user may have to enter the input again, which may be time-consuming and hence inconvenient to the users.
[0019] According to an embodiment of the present subject matter, systems and methods for retrieving data in communication devices are described herein. The communication device may include, but is not limited to, a mobile phone, a personal digital assistant (PDA), a tablet, a notebook, and a Smartphone. The present subject matter facilitates a user to search a communication device by using commands or commands. The search may be considered as a global search that may performed across all data items of the communication device. In one 6 implementation, the global search can include search on installed applications, data corresponding to the applications, settings and other configurable features of the communication device. The results of such a search may include a list of data items that match the input. Further, at least one of the matched data items may be associated with a trigger to perform an action corresponding to the at least one matched data item. The search result presented would thus include the matched data items and the associated triggers for the corresponding matched data items. Accordingly, the trigger may enable the user to directly perform an action on the application associated with the data item from the list of search results.
[0020] In accordance with the present embodiment, to retrieve the data, a user may provide a command as an input in a search tool in a graphical user interface (GUI) of the communication device. The user may provide the input either as a complete command or a partial command. In case the user has provided a partial command, the communication device may provide suggestions to the user to complete the command. In this respect, commands having text similar to input text may be suggested to the user for completion. In the present embodiment, the user may either accept the suggestions to complete the command or may proceed with the partial command.
[0021] Further, as the user provides the input in the GUI, the set of matching data items is generated. The set of matching data items may include data items selected from text messages, contact names, calendar appointments, applications, device settings, and the like. Accordingly, the search conducted as per the present subject matter includes all categories of the communication device including short service messages, chat, notes, e-mail, media files, device settings, and installed applications. Considering a case when the user has provided a partial command, the set of matching data items may include all data items of the communication device that satisfy the partial command. For example, if the user provides an input as “Man”, the list of search results will include all data items that include “Man”, such as contact name 'Manish' and 'Application Manager'. Thus, the applications and data items within the applications will both find place in the set of matching data items. Accordingly, the present subject matter facilitates the users to proceed with the search even when a partial command is provided.
[0022] In an implementation, the set of matching data items may also include those data items that are contextually similar to the input provided by the user. For example, if the user 7 provides an input as Internet, data items related to Internet, such as web browser and Wi-Fi connectivity may be listed in the search results. In the present implementation, each of the plurality of data items stored in the communication device may include pre-defined tags. A predefined tag may be understood as a label that may provide a description of the data item. The pre-defined tags may enable the data items to be accessed through more than one command based on a comparison of the input with the tagged labels. The tags may associate additional terms or labels that are generally used to describe the data item. For example, S-planner application of the communication device may be accessed by a user by searching for calendar. The users do not have to remember a particular term for searching content within the communication device. The pre-defined tags may therefore enable the communication device to retrieve the data based on context of the input and increase the accuracy of the retrieved data items.
[0023] In another implementation, the set of matched data items may include at least one matched data item having one or more triggers to perform an action in an application associated with the at least one matched data item. The trigger may be understood as an interactive UI component linked with the at least one matched data item. As mentioned above, the trigger may act as a means for performing actions directly from the list of matching data items. In an example, if the list of matching data items include a contact name, the user may take an action, such as placing a call or sending a message, on the contact name from the list itself and need not invoke the contacts folder. In another example, if the search result includes a phone setting, such as Wi-Fi connectivity, the user may change the setting from the list, such as by enabling or disabling the setting.
[0024] Further, the user may be provided with an option of searching for the input on the Internet. If the user wishes to proceed with the Internet search, the user may click on an icon for web search provided in the search list and the results may be displayed to the user. Accordingly, the present subject matter provides a single interface to conduct all types of searches, i.e., either locally or over the web. The users therefore do not have to launch a separate browser to search the command on the Internet.
[0025] In yet another implementation, the present subject matter facilitates the users to modify the search by defining a scope of the search. For example, the user may select from a set 8 of categories from a list of categories on which the search is to be performed. In absence of any such modifications by the user, the search may be conducted for all categories of data items on the communication device. Further, the present subject matter takes into consideration data stored in sub-levels of various applications. Considering an example where the user has provided input as “Note”. The search results may mention all data items related to Notes, such as Keep, Memo, and Evernote that may be installed in the communication device as well as also check for similar results within the application.
[0026] In another implementation, the present subject matter maintains a search log of the commands provided by the user. When the user conducts a search in the GUI, a list of matched data items is provided to the user. The user may invoke an application of interest from the matching data items to perform an action thereupon. Based on user’s activation of the application, the present subject matter may determine that the commands are more relevant to a particular application. The present subject matter may maintain a log of the searches and actions performed by the user in a database. The search log may include the commands and the associated application. Next time the user attempts to perform a search on the communication device, the present subject matter may provide the log of historical searches conducted by the user. This may facilitate the user to select an old search and re-run the same. Accordingly, the present subject enables the user to provide quick commands by saving time in providing the input. In addition, based on the log of historical searches and associated applications, the present subject matter may determine how often the user has provided same input to access a particular application. Based on the determination, the tags may be updated and the new term may be added as a label.
[0027] Accordingly, the present subject matter facilitates the user to search for data items within a communication device. The users do not have to remember syntaxes or commands for conducting the search instead the present subject matter facilitates the users to provide the commands either partially or completely to carry out the search in the communication device. The present subject matter generates a list of search results based on context matching, thereby including those data items that may have contextually similar names. Further, the list of search results obtained from the communication device may include actionable results. The actionable results will include interactive UIs associated therewith and thus facilitating the users to directly perform action on the results from the list. The present subject matter also provides the user with 9 an option of conducting search on the Internet without navigating to a new landing page. Furthermore, the present subject matter enables the users to modify the searches by varying scope of search. The user may select specific categories of the communication device, in which the user wishes to run the search. In addition, the present subject matter facilitates in maintaining a log of historical searches conducted by the user. This log may help the user to modify and rerun an old search thereby saving upon the time spent in typing the command.
[0028] It should be noted that the description merely illustrates the principles of the present subject matter. It will thus be appreciated that various arrangements may also be employed that, although not explicitly described herein, embody the principles of the present subject matter and are included within its spirit and scope. Furthermore, all examples recited herein are principally intended expressly to be only for explanation purposes to aid the reader in understanding the principles of the present subject matter, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the present subject matter, as well as specific examples thereof, are intended to encompass equivalents thereof. The manner in which the methods shall be implemented onto various systems has been explained in details with respect to the Figures 1-3. While aspects of described systems and methods can be implemented in any number of different computing systems, transmission environments, and/or configurations, the embodiments are described in the context of the following system(s).
[0029] Figure 1 illustrates the exemplary components of a communication device 102, in accordance with an embodiment of the present subject matter. In one embodiment, the communication device 102 facilitates the user to retrieve data from the communication device 102. The communication device 102 may be implemented as various computing devices, such as a mobile phone, a smart phone, a personal digital assistant, a digital diary, a tablet, a net-book, a laptop computer, and the like. In one implementation, the communication device 102 includes one or more processor(s) 104, I/O interface(s) 106, and a memory 108 coupled to the processor(s) 104. The processor(s) 104 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor(s) 104 is configured to fetch and execute computer-readable instructions stored in a memory. 10
[0030] The I/O interface(s) 106 may include a variety of software and hardware interfaces, for example, interfaces for peripheral device(s), such as a keyboard, a mouse, and an external memory. Further, the I/O interface 106 may facilitate multiple communications within a wide variety of protocol types including, operating system to application communication, inter process communication, etc. In an implementation, the I/O interface 106 may be a command-line interface for facilitating users to provide command strings using the keyboard. In another implementation, the I/O interface 106 may be a natural language interface to provide recommendations to the users.
[0031] The memory 108 can include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes.
[0032] Further, the communication device 102 may include module(s) 110 and data 112. The modules 110 and the data 112 may be coupled to the processor(s) 104. The modules 110, amongst other things, include routines, programs, objects, components, data structures, etc., which perform particular tasks or implement particular abstract data types. The modules 110 may also be implemented as, signal processor(s), state machine(s), logic circuitries, and/or any other device or component that manipulate signals based on operational instructions. In another aspect of the present subject matter, the modules 110 may be computer-readable instructions which, when executed by a processor/processing unit, perform any of the described functionalities. The machine-readable instructions may be stored on an electronic memory device, hard disk, optical disk or other machine-readable storage medium or non-transitory medium. In one implementation, the computer-readable instructions can be also be downloaded to a storage medium via a network connection.
[0033] In an implementation, the module(s) 110 includes an input module 114, a determination module 116, a retrieval module 118, and other module(s) 120. The other module(s) 120 may include programs or coded instructions that supplement applications or functions performed by the communication device 102. The data 112 includes input data 122, contextual data 124, historical data 126, and other data 128. The other data 128 amongst other 11 things, may serve as a repository for storing data that is processed, received, or generated as a result of the execution of one or more modules in the module(s) 110. Although the data 112 is shown internal to the communication device 102, it may be understood that the data 112 can reside in an external repository (not shown in the figure), which may be coupled to the communication device 102. The communication device 102 may communicate with the external repository through the I/O interface(s) 106 to obtain information from the data 112.
[0034] As previously described, the communication device 102 may enable a user to conduct a global search on the communication device 102 for retrieving data based on an input provided by the user. The data may include a plurality of data items that may be stored under different categories in the communication device 102. A data item may be understood as a piece of information that may be stored in the communication device 102. Examples of the categories may include installed applications, files, folders, contacts, messages, media files, and settings, deployed on the communication device 102. In an implementation, the data may be stored in an internal memory, such as the memory 108 of the communication device 102 as well as in an external memory, such as a flash card, integrated with the communication device 102. The user may conduct a search on the data to retrieve one or more data items of interest from the communication device 102.
[0035] In an implementation, the user may launch a search application in the communication device 102. The user may launch the application on the communication device 102 by tapping on an application icon or a widget, sliding on a screen of the communication device 102, pressing a button, and the like. While the search application is loading on the communication device 102, the user may view a splash screen on the communication device 102. A splash screen is understood as introduction page that may be displayed to notify the user that the search application is in the process of loading. In an implementation, if the user is launching the search application for the first time a help menu may be provided to the user to facilitate the user in conducting a search on the communication device 102 through the search application. For example, the help menu may provide a tutorial to the user for performing the search. Further, the user may be provided with an option of skipping the help menu and directly proceeding with the search on the communication device 102. Accordingly, the user may enter the input in an input field provided by the search application. 12
[0036] In the present implementation, the input module 114 may receive an input from the user. The input may be understood as a keyword or command based on which the search may be conducted on the plurality of data items. In an implementation, the command may be a partial command or a complete command. In case of a partial command, the input module 114 may facilitate the user to complete the partial command by providing suggestions to the user. For example, an input may be understood as a partial command when the text provided by the user does not form a word but may be completed to form a complete word. If the user inputs three characters, the input module 114 may suggest those commands to the user that start with those three characters. The input module 114 may store the commands provided by the user as input data 122. Further, the communication device 102 provides a common interface to the user for searching all types of data stored therein. It will be evident that the user may enter the input by using the I/O interface 106. In addition, the user may define a scope of search in the communication device 102. The scope of the search may be understood as the categories in which the input will be searched. In this respect, the input module 114 enables the user to select the categories in the communication device 102. For example, the user may exclude contacts and device settings, thereby narrowing the scope of the search. If the user does not specify any particular categories in the communication device 102, the search will be conducted across all data items based on the default settings.
[0037] In an implementation, upon receiving the input (command and scope), the determination module 116 identifies a set of matching data items from the plurality of data items in the communication device 102. The determination module 116 may be configured to dynamically search the plurality of data items, i.e., as the user enters one character, the determination module 116 may identify the matching data items in the communication device 102. These matching data items may be stored in a cache memory, such as the memory 106, of the communication device 102. Subsequently, as the user adds more characters to complete the command, the determination module 116 may dynamically refine the list of matching data items. The communication device 102 may thereby provide progressive searching functionality to the user.
[0038] In another implementation, the determination module 116 may search for data items based on a text length of the input. Further, for every length of text, a scope of search is defined. For example, when no input is provided, a text length of the input is equal to 0, the 13 determination module 116 may provide the help menu to the user to facilitate the user in initiating the search. In another example, when the text length is equal to 1, i.e., when the user has entered one character as input, the determination module 116 may search two categories, such as all installed application and device settings, of the communication device 102. Considering another example, when the text length is equal to 2, the determination module 116 may expand the scope of the search and include Contacts, Calendar Events, and Calendar Task applications, in addition to installed application and device settings. Furthermore, when the text length is equal to 3, the determination module 116 may include Messaging, My Files, Defined actions, and commands in the scope of search.
[0039] Further, the determination module 116 may perform text matching as well as semantic search on the plurality of data items to identify the set of matching data items. To conduct the text matching search, the determination module 116 may recognize the text of the input and search for the same text in the plurality of data items. The data items that include the same text as that of the input, the determination module 116 may identify those data items as matched. Further, the semantic search may include determining a context or intent of the input and searching for similar context in the plurality of data items. The semantic search seeks to enhance search accuracy by understanding intent of the user and the contextual meaning of the commands as they appear in the communication device 102.
[0040] In an implementation, the plurality of data items in the communication device may be associated with one or more pre-defined tags. A tag may be understood as a label or a term that may be assigned to each of the data item. The tags may include metadata that describes the data item. For example, the tags may include those terms that may be used as a synonym to the data item. Therefore, an S-planner application in the communication device 102 may be tagged with a similar term "Calendar". Accordingly, when the user inputs the term calendar as a command, the determination module 116 may provide S-planner as a matching data item. The determination module 116 may store the semantically related data items as the contextual data 124 in the communication device 102.
[0041] In another implementation, the determination module 116 may be configured with a learning mechanism. In this respect, the determination module 116 may maintain a file of the commands that may be provided by the user as the input. Further, the file may also include the 14 data item that the user has accessed based on those commands. If the frequency of searching that data item with same set of commands is high, the learning mechanism may associate those commands with the data item as tags. Further, the determination module 116 may be configured to check for content or data stored within multiple layers of the applications or programs installed on the communication device 102. In other words, based on the input, the determination module 116 may check for sub-menu options of an application to identify a matching result. For example, the determination module 116 may check device settings to retrieve matching data items. If the user provides "lock" as input, the determination module 116 may provide "screen lock" as a matching result from within the 'security setting'. The communication device 102 therefore ensures that all relevant results are provided to the user.
[0042] Once the set of matching data items is identified, the retrieval module 118 may retrieve the set of matching data items from the cache memory of the communication device 102. The retrieval module 118 may thereafter generate a list of the matched data items for being provided to the user. In an implementation, at least one of the matched data items listed by the retrieval module 118 may include one or more triggers to perform an action corresponding to the at least one matched data item. The one or more triggers facilitate the user to initiate an action on the at least one data item from the list itself. In an implementation, the trigger may be used for toggling between settings of various applications that may be installed on the communication device 102. For example, if the results include list of services, such as Bluetooth® and Wi-Fi, based on the trigger, the user may activate or deactivate Bluetooth® facility in the communication device 102. In another implementation, the trigger may be used for performing an action associated with the at least one data item. For example, if the results include contact names, the trigger will facilitate the user to call the contact, send a message to the contact, and the like. The triggers will be displayed along with matched data items thereby facilitating the users to quickly take actions accordingly.
[0043] Further, the retrieval module 118 of the communication device 102 may facilitate the user to search for the input on the Internet. In an implementation, along with the list of matched data items, the retrieval module 118 provides an icon for initiating the Internet search for the command provided by the user. In another implementation, if the searched command does not fetch any result from the communication device 102, the retrieval module 118 enables to conduct a web search for the same command. 15
[0044] In addition, once the list of matched data items is provided to the user, along with the corresponding triggers, where applicable, the retrieval module 118 may track the searches performed by the user. In an implementation, the retrieval module 118 may maintain a search log in the communication device 102. The search log includes a record of historical searches conducted by the user. The retrieval module 118 may provide the search log to the user every time the user attempts to perform a search on the communication device 102. This may enable the user to execute recently performed tasks without searching for the data items. In an implementation, the search log may be stored internally to the communication device 102. In an alternative implementation, the search log may be stored in an external repository (not shown in the figure), which may be coupled to the communication device 102. The retrieval module 118 may store the search log as the historical data 126 in the communication device 102.
[0045] Accordingly, the communication device 102 facilitates the users to retrieve data associated with a plurality of data items stored within the communication device 102. The communication device 102 enables to users to provide the commands either partially or completely to carry out the search. Further, the communication device 102 generates a list of matching search results based on text matching and semantic matching, thereby including those data items that may have contextually similar data. Furthermore, the at least one of the matching data items, obtained from the communication device 102, may include triggers. triggers may facilitate the users to directly perform actions on the applications associated with the matching data items. The communication device 102 also provides the user with an option of conducting search on the Internet without opening a new window. In addition, the communication device 102 may maintain a search log of historical searches conducted by the user. The search log enables the users to re-run any recently executed search without re-typing the same.
[0046] Figure 2(a) illustrate a snapshot 200-1 depicting a help menu provided by the communication device 102, according to an embodiment of the present subject matter. The input module 114 may provide the snapshot 200-1 upon identifying that the user is performing the search for the first time. The snapshot 200-1 may include examples for the user to conduct a search, such as searching for a command over the Internet. In addition, the snapshot 200-1 may provide tips for the user, such as tips for launching the search application and tips for searching for a particular type of document. 16
[0047] Referring to figures 2(b) & 2(c), snapshots 200-2 and 200-3 depict options for customizing a scope of search in the communication device 102, according to an embodiment of the present subject matter. The snapshot 200-2 may provide a list of all features and settings to the user to customize the search application. Further, the snapshot 200-3 depicts the settings based on which the user may modify the scope of the search. The input module 114 may provide the user with a screen as depicted in the snapshot 200-3. Accordingly, the user may check/uncheck the categories in which the user would like to conduct the search.
[0048] Figures 2(d)-2(h) illustrate snapshots 200-4, 200-5, 200-6, 200-7, and 200-8 depict matched data items retrieved from the communication device 102, according an embodiment of the present subject matter. As may be seen from figure 2(d), the user may provide an input, either completely or partially, in an input field 202 of the search application. As the user adds characters to the text in the input, the input module 114 may dynamically search for the text across all data items of the communication device 102. In an implementation, the matched data items are ordered in a bottom to top manner.
[0049] Referring to Figure 2(e), the input module 114 may receive a complete command as 'settings', based on which a set of matching data items is identified by the determination module 116 of the communication device 102. Thereafter, the retrieval module 118 may generate a list 204 of the matching data items and provide the same to the user. As may be seen, the list 204 may include data items, such as 'web search settings' and 'settings' that have similar text as that provided by the user. In addition, the list 204 may include data items, such as 'auto rotate', 'Bluetooth', and 'Airplane Mode' that do not include similar text but these data items needs to be adjusted, such as activated or deactivated, by the user. Therefore, these data items may be considered as conceptually similar to the input provided by the user and therefore are identified by the determination module 116. Further, the snapshot 200-5 may include triggers 206 along with the data items. In the present figure, the trigger 206 facilitates the user to toggle a mode of the application associated with the data item, from the list 204 itself. The user may swipe the trigger 206 displayed in front of the 'Auto Rotate' data item to deactivate the auto-rotate feature of the communication device 102.
[0050] Referring to Figure 2(f), the input module 114 may receive a partial command as 'Man', based on which a set of matching data items is identified by the determination module 116 17 of the communication device 102. Thereafter, the retrieval module 118 may generate a list of the matching data items and provide the same to the user. As may be seen, the list may include data items, such as 'Manoj', 'Manish', and 'SIM Card Manager' having similar text as that provided by the user. Further, the snapshot 200-6 displays triggers 206 along with the data items. In the present figure, the trigger 206 facilitates the user to perform an action, such as call or send a message, to the contact name 'Manish' or 'Manoj'. Accordingly, the user may perform an action corresponding to the listed data item from the list without navigating to another page or screen of the communication device 102. Also, as may be seen from Figures 2(d) & 2(h), a web search option is provided to the user to facilitate the user to perform a web search from the same page. The web search may be initiated by an icon 208 or by tapping on the web search option 208 as provided by the communication device 102.
[0051] Figure 2(g) illustrates the snapshot 200-7 depicting the list of matched data items for an input. When the user enters "call" as an input, a list of matched data items (textually and semantically) is provided to the user. Further, referring to Fig. 2(h), the snapshot 200-8 indicates a voice based search facility provided by the search application. The search application may be configured to conduct search based on speech recognition. The input module 114 may facilitate the user to provide a voice based command to the search application by using the keyboard of the communication device 102. Further, the contact details when included in the list of matched data items may provide details, such as phone numbers.
[0052] Referring to Figure 2(i) a snapshot 200-9 depicts a search log provided by the communication device 102, according to an embodiment of the present subject matter. The input module 114 may provide the search log to the user when the initiates the search application on the communication device 102. The search log may include a record of historical searches that may be performed by the user.
[0053] In an implementation, when the user may click on a trigger, such as a call or a message icon, for performing an action, such as making a call or sending a message, a request may be sent to an operating system for handling the action using an application programming interface (API) of the operating system, such as Android. In another implementation, when the user changes any setting by using the trigger, such as for switching (ON/OFF, enable/disable, 18 activate/deactivate) states of applications, a request may be sent to the operating system API using general API of the operating system, such as Android.
[0054] Figure 3 illustrates a method 300 for retrieving data in a communication device, according to an embodiment of the present subject matter. The order in which the method 300 is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method, or any alternative methods. Additionally, individual blocks may be deleted from the method without departing from the spirit and scope of the subject matter described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combination thereof.
[0055] The method may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types. The method may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
[0056] A person skilled in the art will readily recognize that steps of the method 300 can be performed by programmed computers and communication devices. Herein, some embodiments are also intended to cover program storage devices, for example, digital data storage media, which are machine or computer readable and encode machine-executable or computer-executable programs of instructions, where said instructions perform some or all of the steps of the described method. The program storage devices may be, for example, digital memories, magnetic storage media, such as a magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media. The embodiments are also intended to cover both communication network and communication devices configured to perform said steps of the exemplary method.
[0057] At block 302, the method 300 may include receiving input from a user. In an implementation, the input module 114 may receive the input from the user. The input may be 19 indicative of a command provided by the user for conducting a search on a plurality of data items that may be stored within the communication device 102.
[0058] At block 304, the method 300 may include determining a scope of search to be performed in the communication device 102. In an implementation, the input module 114 may determine the scope of the search. In another implementation, the user may modify the scope of the search by removing some applications or programs from the default settings.
[0059] At block 306, the method 300 may include identifying a set of matching data items from the plurality of data items based on the input. In an implementation, the determination module 116 may identify the set of matching data items. The determination module 116 may identify the matching data items based on text matching and semantic matching.
[0060] Further, at block 308, the method 300 may include retrieving the set of matching data items from the communication device 102, based on the identification. In an implementation, the retrieval module 118 may retrieve the set of matching data items.
[0061] At block 310, the method 300 may include generating a list of each of the matching data items. In an implementation, the retrieval module 118 may generate the list of matching data items.
[0062] At block 312, the method 300 may include providing the list to the user. In an implementation, the retrieval module 118 may provide the list to the user. Further, at least one matched data item may include one or more triggers to perform an action corresponding to the at least one matched data item.
[0063] At block 314, the method 300 may include maintaining a search log in the communication device 102. In an implementation, the retrieval module 118 may maintain the search log. The search log may contain a record of historical searches conducted by the user.
[0064] Although embodiments for methods and systems for the present subject matter have been described in a language specific to structural features and/or methods, it is to be understood that the present subject matter is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as exemplary embodiments for the present subject matter. 20 I/We claim: 1. A method for retrieving data from a communication device (102), the method comprising: receiving, by a processor (104), input from a user, wherein the input is indicative of a command provided by the user for conducting a search on a plurality of data items stored under multiple categories in the communication device (102); identifying, by the processor (104), a set of matching data items from the plurality of data items based on the input; based on the identification, retrieving, by the processor (104), the set of matching data items from the communication device (102); and generating, by the processor (104), a list of the matching data items in the set of matching data items, wherein, at least one of the matched data items is associated with one or more triggers (206) to perform an action corresponding to the at least one matched data item; and providing the list of the matching data items along with the one or more triggers (206). 2. The method as claimed in claim 1 further comprising maintaining, by the processor (104), a search log in the communication device (102), wherein the search log contains a record of historical searches conducted by the user. 3. The method as claimed in claim 1 further comprising identifying, by the processor (104), a scope of the search based on the input. 4. The method as claimed in claim 3, wherein the scope of the search is customizable by the user. 5. The method as claimed in claim 1, wherein the input is one of a partial command and a complete command. 21 6. The method as claimed in claim 1, wherein the identifying comprises indexing the set of matching data items in a memory (108) of the communication device (102). 7. The method as claimed in claim 1, wherein the set of matching data items includes data items that are textually and semantically related to the input. 8. The method as claimed in claim 7, wherein the semantically related data items are determined based on one or more pre-defined tags associated with each of the data items. 9. The method as claimed in claim 1 further comprising providing a web search option to the user for searching the input on the Internet. 10. A communication device (102) comprising: a processor (104); an input module (114), coupled to the processor (104), to receive input from a user, wherein the input is indicative of a command provided by the user for conducting a search on a plurality of data items stored under multiple categories in the communication device (102); a determination module (116), coupled to the processor (104), to, identify a set of matching data items from the plurality of data items based on the input; and a retrieval module (118), coupled to the processor (104), to retrieve the set of matching data items from the communication device (102); and generate a list of the matching data items in the set of matching data items, wherein at least one of the matched data items is associated with one or more triggers (206) to perform an action corresponding to the at least one matched data item; and provide the list of the matching data items along with the one or more triggers (206). 22 11. The communication device (102) as claimed in claim 10, wherein the input is one of a partial command and a complete command. 12. The communication device (102) as claimed in claim 10, wherein the determination module (114) further identifies a scope of the search based on the input. 13. The communication device (102) as claimed in claim 12, wherein the scope of the search is customizable by the user. 14. The communication device (102) as claimed in claim 10, wherein the set of matching data items includes data items that are textually and semantically related to the input 15. The communication device (102) as claimed in claim 14, wherein the determination module (116) identifies semantically related data items based on one or more pre-defined tags associated with each of the data items. 16. The communication device (102) as claimed in claim 10, wherein the retrieval module (118) further maintains a search log in the communication device (102), wherein the search log contains a record of historical searches conducted by the user. 17. The communication device (102) as claimed in claim 10, wherein the retrieval module (118) further provides a web search option to the user for searching the input on the Internet.