ELECTRONIC DEVICE AND METHODS OF SEARCHING AN INPUT CHARACTER STRING IN A DATABASE
Field of the Invention 5 The present invention relates to an electronic device with a user interface and a method by which a database held on an electronic device may be generated and interactively and intuitively used by an end user. The 10 invention is applicable to, but not limited to, application of a character matching process in a readily customisable manner in a computing or communication device .
15 Background of the Invention
Many modern day electronic products have some form of user interface (UI) . In particular, in computing and communication devices, the user interface often 20 incorporates a Λdisplay' that is typically configured to present a large and varied amount of information to a user of the device. In such electronic devices, the user interface is connected to one or more memory elements that often contain a database. 25 A substantial amount of development effort in designing such electronic devices is targeted towards making it easier for a user to access and use such a database. For example, an electronic device is typically designed to 30 provide a natural and intuitive database searching operation to a user. This is specifically the case in the context of a mass-market product intended for
P382 PCT spec vfinal.doc 14/03/2005
personal use, such as a computer or communication device containing contact-related information .
The inventor of the present invention has recognised and appreciated that today's user interfaces, particularly those user interfaces of computer or communication devices, have limitations in enabling a user to easily retrieve information from a persistent data store (database) . Such databases either require a significant investment of user effort in learning a searching/matching query protocol or language or they are very restricted and limited in the query functionality provided. Thus, known record searching/matching algorithms do not provide users with quick and easy access to stored information such as contact information.
Within the field of text messaging in mobile phones, the concept of predictive texting is known. In this regard, a dictionary look-up feature is used to predict a desired word to be sent within a- message, based on one or more characters from an input data string being entered into the phone by the user. As a user enters more characters, by pressing more keys, the dictionary look-up feature is able to refine the searching/matching process and more accurately predict the desired word. Notably, such an approach to accessing the dictionary look-up table is heuristically constrained, in that it is based on the stored data content in the database.
A need has therefore arisen for an improved electronic device with a user interface and a memory element containing user accessible information, wherein the
P382 PCT spec vfinal.doc 14/03/2005
abovementioned disadvantages associated with known database searching/matching techniques may be alleviated.
Statement of Invention
In accordance with a first aspect of the present invention, there is provided an electronic device. The electronic device comprises a memory element, which stores related content information, for example user contact information, as a plurality of data records having a plurality of data fields . The memory element is operably coupled to a processor that applies a matching algorithm that compares an input string to a plurality of the data ields to identify one or more data records .
In this manner, the searching/querying of a database on an electronic device, such as a computer or communication device, for example to obtain contact information, is much more accurate and interactive, since only the most relevant fields for each data record are searched. The association of each data record to appropriate data field (s) to be matched within the database enables the user to more readily match input characters across a variety of data fields as well as more rapidly identify a record in the database for a particular data record. This directly increases the utility of the device and therefore improves user satisfaction.
In accordance with a second aspect of the present invention, there is provided a method of generating a matchable database of information in an electronic device, for example a database that comprises user contact information. The method comprises the step of
P382 PCT spec vfinal.doc 14/03/2005
associating on a per data record basis data fields to be matched against an input character string by a matching algorithm.
In this manner, a database of an electronic device such as a computer or communication device can be generated to enable a user to more readily obtain information, such as contact information, therefrom.
In accordance with a third aspect of the present invention, there is provided a method of matching one or more characters of an input data string to one or more data items in a database, for example a database of contact information, in an electronic device. The method comprises the steps of accessing a database-matching mode; and pressing, by a user, a key on a user interface of the electronic device thereby identifying one or more input characters relating to a contact to be matched. The method further comprises the steps of running a matching algorithm that matches one or more input characters, relating to each depressed key, against a selected data field within a data record; and identifying one or more matches between the one or more input character (s) and one or more data records.
In accordance with a fourth aspect of the present invention, there is provided a method of matching an input character string to one or more data records located in a plurality of data fields of a database of contact information in an electronic device. The method comprises the steps of accessing a database-matching mode; and pressing, by a user, a key on a user interface of the electronic device thereby identifying one or more
P382 PCT spec vfinal.doc 14/03/2005
input characters relating to a contact to be matched. The method further comprises the steps of running a matching algorithm that matches one or more input characters, relating to each depressed key, against a plurality of, preferably selected, data fields; and identifying one or more matches between the one or more input character (s) and one or more data records.
In this manner, a user can access a database of an electronic device such as a computer or communication device more easily in order to obtain contact information, as information entered via a particular key will be matched against a number of records across a plurality of matchable fields/groups .
Preferably, groups of contact-related data records can be generated and a matching algorithm performed for matching one or more characters from an input data string across a number of fields based on the matchable fields configured for that group.
Further aspects and advantageous features of the present invention are as described in the appended Claims .
Brief Description of the Drawings
Exemplary embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
FIG . 1 illustrates a block diagram of a wireless communication unit, adapted to support the inventive
P382 PCT spec vfinal.doc 14/03/2005
concepts of the preferred embodiments of the present invention;
FIG. 2 illustrates a flowchart of a process for generating a database of information and thereafter matching input characters against records in the database in accordance with the preferred embodiment of the present invention; and
FIG. 3 illustrates a process for conceptually matching criteria in the database of an electronic device in accordance with the preferred embodiment of the present invention.
Description of Preferred Embodiments
Referring now to FIG. 1, there is shown a simplified block diagram of a wireless communication unit 100 adapted to support the inventive concepts of the preferred embodiments of the present invention. The wireless communication unit 100 contains a range of radio frequency circuits and elements, which are described briefly for completeness. An antenna 102 is preferably coupled to a duplex filter or antenna switch 104 that provides isolation between receive and transmit chains within the communication unit 100. The receiver chain, as known in the art, includes receiver front-end circuitry 106 (effectively providing reception, filtering and intermediate or base-band frequency conversion of received signals) serially coupled to a signal processing function 108. An output from the signal processing function 108 is operably coupled to a user interface 110. The user interface 110 comprises one or more output
P382 PCT spec vfinal.doc 14/03/2005
devices, such as a screen or flat panel display or loudspeaker and one or more input devices, such as a keypad or keyboard or a microphone.
The wireless communication unit 100 comprises a controller 114 that is also coupled to the receiver front-end circuitry 106 and the signal processing function 108 (generally realised by a digital signal processor (DSP) ) , for maintaining overall communication unit control. The controller is also coupled to a memory element 116 that stores operating regimes, such as decoding/encoding functions, data, application code and the like. The memory element 116, which comprises a database of user information 117, is also operably coupled to the signal processing function 108 via a communication medium 113. A timer 118 is typically coupled to the controller 114 to control the timing of operations (transmission or reception of time-dependent signals) within the communication unit 100.
As regards the transmit chain, this essentially includes the user interface 110 being operably coupled in series through transmitter/modulation circuitry 122 and a power amplifier 124 to the antenna 102. The transmitter/ modulation circuitry 122 and the power amplifier 124 are operationally responsive to the controller 114.
In accordance with the preferred embodiment of the present invention, a database 117 is incorporated into the memory element 116. The database 117 comprises a variety of, preferably user-entered, data records, for example contact information, comprising a number of specified fields. For example, the database 117 is
P382 PCT spec vfinal.doc 14/03/2005
configured such that each data record in the database 117 has a number of the following fields:
(i) Given name; (ii) Surname; (iii) Home telephone number; (iv) Office telephone number; (v) Mobile telephone number; (vi) Fax telephone number; (vii) A business name; (viii) An address; (ix) Email address; and/or (x) Web URL.
It is envisaged that other fields may also be present, such as bitmaps (i.e. where an input string may be an index of bitmaps/images) or a special requirement, for example where Chinese characters maybe supported. Furthermore, it is envisaged that different matching algorithms may be applied per field.
In particular, each data record has also been configured to include, say, a user defined association, where the association may be viewed in one aspect as a λgroup' . It is envisaged that example groups may include Λfamily' , ^business' , λchat' etc. Advantageously, such groups may be pre-defined upon manufacture of the wireless communication unit 100. Alternatively, or in addition, such groups may be downloadable to the wireless communication unit via its receiver circuitry using, for example, infrared direct access (IrDA) technology, Bluetooth™ (BT) or over-the-air programming.
P382 PCT spec vfinal.doc 14/03/2005
In a yet further and preferred alternative embodiment, the groups may be user-defined. In this regard, it is envisaged that the signal processor 108 comprises a database query application 109. The database query application 109 is coupled 127 to the user interface 110 and, in one aspect, enables the user of the wireless communication unit 100 to enter user-defined association/group names. For example, a user who is a keen sports person may wish to generate his/her personal group of sporting contacts .
In a second aspect of the database query application 109 a user is able to assign an association' to each data record in the database 117, via the user interface 110.
In accordance with the preferred embodiment of the present invention, the database query application 109 allows a user to designate any one or more particular fields as being matchable for data records stored * therein, for subsequent matching against . one or more characters of an input data string. Furthermore, the user is provided with the ability to select those fields that are to be used and/or matched with a given group. For example, the user may choose to set the given name, surname and mobile telephone number as matchable fields in a particular group.
In the context of the present invention, one or more data records associated with one or more particular fields are matched by means of identification, i.e. a value, inasmuch as all records are assigned a particular value.
P382 PCT spec vfinal.doc 14/03/2005
Thus, a user may match an input character string to one or more data fields within a data record of a database of contact information. Preferably, the user accesses a database matching mode; and, say, presses a key on a user interface of the electronic device thereby identifying one or more input characters relating to a contact to be matched. A matching algorithm is then run to match one or more input characters, relating to each depressed key, against a selected data field within a data record. The matching algorithm then identifies one or more matches between the one or more input character (s) and one or more data records. In this manner, an input character is matched across a selected data fields for, say, a single data record.
Alternatively, where one or more data records are located in a plurality of data fields, the matching algorithm may be arranged to match one or more input characters, relating to each depressed key, against a plurality of, preferably selected, data ields . In this manner, the matching algorithm may identify one or more matches between the one or more input character (s) and one or more data records across a plurality of data fields.
Once one or more contact data entries are extracted from the database, the entries that matched the entered key are preferably presented to the user.
In an enhanced embodiment of the present invention, the user assigns the fields that will be involved in a matching process on a per group basis. For example, a Λfamily' group may be associated with matchable fields that differ from those assigned for a business' group.
P382 PCT spec vfinal.doc 14/03/2005
Thus, the user may configure the "•family' group specifying, say, the fields for the given name and surname as the matchable fields, and the business' group specifying, say, the fields for business name and email, as the matchable fields .
Preferably, a matchable field may also be defined as belonging to more than one group, for example a given name, a telephone number, etc. Since, in the preferred embodiment of the present invention, a data record can belong to any of the defined groups, each data record will have been selected and presented to the user according to the matchable fields defined for each group that the data record has been associated with.
In a yet further enhanced embodiment of the present invention, it is envisaged that the processor 108 may employ a learning algorithm to assist a particular user in more rapidly finding the desired match for an input data string. In this regard, the memory element 116 in the wireless communication unit 100 is configured to store history information relating to a user's data string requirements. Thus, after a time, the learning algorithm employed by the processor 108 is able to predict a more likely set of desired matches and thereby speed up the matching process.
More generally, according to the preferred embodiment of the present invention, a mechanism to generate a matchable database and/or an algorithm to perform a database query process may be programmed into a respective device, such as a computer or communication device, in any suitable manner. For example, a new
P382 PCT spec vfinal.doc 14/03/2005
memory element or signal processor may be added to an electronic device. Alternatively, existing parts of an electronic device, such as a wireless communication unit 100, may. be adapted, for example by reprogramming one or more signal processors 108, or uploading data to a memory element 116, therein. As such, the required adaptation may be implemented in the form of processor-implementable instructions stored on a storage medium, such as a floppy disk, hard disk, programmable read only memory (PROM) , random access memory (RAM) or any combination of these or other storage media.
Referring now to FIG. 2, a flowchart 200 illustrates a preferred method for generating a database query process. The process commences at step 205 and a user is preferably provided with the opportunity to define various groups, as shown in step 210. Such generation of one or more groups is preferably performed by the user entering the respective details via the user interface of the electronic device. As mentioned previously, alternatively, or in addition, such groups may also be pre-defined or downloaded to the electronic device.
Next, a user is preferably provided with the opportunity to assign particular fields, of for example contact information, to the specified groups. In this regard, a user assigns contact fields to one or more respective groups, as shown in step 215. For example, a ^family'group may be set up to contain a given name, a surname and a mobile telephone number. These fields, which have been defined by the user, are used in a process to match data records against an input data sequence.
P382 PCT spec vfinal.doc 14/03/2005
Next, when a user wishes to locate certain data records in the database, an input is entered via the user interface. In the context of the preferred embodiment of the present invention, i.e. a mobile phone where some keys perform a multi-character function, a user may input a character by pressing a key on the user interface. For example, a user may press a key that represents one of a 2' or ''a' or b' , or λc' or, indeed, any other character (s) that may be mapped onto that key, as shown in step 225. Thus, on receipt of a digit via the pressing of the particular key, a signal processor of the electronic device that is running the database query application performs a match' of the input digit against any records that contain information in specified fields associated with the selected group, as shown in step 230.
Although the preferred matching process is described with reference to matching data fields in a particular group, it is envisaged that the inventive concepts can be -applied to a ^non-group' scenario, where multiple, and when appropriate all, fields in the data record are used in the matching process.
If one or more data records are found having field entries that match the key entered by the user, in step 235, the signal processor extracts the corresponding data records . The information is then preferably presented to the user via the user interface.
Thus, by way of further explanation, if a Λ2' is entered, then of the contact entries below, the marked ones are listed because the key, Λ2' or λa' or b' or c' matches the first letter or digit of one of the fields. In this
P382 PCT spec vfinal.doc 14/03/2005
example, the fields that have been selected for the group are: given name, surname, and telephone number.
For example : Anne Dickson 1234567 < found 'A'nne. John Andropov 3294095 < found 'A'ndropov. Peter Sellers 5856975409 < not found. Beth Jacobs 2345666 < found 'B' eth and '2' 34566.
If the user desires, (s)he may then refine the matching process by adding a further character in the input data sequence. In this regard, the user may press a second, and further, key(s) to be added to the initial match criteria/data sequence, as shown in step 255. As further keys are entered by the user, the matching process rapidly converges, for example, if the second key was *3' (as well as including ' , e' , f) then the matching algorithm will only result in the contact entry for Beth Jacobs, as illustrated below:
Anne Dickson 1234567 < not found John Andropov 3294095 < not found Peter Sellers 5856975409 < not found. Beth Jacobs 2345666 < found 'Be' th and *23' 4566.
Ultimately, when the user has entered a sufficiently long input string, the user is able to select the desired data record from the data records that contain matched fields, which are presented to the user via the user interface, as shown in step 260.
P382 PCT spec vfinal.doc 14/03/2005
Referring now to FIG. 3, a process 300 for conceptually matching criteria in the database of an electronic device is illustrated, in accordance with the preferred embodiment of the present invention. The process 300 comprises a character 305 (say from a string of characters) being input to the matching algorithm.
In the preferred embodiment of the present invention, a user has previously defined particular groups 310 for which fields are used in identifying data records that match an input data string of characters .
A range of groups is highlighted, in tabular form 320, with each group indicating particular fields that are used for matching the input data string. For example, group a' may indicate business contacts, with field (i) indicating a surname field and field (ii) indicating contact phone numbers . These two fields have been preferably predefined to be used in the matching algorithm upon selection of group Λa' to be used in the matching process 300. The input character is then used in the matching process 300 by matching it to the identified fields in the identified groups . One example of this matching process 300 would be to match the input character 315 against records that have been identified as belonging to groups a' and b' , by a user. This, in turn, indicates that the matching process 300 should match the input character 315 against fields (i) and (ii) for records belonging to group a' and fields (i) , (iii) and (vi) for records belonging to group Λb' .
Hence, for the respective identified group (s), the matching process 300 will extract a number of data
P382 PCT spec vfinal.doc 14/03/2005
records that result in a match' and therefore comply with the algorithm. In the highlighted case, data records (1) to (4) are output 335 from the concatenation of pre-selected groups. These records are output to the UI 340 and presented to the user, for consideration and potential use by the user in, say, initiating a phone call to one of the output records . If a f rther narrowing of the matching algorithm is required, a second character is entered by the user, in a feedback loop operation 345, thereby further refining the process 300. This refining process may then continue, with the number of records presented to the user generally being reduced at a significant rate. In this manner, the character matching process is easier to use and faster than known input character searching methods .
In an enhanced embodiment of the present invention, it is envisaged that a user is provided with the opportunity, via the UI, to select a mode of operation whereby an input character may be matched against one or more characters from anywhere within a field, for example where a field contains email addresses by performing a match against an Λ@' character followed by one or more alphanumeric characters. In this way, data records containing email addresses relating to a specific company can be easily retrieved. By way of an illustration, the email addresses of employees of Sendo International Limited may have the format nameQsendo. com. By entering ■"Θsendo", all data records containing email addresses relating to employees of Sendo International Limited will be matched. It will be appreciated that this may suitably be achieved by entering fewer characters, e.g. w@sen".
P382 PCT spec vfinal.doc 14/03/2005
In a further enhanced embodiment of the present invention, it is envisaged that a user is provided with the opportunity, via the UI, to select a particular matching algorithm to be used on a particular field. For example, the user may be able to specify a type of input character/data string to be used in the matching process, for example, alphabetical versus numerical versus a special character that may be either of a numerical character and/or an alphabetical character if the character had a dual meaning.
In addition, in an alternative embodiment of the present invention, any field or fields may be nominated to exclude rather than include a matched database entry from a match with the input pattern. For example, the user may nominate a field containing company names, whereby data records including entries in the ^Company name' field that match the input pattern were excluded from the data records that would otherwise be presented to the user via the user interface. . ,
In a still further embodiment of the present invention, it is envisioned that one or more matching algorithm is adaptive. In this way, the matching algorithm "learns" from previous matching operations, and based on, for example, patterns identified from the previous matching operations, improves the narrowing down of results.
It is envisaged that the inventive concepts herein described, relating to a multi-field matching capability, can be applied in any application that is able to utilise character matching between an input data string and records in a database. For example, in a telephone
P382 PCT spec vfinal.doc 14/03/2005
application, when the results of a multi-field matching algorithm are displayed to a user, the selected phone number can be directly dialled.
Furthermore, in a messaging application, when the destination of the message is entered, the results of the multi-field matching algorithm may be displayed. In this context, the group feature may be utilized in order to limit the matching process to those contact entries that have, for example a name and/or an email address for an email message, or a name and/or mobile number for a message such as a short message service (SMS) or extended message service (EMS) or multi-media messaging service (MMS) .
In this regard, it is envisaged that some fields may be pre-set for use in instant messaging or email. Furthermore, it is envisaged that some data contact fields may be applicable to more than one application, in addition to being used in more than one group.
It is also within the contemplation of the present invention that the inventive concepts can be applied in a scenario that does not require the user to initiate a database query process. For example, it is envisaged that the inventive concepts can be applied in an automatic database manipulation process, whereby records are extracted from a database to be organised or ordered in a particular manner. In such a scenario, the input data sequence may also be automatically generated and not based on any user-input.
P382 PCT spec vfinal.doc 14/03/2005
It is further within the contemplation of the present invention that some or all of the data fields may be predefined and/or some or all of the data fields may be downloadable to the device and/or some or all of the data fields may be user-definable. It is also envisaged that a database containing the data records and data fields may be a single ^global' database of the contact records. Alternatively, it is envisaged that there may be multiple databases that share data fields, for example databases organised on a per group basis, with overlapping or shared fields. Also, it is within the contemplation of the present invention that a substantial number of data records, preferably but not necessarily all, may be associated with one or more of the data fields with which the input string is compared.
A skilled artisan will appreciate that the aforementioned applications are mere examples of a wide number of applications where a multi-field matching process algorithm/feature can be applied, and that the inventive concepts described herein are not limited to the above representative examples.
Thus, it is within the contemplation of the present invention that the inventive concepts described herein are applicable to any user interface of an electronic device, such as a computer or mobile phone interface that is able to benefit from the inventive concepts described herein. In particular, any interactive user interface based query of computer databases would benefit from the inventive concepts described herein, where each entry in the database is preferably divided into separate fields based upon data type or context or meaning.
P382 PCT spec vfinal.doc 14/03/2005
Thus, it is within the contemplation of the present invention that the inventive concepts described herein are equally applicable to any electronic device with such a user interface such as a computer, a personal data assistant (PDA) , a portable or mobile radio, a public switched telephone network (PSTN) phone, etc. that stores contact information as alphanumeric characters . In this manner, the user of the device is provided with much more functionality in generating and matching one or more characters of an input data string against records in a database than the known technique of using a single database, with a single field that produces one or more results from that single field.
It will be understood that the improved electronic device with a user interface and a memory element containing user accessible information, as described above, aims to provide at least one or more of the following advantages : (i) The ability of. -a user to obtain contact information is much more interactive. This directly increases the utility of the device and thereby user satisfaction. (ii) The mechanism to obtain contact information can be configured as customisable, such that a user is more encouraged to use the matching process feature that they have themselves been able to create. (iii) The ability for a user to obtain contact information is provided in a natural and intuitive manner, even to a casual or an inexperienced user of the device. (iv) The mechanism to obtain contact information from a database by use of a query process is made more
P382 PCT spec vfinal.doc 14/03/2005
accurate by use of a multi-field matching process, thereby providing a better chance of the desired contact data to be located.
In this manner, the problems that users have previously encountered with mastering the use and speed of accessing data in a contact database, particularly one of a complex mass market computer or communication device, have been substantially alleviated.
Whilst the specific and preferred implementations of the embodiments of the present invention are described above, it is clear that one skilled in the art could readily apply variations and modifications of such inventive concepts .
Thus, an electronic device and an improved method of matching an input sequence to one or more records in a database have been described where the aforementioned disadvantages with prior art arrangements have 'been substantially alleviated.
P382 PCT spec vfinal.doc 14/03/2005