A METHOD OF MAINTAINING INFORMATION IN A COMPUTING DEVICE
The present invention relates to a method of maintaining information in computing devices and in particular, to a method of maintaining and, optionally, storing directory information in computing devices.
The term computing device as used herein is to be expansively construed to cover any form of electrical device and includes, data recording devices, such as digital still and movie cameras of any form factor, computers of any type or form, including hand held and personal computers, and communication devices of any form factor, including mobile phones, smart phones, communicators which combine communications, image recording and/or playback, and computing functionality within a single device, and other forms of wireless and wired information devices.
Directory information on computing devices, such as personal organisers, mobile telephones and computers, is typically kept in some form of contacts store with database-like characteristics, whereby details of individual contacts can be created, retrieved, updated or deleted. Personal organisers and mobile telephones usually have bespoke applications which can handle this task. However, because personal computers (PCs) tend to have common operating systems, these devices are more likely to have common application programs for handling contacts information, such as Microsoft Outlook™ or Lotus Notes™.
Contacts information on any of these devices can be input to and updated in the contacts store in a number of different ways. The most basic method is that of direct input by the device user operating on individual contact details through a keypad or other input device, such as a touch screen arranged to display a simulated keypad.
Other methods rely on direct electronic input into the contacts store. One straightforward method is the ability to add the addressing information from a specific communication to the contacts store. For example, most electronic mail packages have the ability to add the contact details of the sender of a message received to the local address book, and most mobile phones are able to store the originating numbers of calls received to a local phone book.
A more sophisticated method operating on the individual contact level is the ability to receive, and integrate into the contacts store, details held in a standard record format, such as the versit Consortium's vCard format for electronic business cards. Such details can be received directly via personal networking technologies such as infrared or Bluetooth, or can alternatively be received via indirect techniques, such as embedding in electronic mails.
There are also methods of inputting multiple rather than individual contacts into a store. A common method is to synchronise the contacts store with a similar store held on a local device or on a network. The Open Mobile Alliance is a standards body operating in the wireless arena and, currently, this body has commenced an initiative, known as The Open Mobile Alliance SyncML initiative, which has as an aim to standardise this synchronised input of information in this area. The precise details of such synchronisation processes currently tend to vary from one implementation to another. However,, the effect of all of them is that of a 'bulk update', whereby any missing or altered information is copied from one store to another to effect a bulk update of the information.
Another method, often used for initial population of a contacts store, can be used by computing devices with the ability to handle standard file formats, such as comma-delimited text records. With this method, an entire file is read into a contacts store, either directly or via a field remapping mechanism.
In addition to its relatively slow speed of data input, the method of direct owner input limits, in essence, the usefulness of the contacts store to that of
an aide memoire; the only information that the owner can input is information that the owner already possess. In contrast, the methods involving direct electronic input have a more general utility in that they can result in a contacts store which contains information of which the owner was previously unaware as well as information that the owner was simply unable to remember.
However, none of the methods involving direct electronic input is able to retrieve discrete additional items of information on demand when the owner of the contacts store needs them. For instance, an owner of a mobile phone who has the name and mobile phone number of a contact has no way of retrieving the address or landline number of that contact when that owner requires it, even if the owner knows where the information is held. The methods of obtaining details on individual contacts as described above are, therefore, considered unsatisfactory because they cannot be initiated by the owner of the contacts store (they are 'push' rather 'pull' methods for providing information to the owner), whilst the methods of obtaining multiple contacts described above are, in general, considered to be satisfactory because they operate on the entire contents of a contacts store rather than on the basis of individual records within a contacts store. The above limitations mean that owners of computing devices are not able to take full advantage of available databases, whether private or public, to supplement or complete contacts information held in their local store.
Therefore, it is an object of the present invention to provide a method whereby an owner of a contacts store on a device is able to request one or more specific items of additional information relating to a contact in the store from a contacts store held remotely from the device.
According to a first aspect of the present invention there is provided a method of maintaining contacts information in a computing device, the method comprising providing information indicative of a stored individual contact or a subset of contacts from an application on the computing device to a further application on a remote computing device, and providing one or more further
items of information relating to the contact or subset of contacts from the further application to the application on the computing device.
According to a second aspect of the present invention there is provided a computing device arranged to operate in accordance with a method according to the first aspect.
According to a third aspect of the present invention there is provided computer software arranged to cause a computing device to operate in accordance with a method according to the first aspect.
An embodiment of the present invention will now be described, by way of further example only, with reference to figure 1 which illustrates a flowchart of a method for maintaining contacts information in accordance with an embodiment of the present invention.
In the following description the information required by a user is assumed to be that needed to complete or supplement known details about a contact. Therefore, the operation may be considered to be analogous in certain respects to the mechanical step of using a telephone directory or some other publicly available data source to look up, as an example, a telephone number from a known name and also an associated physical address.
Referring to figure 1 , a user of a requesting computing device sends a request to update or supplement the details of a contact held by that user in a contacts store on the device. This is shown as step 1 in figure 1. The requesting computing device passes sufficient information about the contact from its own contacts store to a contacts store held in a remote application on a remote computing device. This information is preferably such that that the remote application is able to uniquely identify the contact, the additional information required by the requesting user about the contact, and whether the additional information is authorised for release to that particular requesting user.
As shown by steps 2 and 3 of figure 1 , the remote computing device receives the request and checks the details of the request. From step 4 of figure 1 the remote computing device then determines whether the requested information is available from the remote application running on the remote computing device. If the requested information is not available to send to the user making the request, the remote application sends an appropriate message or code to the requesting user to inform that the requested information cannot be provided.
It is envisaged that there may be a variety of reasons why the requested information cannot be provided to the requesting user. For example, the requested information may simply not be available in the remote application because the relevant details have not been inputted. Alternatively, the information held about a contact in the remote application may be present but may only be accessible by selected users and not including the requesting user. The users who may have access may be determined by the contact when that contact requests the posting of his or her details in the remote application.
Hence, if at step 4 it is determined that the remote application is authorised to release the information to the requesting user, the request is completed. When the request completes, the computing device of the requesting user is passed the additional information as requested, as shown by step 6 of figure 1. Although not shown in the flow chart illustrated in figure 1 , it is also possible that the requesting user may be passed an appropriate code by the remote application if a request is determined to be ambiguous or malformed.
The present invention may be applied to particular advantage in the area of mobile phones. Contacts information on a mobile phone or on a SIM is often incomplete. For example, there may be a name and mobile phone number for a contact, but no landline, email or street address for that contact. The connection to the wireless network may be relatively slow, unreliable and expensive. Furthermore, the phone itself may have limited memory and
processing power. Synchronising an entire database to obtain this information, even if one was available over the wireless air space, would be impractical and uneconomical when only one datum is required. There are no methods or applications currently available with the capability of filling in the blank fields in such a database.
In this application of the invention, the contacts application would reside on a mobile device with the capability of communicating with a networked service run by a mobile phone operator or service provider. When requested, this operator provided service would return the full contact information corresponding to a unique but incomplete set. Typically, provision of a name and mobile phone number would return the corresponding landline and street address and possibly the email address also. The invention could also be used to obtain updated information when a contact store entry becomes out of date (if someone moves, or changes their phone number or email address).
The present invention may be implemented using publicly available data. Enhancements are possible and can be provided on the basis of the agreement of each contact. The device could opt to update all contacts entries, or just selected ones. This could be a free service provided for the benefit of all users, or it could be a chargeable service offered by network operators or third parties which would generate revenue.
While the description above relates to mobile phones accessing networked services, the invention could be equally useful to fixed computer access directory services over wired networks. Peer-to-peer implementations between users are also possible.
Although the present invention has been described with reference to particular embodiments, it will be appreciated that modifications may be effected whilst remaining within the scope of the present invention as defined by the appended claims.