Method and system for exchanging information with a memory structure in a portable object.
The invention pertains to a method for exchanging information with a memory structure contained in a portable object, e.g. a smart card, using a computer, connected to a network, e.g. the internet, wherein the user establishes a connection between the memory structure and a data interchange unit connected to the network. The invention also pertains to a system for exchanging information according to this method.
Portable objects containing memory structures for storing information are many and varied in shape and use.
They can, for instance be issued to shop assistants, in the shape of pens for insertion into cash registers, or to users of a building, in the shape of electronic keys for unlocking certain doors. One of the more ubiquitous examples is the smart card. Such information carriers are issued by credit card companies, health insurers, universities and retailing organisations .
The information stored in the memory can be equally varied in range and contents. Examples are credit history, personal details of the owner or profiles of the owner characterising his preferences or status.
Problems occur for most owners, when they wish to read or alter the information stored in the memory structure. Most owners do not possess the means for reading or altering the contents of the memory structure. In addition, a user has little control over the types of information an organisation puts into the memory or retrieves from it. Thus, in the case of a customer loyalty card, he cannot restrict access to the information to certain retailers. Likewise, in the case of a health insurance card, he cannot provide the memory structure with a set of rules restricting access to certain data fields to his doctor.
There may be a great many machines available to the user, which are physically capable of reading or altering the information in the memory structure. In current practice, many of these data exchange units are not avail - able to users, because they contain no means to read or write the data in the specific format required for the card. Thus, a user cannot use the retailer's system to alter the information on his health insurance card.
In cases where the data exchange unit is capable of reading or altering the information on the card, the limited means provided to the user for entering or reading information can provide a bottleneck. Banks, for instance, do not provide their smart card-enabled automatic teller machines with elaborate means of display or keyboards. On the other hand, many of these machines are connected to computers with just such means through networks. Again, however, there are obstacles to the effective use of such networks, since the computer on which the information has been stored needs to establish a connection with the particular data ex- change unit to which the user has, at some later time, connected the object containing the memory structure. This data exchange unit will in almost all cases have been chosen at random from one of many.
It is an object of the present invention to im- prove the above-described method and system.
To this end, the method makes use of a software agent to direct the exchange of information. The system comprises means for prompting the software agent to direct the exchange of information after the user has connected the memory structure to a data interchange unit.
Thus, the software agent can take care of the many tasks associated with an effective exchange of information. The information can be entered on one computer in the network and loaded into the memory structure at any time in the future and through any data interchange unit connected to that network, at the user's -convenience. The type and amount
of information. exchanged can be restricted by providing the software agent with appropriate instructions.
The invention will now be explained in further detail, with reference to the drawings. Figure 1 schematically shows a simple diagram of an example of a system according to the present invention.
Figures 2a-2f schematically illustrates several consecutive steps, which are possible in an embodiment of the method according to the present invention. Figure 3 shows a simple schematic diagram of a similar system according to the present invention, in order to illustrate certain aspects of alternative embodiments of the present invention.
Figure 1 shows a schematic diagram, containing the essential characteristics of a system according to the present invention. In this example, the system is used to exchange information with a memory structure, contained in a portable object 1. This portable object 1 could, for instance, be a plastic card, of dimensions similar to a credit card. Other possible examples are objects shaped like transponder keys, as used in automotive security systems to identify drivers, or shaped like pens, as used with cash registers to identify till attendants.
The system also comprises a number of data ex- change units 2,3, of which two are schematically shown in figure 1. Of course, there could be any number of data exchange units 2,3 in the system.
The system can be used to transfer information, initially entered by a user 4, to the memory structure on object 1. Resident on computer 5 is a software agent 6, comprising the means to direct the transfer of this information into the memory structure contained in object 1. Computer 5 could be the user's personal computer at home, equipped with a modem, or it could be a personal digital assistant, able to establish a wireless connection.
In the embodiment -of figure 1, the software agent resides on the computer 5 with which the user 4 entered the
information, but this is not a necessary aspect of the present invention. An alternative would be to have the software agent 6 wait on a central server 9, which is a permanent part of a network 7. Likewise, the information need not be stored on computer 5. It could be stored on a different computer, somewhere in the remaining part 8 of network 7. In this case, the software agent 6 could contain a pointer to the storage location. Alternatively, the information can be encoded in the software agent 6, thus moving around with it. The system contains means for alerting the software agent 6 to the presence of object 1 in data exchange unit 2. Such means can be provided to the data exchange unit 2 in the shape of a button or a system which automatically detects the presence of the memory structure. In the em- bodiment depicted in fig. 1, data exchange unit 2 passes a signal to computer 5 by means of computer 9, thus prompting the software agent 6 to direct the transfer of information. With reference to figures 2a-f, eight steps in an embodiment of a method according to the present invention are schematically depicted. The numbering of the various components of the system used in this method is based in part on that of figure 1.
A computer or workstation 5 is connected to network 7, for example the internet. A central computer 9 is also connected to network 7 and to a data exchange unit 2, optionally by means of a further computer. The said data exchange unit 2 can be one of many similar units directly or indirectly connected to the central computer 9. The central computer 9 is run, for instance, by an organisation, which issues portable objects comprising memory structures, e.g. smart cards. The organisation can be a bank, a credit card company, a retailer, etc. The computer 5 can be a personal computer, which belongs to user 4, but this need not be the case, as explained in the discussion of figure 1. Loaded into the memory structure of the portable object 1 are data, for example characterising the user 4 or his interests. The information could equally well represent
a record of the user's past purchases in stores belonging to a certain retailing company. Such information allows the organisation to tailor their offers to the interests and profile of the user 4. In the sort of systems presently used by such organisations, the possibilities open to the user 4 for viewing or altering the information are limited or nonexistent .
A method and system according to the present invention open up a wealth of new possibilities to the user. Besides directing the technical processes involved in the transfer of information, the smart agent can also be provided with rules, to direct the correct information to the intended recipient . These rules could instruct it to act on the user's behalf. For example, the agent could negotiate a discount from a retailing organisation in return for providing the organisation with the user's details. Alternatively, it could only provide the user's address to organisations, that wish to send samples of their product. Using a method according to the present invention the user 4 can view or edit the information in the following way.
Each user is issued a software agent 6. Each software agent 6 is provided with a unique code, in order to identify it. This enables the system discern the software agent 6 to prompt, when the user 4 has connected a particular memory structure to the system. This feature allows several software agents and/or memory structures to be used in the system at the same time.
The software agent 6 can initially reside in com- puter 5, as in figure 2a, but another computer within network 7 is also a possible location, as is the central computer 9. The user 4 can pass instructions to the software agent, as shown schematically in figure 2b, using computer 5. These instructions can be many and varied in nature, de- pending on the use of the system. In the example of a customer loyalty card, they "can be instructions to restrict the information available to the retailer to address details
or purchases of a particular kind. Alternatively, they can comprise rules, programming the software agent 6 to disclose information only to certain types of organisations.
The means allowing the user to pass instructions to the software agent 6 will generally comprise a type of graphical user interface to facilitate step 2b. If the software agent 6 is on some other computer within network 7, a kind of web interface would be a likely means for the user 4 to pass instructions to the software agent 6. Alternatively, the organisation issuing software agent 6 could provide user 4 with special software, for use on computer 5.
As soon as software agent 6 has been provided with the necessary instructions, it can move to the central computer 9, or some other computer within network 7 to which data interchange unit 2 is attached. Such a situation is depicted in figure 2c, where the software agent 6 lies waiting .
After the memory structure has been connected to data interchange unit 2, the software agent 6 is prompted to direct the exchange of information with the memory structure. This step is depicted in figure 2d, and the subsequent exchange of information is depicted in figure 2e.
In figure 2f, the situation is shown, wherein the memory structure has been disconnected from the data inter- change unit 2, by removing the object 1 in which it is contained. The software agent 6, here shown in computer 9, can now be recalled by the user, or it can have been instructed beforehand to move to a different computer, for example the user's computer 5. Referring to figure 3, several aspects are depicted of alternative embodiments, which more fully exploit the characteristics of software agents 6,10. In this embodiment, at least one other software agent 10 is used to be able to instruct the first software agent 6 where to find the memory structure and data exchange unit 2 in amongst a plurality of data exchange units 2,3 to which similar memory structures can be connected.
In one embodiment, the second software agent 10 is carried in the memory structure and transferred into the network 7 through data interchange unit 2. In alternative embodiments, the second software agent 10 is initially stored in the data exchange unit 2 or a computer 9 connected to the data exchange unit 2.
In each case, the software agents 6, 10 are able to move from one computer 9 to the other 11, as depicted by step B in figure 3. This capability to direct a software agent 6,10 from one computer to another is provided by so- called agent runtime environments or agent host platforms, which the computers 5,9,11 have been programmed to run.
The system further allows two software agents 6,10 to exchange information, step A in figure 2. One software agent 10 can thus tell the other software agent 6 to move to another computer. This exchange of information A is again made possible by the agent runtime environment.
Further features of the software agent 6,10 and the agent runtime environment are disclosed in more detail in Dutch Patent Applications 1013249 and 1013250 from the same applicant. It will be obvious to one skilled in the art, that the communication between software agent 6 and the object 1 containing the memory structure and that amongst software agents 6,10 makes use of the standard protocols for ensuring secure communication. In addition, the runtime environment on a computer 5,9,11 can be programmed to restrict software agents 6,10 in them to certain types of actions. In such a way, the spread of viruses or illicit information through the network 7 can be prevented. Likewise, the soft- ware agent 6 can be instructed to direct the exchange of only certain types of information from and to the smart card.
Once the software agent 6 for directing the exchange of information has been made aware of the presence of object 1 in data exchange unit 2 by the second software agent 10, it can then move tro a computer 9 from which it can
direct the exchange of information with the memory structure contained in the object 1.
It will be obvious that in cases where the information is to be moved from the memory structure to a computer within network 7, the same method is used. In particular, the steps whereby the software agent 6 is prompted to direct the transfer of information and where it is directed to a suitable computer are the same.
In an alternative embodiment, the software agent 6 directing the exchange of information can initially be contained in the memory structure of the portable object 1. Thus the user 4 can carry the software agent 6 around with him. Again, the software agent 6 can be used to transfer data from the memory structure to a computer in the network 7, or to retrieve information from this computer.
In such an embodiment, the software agent 6 is transferred to the network 7 after the user 4 has connected the memory structure to the data interchange unit 2. It can then proceed to search for the computer with which to ex- change the information, making use of the methods described above .
In the embodiments described above, the process of data transfer from and to the memory structure contained in the portable object 1 involves running the software agent 6 on a suitable computer 9 connected in some way to the data interchange unit 2 or contained in it . This means that the portable object 1 need only be provided with a memory structure in which to store the information and, optionally, the software agent 6. Such a use has the advantage, that the ob- ject 1 can be provided with a limited amount of storage capacity. For example, the object 1 can be a card with a magnetic strip for a memory structure. A software agent 6 would provide a relatively simple card 1 with a large amount of extra functionality, when connected to a computer 9 through a card reader 2.
As an alternative,- the object 1, containing the memory structure could also be provided with a processor,
capable of running all or part of the instructions contained in the software agent 6. An example of such an object 1 is a smart card, where memory structure and processor form an integral whole . Such a processor need not be very sophisticated. For example, its use could be restricted to supervising the process of transfer of the software agent to a more powerful computer within network 7. The part of the software agent 6, which requires more computing capacity would then be run on this computer. In this way, extra func- tionality would again be provided to an object of limited resources .
The embodiments described in the above are to be considered as mere examples, in no way limiting the extent of the invention, which can be varied in a number of ways according to the scope of the claims.