The invention relates to a method for information transfer between terminals of a communication network, wherein these terminals each have a data memory for storing addresses and information and means for setting up data connections among themselves, a program module for execution on a called terminal, which has a data memory and communication means for exchanging data with further terminals, and a terminal with a program module. The invention is based on a priority application 03291784.1 which is hereby incorporated by reference.
For information searches, methods are known on the Internet in which the user, by entering the Internet address of a server of a service provider in his terminal, requests a so-called search mask. Here the user can specify more or less precisely, for example by means of entering search terms or selecting attributes in the search mask, what information he wants to receive. He is then shown a list of relevant entries, for example, from which he can then choose certain entries.
A large number of methods are known for a search for unknown network addresses. The directory assistance service is one conventional method. In this, a telephone terminal is used to establish a telephone connection with a network central station, and the name for which a (network) address is sought is transmitted. By means of a central database, which contains an assignment of name and address data (call number, residential address etc.) for practically all users of a network operator or country, the requested address is found and transmitted to the enquiring terminal. A method for automatic searching for network addresses is offered on the Internet by a large number of information providers for Internet terminals.
However, these methods have the disadvantage that large quantities of data must be kept continually up to date centrally. This represents a major expense in infrastructure on one hand (i.e. large and fast database, sufficiently wide access to this database), and also on the other hand a major maintenance expense (i.e. every address change must be entered without delay).
For the Internet, protocols and mechanisms are known which enable Internet terminals to form a so-called “peer-to-peer” network. In contrast to the server-based information systems mentioned above, in which enquiring terminals or clients are dealing with central servers which give the answer, peer-to-peer networks generally manage without a central service infrastructure (servers or databases). Suitable protocols for this are described in the SUN Microsystems Project JXTA, for instance.
The electronic telephone directory of a telephone terminal is normally in everyday use by every user. In this telephone book it is usually possible to store a certain number of network addresses, i.e. call numbers, names assigned to these addresses, and possibly further information. However, the use of this telephone book is restricted to simplifying communication with known participants, or repeatedly retrieving the information once entered for a name. As soon as information is sought for a name that is not held in this telephone book, or whose assigned information is incomplete, other search methods must be applied.
The invention is based on the object of creating a method and suitable means, which enable a decentralized information service to be implemented with the terminals of a communications network alone.
According to the invention this object is achieved by a method for information transfer between terminals of a communication network, wherein these terminals each have a data memory for storing addresses and information and means for setting up data connections among themselves, a program module for execution on a called terminal, which has a data memory and communication means for exchanging data with further terminals, and a terminal with a program module.
The basic idea of the invention is the creation of a peer-to-peer network by the linking of the address directories of the terminals in a communications network, preferably a mobile radio network, which provides for data communication between the terminals. A calling terminal here transmits an enquiry for transmission of an item of information to a called terminal. The called terminal reads information stored in its address directory and released for general viewing by other terminals, and sends back to the calling terminal a message with a desired item of information, or about the desired information.
Further advantageous developments of the invention can be taken from the dependent claims and the description.
The invention is further explained hereinafter with the help of the drawings:
a shows a first specific communication sequence according to
b shows a second specific communication sequence according to
The aforementioned peers TA and TB are realized for example with mobile telephones, i.e. terminals of a mobile radio network (e.g. a mobile radio network according to the GSM (Global System for Mobile Communications) standards), on to which mobile telephones corresponding application programs are loaded. Thus for example the Java Micro Edition from the company SUN, which by now is available on many mobile telephones, provides the prerequisite for such a realization. In Java terminology, the generalized term for a mobile telephone of any manufacture is “Mobile Information Device (MID)”. The term “MIDlet” is then understood as an application that is loaded on such a device. The choice of name follows on from the familiar applets (small applications in the browser window) or servlets (server-side applications). On the same lines as this usage, these MIDlets for communication applications are subsequently also referred to as “chatlets”.
The communication elements of the terminals or peers TA and TB form so-called end points in the example. For instance, a first end point is represented by the mobile radio interface (e.g. GSM), and a second end point by a Bluetooth interface of a mobile terminal or mobile telephone. The peer-to-peer connections between the peers involved can be realized by mobile radio connections between mobile radio terminals (e.g. GSM) or also, for example, by Bluetooth or other connections especially of short range.
The chatlet CLA or CLB has access to the address or call directories of the calling terminal TA or the called terminal CLB respectively. When a call number is clicked in the calling terminal TA, this is used by the chatlet CLA analogously to a web address or a so-called Uniform Resource Locator (URL), to gain access to the called terminal TB. These call numbers can be displayed in the display of the terminal TA, made clickable analogously to the URL of the Internet. A clicked call number can then also be referred to as an MRL (Mobile Resource Locator).
For reasons of data protection, it should be possible for the owner to block the access described above to the called terminal TB, or only allow access to a restricted user group. According to the division of the memory DBA and DBB selected in
The chatlet CLA or CLB itself is, as described above, an application program, which runs within the Java runtime environment of the mobile telephone, for example. The most important part of the chatlet is the so-called “user instances”. User instances are nothing more than a generalisation of the entries in the mobile telephone's name list. The name list includes at least the name and telephone number for each entry. But the entries can also contain a complete business card, i.e. all possible private and business telephone numbers, fax, email, address and some keywords. The entries can be made individually by the users. These entries can also be exchanged with other users, i.e. entries in the called terminal TB can be transferred to the calling terminal TA.
When an entry is selected from the name list, the chatlet CLA of the calling terminal TA generates an enquiry, which is transmitted to the chatlet CLB of the called terminal. The chatlet CLB of the called terminal creates a copy of the desired data, for example the data available about a user, in the working memory of terminal TB. In addition to the attributes of a business card such as name and telephone numbers, this user instance contains further attributes such as the available icons or images for the telephone service mentioned above, or information such as hobbies or interests, which the user wishes to communicate publicly or among his acquaintances. As well as the attributes, the user instances also contain operations or methods, which the chatlet CLA or CLB can call up, e.g. for access to the name list in the entered user's mobile telephone. Entries may be incomplete (e.g. only some telephone numbers, nothing else).
Attributes and/or methods are generated by the respective users themselves, and can be restricted in terms of public visibility. Publicly visible attributes and methods, i.e. attributes visible to and methods selectable by the chatlet CLA of a calling terminal TA, are declared as “public”, while other attributes and methods visible only to a defined user group are called “private”.
Information on knowledge and skills that the peer wants to make available to its environment can be kept stored in so-called advertisements. These advertisements can either be requested by other peers or can be sent to specific terminals (subscribers). Offers from one peer to another include for example services, application programs and content. What the peer knows about its environment (e.g. knowledge of other peers), it stores for example in its local cache (e.g. information, documents).
An enquiry for transmission of an item of information can contain a search term or a category. A corresponding message with the desired information then contains only information relating to those information entries which contain a matching search term or are assigned to a matching category. It can be provided, for example, that a message is only created when at least one entry has matching search terms or is assigned to matching categories.
The chatlets in the terminals TA and TB are permitted reciprocal access to each other as described above. This enables an information network to be generated in any desired size, with a large but distributed quantity of up-to-date information. For the user of a terminal TA, this information network is presented as though he has stored all this information on his terminal TA, i.e. the structure of the network with its active terminals remains largely transparent for the user.
The possibility of exchanging entries automatically with one another can result in an adaptive network. New telephone numbers are automatically circulated after a relocation or change of provider. People who receive and welcome enquiries are represented in many user instances. In the overall sense, the role of the chatlets here is to provide suitable contact addresses for the desired call partner. Presentation services help to present the call partner's accessibility, and the useful contact options are supplied for activation at the touch of a button.
The connection set-up itself can be carried out in the conventional way, as offered by the networks in which the method according to the invention should be applied. This includes the provision of suitable codecs and the transcoding, and usually also the control flow for the setting up and release of connections, e.g. in a three-way conversation.
Alternatively, it would also be possible for a chatlet to take over the control flow and the selection of the codecs. In this case the networks are then restricted to the provision of addresses and transport channels.
For this,
The search for the address of a participant in a call is described here as an example. If this address is stored in the data memory of the terminal TA which is initiating the search or calling, the information in question can be produced immediately by chatlet CLA of this terminal TA, and for example displayed directly on this terminal's display. In the event that the desired call partner cannot be found in the terminal's own user instances, the chatlet of the calling terminal TA contacts those terminals whose instances permit access to their respective telephone directories, in this example the terminals TB and TC. If the desired call partner is found in one of these terminals, the corresponding chatlet can contact him or generate in its own directory a copy of the user instance it has found. This latter case corresponds to the exchange of a business card in the user directory.
If the desired call partner is not found in the directories of the queried terminals TB and TC, the transaction can escalate further from the queried user instances, in this example from the terminal TB to terminals TD and TE, and from the terminal TC to the terminal TF. For example, if the terminal TE has stored the address being searched for, a corresponding message R is transmitted from there either via the terminal TB in the enquiry chain, or directly to the calling terminal TA.
The number of required escalation levels is always clearly limited. If 100 new partners are queried in each escalation level, 10 billion users are already reached with 5 levels: (102)5. But this would also be the worst case. In reality, the search is much more effective, as relationship sets are queried as a result of the chained directories. An engineer will usually find a specialist in his own field or a related one more easily than from a completely different sector or an area that has never interested him. His personal telephone directory and those of his acquaintances will ensure this.
A further possibility is to store offers from a number of users in a rendezvous peer, for example in the terminal TB as in
In order to ensure the effectiveness of the method described under
Each enquiry is given a time stamp, and there is then a check in the called terminals TB, TC, TD, TE, TF on whether a specific interval of time is exceeded; this enquiry is only pursued if this interval is not yet exceeded.
To prevent enquiries from a distant terminal in an enquiry chain from being transmitted again to a closer terminal (circular reasoning), the address of each terminal over which the enquiry passes can be added to the enquiry, without deleting previous sender addresses. Thus the enquiry received by the terminal TD would for example contain the addresses of the preceding terminals TB and TA in the enquiry chain. When this enquiry is retransmitted, all those terminals whose addresses are already contained in the enquiries can then be excluded.
The communication relationships between the chatlets of terminals involved as an example in a method described under
For this,
a shows as an example the chatlet CLA of a calling terminal (subsequently also referred to as the calling chatlet CLA), and the chatlet CLB of a called terminal (subsequently also referred to as the called chatlet CLB). The calling chatlet CLA has a number of user entries, of which one user entry X, i.e. an entry about a user X, is labelled as an example. The called chatlet CLB likewise has a number of user entries, of which one user entry Y, i.e. an entry about a user Y, is labelled as an example. An enquiry from the calling chatlet CLA to the called chatlet CLB for information about the user Y is represented by an arrow labelled get info (Y), and a message with the requested information from the called chatlet CLB to the calling chatlet CLA about the user Y is represented by an arrow labelled info (Y).
The communication sequence for the following example scenario is thus represented here:
In accordance with Java terminology, get info (Y) can be called a method here, and info (Y) an attribute:
get_info (Y): Call of the information stored about the user Y, for example about opening times, surgery hours, on-call service etc. This information is transferred to the calling terminal's mobile telephone. If applicable, further selections can be made there (e.g. display of the nearest chemist in the on-call service).
info (Y): an address field, e.g. for the postal address, opening times, surgery hours, on-call service of user Y.
b shows as an example the calling chatlet CLA, and the called chatlet CLB from
The communication sequence for the following example scenario, expanded in comparison to
As an alternative to this scenario, the further called chatlet E can also transmit the information directly to the calling chatlet A. For this, the address of the calling terminal must be entered into a control field of the enquiry get info (Y).
As described above, it is advantageous if every terminal adds its address when forwarding an enquiry. A further called terminal can then always find out which terminals have already received this enquiry, and suppress forwarding of this enquiry to these terminals.
In a further alternative, the called terminal TB or the further called terminal TE can have stored an assignment of search terms or categories and addresses of further terminals. The enquiry can then contain one or more search terms and/or categories instead of a specific name, for instance. The called terminal then forwards this enquiry only to such further terminals as contain the search term(s) or are assigned to the categories.
An advantageous development of the method according to the invention enables a creation of location-based services which can be made available by the service-providing terminal users themselves without intermediary service providers. Cost-saving solutions can thereby be developed, as no central maintenance of data is required. Furthermore, this method offers the users the advantage of ease of operation and good transparency.
This local information is not maintained on a (central) server, like services with central administration, but directly in the mobile telephones of those persons who want to offer location-based services (i.e. directly in the mobile telephone of the driver for a taxi firm, for example). The data is either imported automatically, for example in a cyclic update or an update on retrieval of the local information by the mobile telephone, or is entered in the mobile telephone by the person offering the service (e.g. static local information about the residence or place of business). This information can be queried by customers of the service.
Within the user entry about the user Y of the chatlet, there is the following attribute here in addition to the attribute Info( ) described above:
Location: current local information (e.g. geographical coordinates) for the user's mobile telephone. An update of the local information from the network with which the user is registered (Location Update), occurs on the mobile telephone of the queried user, e.g. on retrieval of the method “get_location( )” by another user.
Within the user entries of the chatlets there are location-based services in addition to the method get info ( ) described above, the following additional method:
get_location( ): Call of the current coordinates of the mobile telephone of the called user. This information is transferred to the mobile telephone of the enquiring user, and can be further evaluated there (e.g. in the search for the geographically nearest taxi driver)
At the click of a button or by clicking an icon, a telephone contact can thus be made without telephone numbers or a switching service, if the called terminal is in the selected local area. Possible applications for this are, for example: Taxi calls, doctors' on-call service, specialists in the area and their surgery hours, chemists' availability duty, authorities' opening times and contact persons, so-called blind dates, virtual meetings for special interests in the vicinity.
Number | Date | Country | Kind |
---|---|---|---|
03 291 784.1 | Jul 2003 | EP | regional |