Abstract: 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).
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.
| # | Name | Date |
|---|---|---|
| 1 | 3019-DEL-2013-IntimationOfGrant22-07-2022.pdf | 2022-07-22 |
| 1 | SPEC .pdf | 2013-10-18 |
| 2 | 3019-DEL-2013-PatentCertificate22-07-2022.pdf | 2022-07-22 |
| 2 | SAMSUNG INDIA ELECTRONICS PVT LTD_GPOA.pdf | 2013-10-18 |
| 3 | FORM 5.pdf | 2013-10-18 |
| 3 | 3019-DEL-2013-Written submissions and relevant documents [17-06-2022(online)].pdf | 2022-06-17 |
| 4 | FORM 3.pdf | 2013-10-18 |
| 4 | 3019-DEL-2013-Correspondence to notify the Controller [09-06-2022(online)].pdf | 2022-06-09 |
| 5 | FIG.pdf | 2013-10-18 |
| 5 | 3019-DEL-2013-FORM-26 [09-06-2022(online)].pdf | 2022-06-09 |
| 6 | 3019-DEL-2013-US(14)-HearingNotice-(HearingDate-10-06-2022).pdf | 2022-05-13 |
| 6 | 3019-del-2013-Correspondence Others-(28-10-2013).pdf | 2013-10-28 |
| 7 | 3019-DEL-2013-RELEVANT DOCUMENTS [08-05-2018(online)].pdf | 2018-05-08 |
| 7 | 3019-DEL-2013-Correspondence-101019.pdf | 2019-10-14 |
| 8 | 3019-DEL-2013-OTHERS-101019.pdf | 2019-10-14 |
| 8 | 3019-DEL-2013-Changing Name-Nationality-Address For Service [08-05-2018(online)].pdf | 2018-05-08 |
| 9 | 3019-DEL-2013-8(i)-Substitution-Change Of Applicant - Form 6 [18-09-2019(online)].pdf | 2019-09-18 |
| 9 | 3019-DEL-2013-AMENDED DOCUMENTS [08-05-2018(online)].pdf | 2018-05-08 |
| 10 | 3019-DEL-2013-ASSIGNMENT DOCUMENTS [18-09-2019(online)].pdf | 2019-09-18 |
| 10 | 3019-DEL-2013-FER.pdf | 2018-06-22 |
| 11 | 3019-del-2013-OTHERS [13-11-2018(online)].pdf | 2018-11-13 |
| 11 | 3019-DEL-2013-PA [18-09-2019(online)].pdf | 2019-09-18 |
| 12 | 3019-del-2013-CLAIMS [13-11-2018(online)].pdf | 2018-11-13 |
| 12 | 3019-del-2013-FER_SER_REPLY [13-11-2018(online)].pdf | 2018-11-13 |
| 13 | 3019-del-2013-COMPLETE SPECIFICATION [13-11-2018(online)].pdf | 2018-11-13 |
| 14 | 3019-del-2013-CLAIMS [13-11-2018(online)].pdf | 2018-11-13 |
| 14 | 3019-del-2013-FER_SER_REPLY [13-11-2018(online)].pdf | 2018-11-13 |
| 15 | 3019-del-2013-OTHERS [13-11-2018(online)].pdf | 2018-11-13 |
| 15 | 3019-DEL-2013-PA [18-09-2019(online)].pdf | 2019-09-18 |
| 16 | 3019-DEL-2013-ASSIGNMENT DOCUMENTS [18-09-2019(online)].pdf | 2019-09-18 |
| 16 | 3019-DEL-2013-FER.pdf | 2018-06-22 |
| 17 | 3019-DEL-2013-AMENDED DOCUMENTS [08-05-2018(online)].pdf | 2018-05-08 |
| 17 | 3019-DEL-2013-8(i)-Substitution-Change Of Applicant - Form 6 [18-09-2019(online)].pdf | 2019-09-18 |
| 18 | 3019-DEL-2013-Changing Name-Nationality-Address For Service [08-05-2018(online)].pdf | 2018-05-08 |
| 18 | 3019-DEL-2013-OTHERS-101019.pdf | 2019-10-14 |
| 19 | 3019-DEL-2013-RELEVANT DOCUMENTS [08-05-2018(online)].pdf | 2018-05-08 |
| 19 | 3019-DEL-2013-Correspondence-101019.pdf | 2019-10-14 |
| 20 | 3019-DEL-2013-US(14)-HearingNotice-(HearingDate-10-06-2022).pdf | 2022-05-13 |
| 20 | 3019-del-2013-Correspondence Others-(28-10-2013).pdf | 2013-10-28 |
| 21 | FIG.pdf | 2013-10-18 |
| 21 | 3019-DEL-2013-FORM-26 [09-06-2022(online)].pdf | 2022-06-09 |
| 22 | FORM 3.pdf | 2013-10-18 |
| 22 | 3019-DEL-2013-Correspondence to notify the Controller [09-06-2022(online)].pdf | 2022-06-09 |
| 23 | FORM 5.pdf | 2013-10-18 |
| 23 | 3019-DEL-2013-Written submissions and relevant documents [17-06-2022(online)].pdf | 2022-06-17 |
| 24 | SAMSUNG INDIA ELECTRONICS PVT LTD_GPOA.pdf | 2013-10-18 |
| 24 | 3019-DEL-2013-PatentCertificate22-07-2022.pdf | 2022-07-22 |
| 25 | 3019-DEL-2013-IntimationOfGrant22-07-2022.pdf | 2022-07-22 |
| 25 | SPEC .pdf | 2013-10-18 |
| 1 | Searchstrategy_21-06-2018.pdf |