EP2225647A2 - Portabler datenträger mit web-server - Google Patents

Portabler datenträger mit web-server

Info

Publication number
EP2225647A2
EP2225647A2 EP08852928A EP08852928A EP2225647A2 EP 2225647 A2 EP2225647 A2 EP 2225647A2 EP 08852928 A EP08852928 A EP 08852928A EP 08852928 A EP08852928 A EP 08852928A EP 2225647 A2 EP2225647 A2 EP 2225647A2
Authority
EP
European Patent Office
Prior art keywords
data
carrier
stored
data carrier
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP08852928A
Other languages
English (en)
French (fr)
Inventor
Erich Englbrecht
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Giesecke+Devrient Mobile Security Germany GmbH
Original Assignee
Giesecke+Devrient GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Giesecke+Devrient GmbH filed Critical Giesecke+Devrient GmbH
Publication of EP2225647A2 publication Critical patent/EP2225647A2/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Definitions

  • the present invention relates to a method in a portable data carrier with a web server for data communication between the data carrier and a data processing device connected to the data carrier as well as such a data carrier.
  • the web server provides data for the data processing device which it has previously requested by the web server either reading the requested data from a memory of the data carrier or, if the data is not stored in the memory, from a data providing device refers, eg from a server computer on the Internet.
  • the data processing device can be, for example, a personal computer (PC), for which the data carrier acts as a so-called proxy. That is, the data carrier is facing an application on the PC, e.g. to a web browser installed on the PC, as a data provider - i. as a data server - on, in contrast to an Internet server computer as a data recipient - i. as a data client.
  • a data carrier used in this way generally comprises an Internet protocol stack and can serve a user as an authentication gateway, for example, by a user. for online banking applications or the like.
  • Portable data carriers eg chip cards
  • Due to the limited buffer memory data communication between the data carrier and an Internet server computer must be used to obtain data that matches the data carrier and should be provided to the web browser on the PC, are divided into relatively small data packets. If the response times of the Internet server computer are high, for example, due to high traffic on the Internet at a certain time of day or a general heavy load of the respective Internet server computer, the Web browser, the requested data can therefore be provided very slowly.
  • the medium can not rely on a known strategy of ordinary internet use without the use of an intermediate volume, according to which a web browser stores once-related data, possibly according to a user setting, on the hard disk of the personal computer to be able to read a future usage directly from the hard disk without having to contact an internet server computer.
  • Such predictive storage is also called “caching", the corresponding memory is "cache memory”.
  • the portable data carrier described above can not play the same role with respect to the Internet server computer as the cache-equipped web browser in the case of ordinary Internet use, since the data medium has too few resources, in particular too little non-volatile memory capacity to implement the well-known strategy of storing once-related data.
  • WO 00/65800 A1 describes a system which comprises a portable device, for example a handheld device or a mobile radio terminal, with a web browser which exchanges contactless data with a server.
  • the web browser stores all data once obtained from the server for possible future use. Is the storage space provided for this purpose stored data are deleted according to known strategies, eg the FIFO strategy ("first-in-first-out").
  • a forwarding of the server-related data by the portable device to another data processing device is not disclosed in WO 00/65800 Al.
  • WO 03/094474 Al a method for operating a mobile terminal is described.
  • An application of the mobile terminal e.g. a web browser, whether data received from a server of the mobile operator includes a memory tag and stores thereon - only such data for future use, comprising such a memory tag. In this way, the mobile operator can determine what data is stored on the mobile station.
  • WO 03/094474 also does not describe the forwarding of the data obtained from the server to a third instance.
  • DE 10317147 A1 discloses a chip card with a flash memory and a cache memory in the form of a nonvolatile RAM memory.
  • a memory system with very fast word-updatable, non-volatile memory is created by means of the flash memory and the non-volatile cache memory.
  • Use of the smart card for data communication purposes between various devices, e.g. between a PC and an Internet server is not disclosed in DE 10317147 A1.
  • This object is achieved by a method and a portable data carrier having the features of the independent claims.
  • Advantageous embodiments and further developments are specified in the dependent claims.
  • the method according to the invention is based on the idea that the data carrier itself decides whether data requested by a data processing device at the data carrier and obtained from a data provision device are stored non-volatilely in the data carrier.
  • a web server of the data carrier receives a data request message from a data processing device connected to the data carrier, wherein the data request message relates to providing data for the data processing device.
  • the web server then responds to the data request message by sending a data delivery message that includes the requested data.
  • the web server either reads the data from a non-volatile memory of the data carrier or, if they are not stored in the non-volatile memory, obtains the data from a data supply device connected to the data carrier.
  • the method according to the invention is characterized in that, if the requested data has to be obtained from the data provision device, the data carrier determines whether the related data is stored in the non-volatile memory of the data carrier for answering future data request messages.
  • a correspondingly configured inventive portable data carrier accordingly comprises at least one communication interface, a non-volatile memory and a web server application.
  • the web server The application is set up to receive a data request message from a data processing device connectable to the data carrier via the at least one communication interface, the data request message relating to the data processing device providing data to be provided.
  • the web server application is further configured to respond to the data request message by sending a data delivery message that includes the requested data.
  • the web server application either reads the data from a nonvolatile memory of the data carrier or, if the data is not stored in the nonvolatile memory, sends a data reference message to a data providing device which can be connected to the data carrier via the at least one communication interface and which has a reference to the Data from the data providing device, and finally receives the data to be obtained from the data providing device in the form of a data message.
  • the portable data carrier further comprises a test application, which, if the data are not stored in the non-volatile memory of the data carrier and must accordingly be obtained from the data providing device, determines whether the data obtained is stored in the non-volatile memory of the data storage device. be stored.
  • the data carrier permanently stores certain data obtained from the data provision device in a nonvolatile memory of the data carrier, it can provide this data again in the future if it is requested again by the data processing device without establishing another data communication with the data providing device have to. In this way, data traffic is avoided and the data processing device, the requested data are available quickly. Because the data medium independently decides whether and which data obtained by the data providing device are stored in the nonvolatile memory, the data carrier can respond flexibly to its own, fixed or variable resources as well as external circumstances and can perform the data provision for the data processing device individually and effectively. The overall load of the relevant data network is reduced, while the data processing device can be provided with the requested data faster. At the same time, the limited resources of the data carrier are taken into account.
  • the test application is set up to determine, based on one or more storage criteria, whether data obtained from the data providing device is stored in the nonvolatile memory of the data carrier for answering future data request messages.
  • Such memory criteria can be stored in corresponding files in a memory of the data carrier, which can access the test application.
  • a first storage criterion by means of which the data carrier determines whether the data is stored in the non-volatile memory, specifies at least one data type for data to be stored, which is obtained from the data supply device.
  • the test application determines that such data-provider-related data corresponding to the data type specified in the memory criterion is stored in the nonvolatile memory of the data carrier for the purpose of solving future data request messages.
  • the predetermined data type is a graphic data type, a video data type, an audio data type, or the like, but other types of data are also possible.
  • Websites use data with a graphic data type often as background image data, which remain unchanged even if textual content changes on the corresponding page. If such data are stored in the nonvolatile memory of the data carrier, the amount of data which must be obtained from the data providing device in a future request for the same Internet page by the data processing device usually decreases significantly since the background image data no longer needs to be obtained.
  • a second storage criterion specifies a frequency with which data request messages relating to the data to be acquired are received.
  • the disk determines so based on this memory criterion z. B. that data that are repeatedly requested by the data processing device, after a renewed reference from the data providing device are stored in the non-volatile memory of the data carrier. In the data carrier, this can be done e.g. a list is stored non-volatile, which contains an entry for requests so far requested by the data processing device per request.
  • the data carrier can furthermore determine, based on a third storage criterion, which relates to a data volume of the data supplied by the data providing device, whether the data is stored in the non-volatile memory of the data carrier.
  • the data carrier preferably determines that the data is stored in the nonvolatile memory if the data volume of the data supply device is related to the data.
  • the data carrier determines that the data is stored in the nonvolatile memory when the data volume of the data supplied by the data providing device exceeds a maximum data volume predetermined by the memory criterion. In this way, z. B.
  • each small files whose volume is below the predetermined minimum data volume are stored in the nonvolatile data carrier after obtaining the data supply device or that very large files whose volume is above the predetermined maximum data volume, are stored in the memory ,
  • Storing numerous small files saves the disk from building up a data communication connection to the data providing device because of a very small amount of data to be obtained.
  • the storage of large files is particularly advantageous when a response time of the data providing device is currently high, because to obtain large amounts of data must be transferred between the disk and the data providing device because of the limited buffer memory of the disk many data packets and the entire data transfer would take correspondingly long.
  • a fourth storage criterion relates to a period of time required to obtain the data from the data provider.
  • Such a time interval may in particular be the abovementioned response time of the data provision device, which elapses between a request of the data carrier in the data provision device and a response of the data provision device to the request of the data carrier.
  • the test application of the disk can thus z.
  • B. autonomously decide to store data obtained from the data providing device, when the response time of the data providing device exceeds a certain period of time. In this way it is possible, in the case of a very high utilization of the data providing device or of a transmitting data network in which the corresponding response times of the data provision device are correspondingly high, not to have to reload data once stored.
  • a fifth storage criterion specifies predefined data as data to be stored. This is particularly useful if it is already known which data will often be requested in the future by the data processing device at the web server of the data carrier. This data can then be defined as data to be stored in accordance with the storage criterion described above, whereupon the data carrier, upon a first request of the data at the data providing device, determines that this data is stored in the non-volatile memory.
  • the image background data may be defined as a home page of a bank's Internet presence as data to be stored in the nonvolatile memory, if prior to issue of the volume to a user it is known that the user has online banking transactions on the corresponding page of the data carrier Bank will perform.
  • a sixth memory criterion can also relate to the size of a buffer memory of the data carrier.
  • the data carrier can, for example, always store data relating to the data provision device in the non-volatile memory of the data carrier if the available buffer memory falls below a certain minimum size.
  • the above mentioned different storage criteria can be used individually or in combination. The test application can therefore form several of the stated storage criteria for meaningful logical conditions and use them as complex storage criteria.
  • the checking application is set up to determine from a remote storage criterion whether the data to be provided to the data processing device with the data providing message is to be stored by the data processing device. If the test application determines that this data is to be stored by the data processing device, a control application of the data carrier can provide the corresponding data with a memory instruction or with a memory instruction to the data processing device. In this way it is e.g. possible to relieve the disk in that the data processing device stores data on which it repeatedly accesses repeatedly, without having to request them again and again at the disk.
  • the data carrier thereby has to process fewer data request messages of the data processing device and to obtain less data from the data supply device or to store them in the nonvolatile memory of the data carrier.
  • the control application of the data carrier is further arranged to store data determined by the data providing device and determined by the checking application for storing in the nonvolatile memory, together with storage time information concerning the time of storing the data in the nonvolatile memory of the data carrier.
  • the test application can store in the nonvolatile memory simply checking that the data stored on the data carrier is up-to-date and, in the case where the data processing device requests the data again, deciding whether the data must be retrieved from the data providing device or if the data stored in the nonvolatile memory together with the storage time information the data processing device can be provided.
  • the control application of the data carrier can furthermore be set up, data acquired by the data provisioning device, which are determined by the data carrier to be stored in the non-volatile memory, when the data is first referred to in the form of a series of data packets of a first predetermined size, which is the size of a Buffer memory of the volume does not exceed, to obtain from the data providing device, and to store only a part of the related data packets in the non-volatile memory.
  • the data is then obtained from the data providing device in the form of a sequence of data packets of a second predetermined size which exceeds the first predefined size.
  • the control application specifies the first predetermined size substantially as the size of the buffer of the volume and stores only every other one of the related data packets in the non-volatile memory.
  • the second predetermined size is set by the control application substantially as twice the first predetermined size.
  • the resources of the data carrier in particular the available non-volatile memory, are spared by storing only the first half of the data packets in the non-volatile memory during the first connection.
  • retrieving the data again from the data provision device is accelerated by the fact that, due to the double size of the data packets, only half the number of data packets is used. between the data providing device and the data carrier Ü must be transferred.
  • the disk is only able to store half of such a data packet in its buffer memory.
  • this is compensated for by the fact that, at the first acquisition of the data, the half of the data packet now lost in the further referencing has already been stored in the non-volatile memory as a half-size data packet.
  • test application and the control application are preferably set up such that a point issuing the data carrier can configure the corresponding applications for later, intended use of the data carrier, e.g. via a configuration menu that can be called on the volume.
  • corresponding applications can be subsequently changed or supplemented by the issuing agency, e.g. by specifying existing or by reloading further storage criteria.
  • the data carrier according to the invention comprises as non-volatile memory a non-volatile cache memory in the form of a flash memory or a non-volatile RAM memory for storing the data supplied by the data providing device and intended by the test application for storage.
  • a non-volatile cache memory in the form of a flash memory or a non-volatile RAM memory for storing the data supplied by the data providing device and intended by the test application for storage.
  • the stored data can always be accessed quickly.
  • Figure 1 shows a preferred embodiment of an inventive
  • FIG. 2 components involved in a method according to the invention.
  • a portable data carrier 10 which is shown here as a chip card, comprises a communication interface 20, a processor (CPU) 30 and a number of different memory components 40, 50, 60 and 70. Via the communication interface 20, the In the embodiment of FIG. 1, the data carrier 10 can exchange data with various communication partners to which it can be connected, for example via a card reading device (not shown). Other communication interfaces are possible, for example according to the USB or the SD standard. It is possible that the data carrier 10 is formed as a so-called dual interface data carrier and in addition to the contact-based communication interface 20, a contactless communication interface (not shown), e.g. in the form of an antenna coil, comprises, or even exclusively communicates without contact. The data carrier can also be designed, for example, as a mass storage device, as a USB token or the like.
  • the data carrier 10 comprises a non-volatile, non-rewritable ROM 40 in which an operating system (OS) 42 for controlling the data carrier 10 is stored.
  • the operating system 42 may include a TCP / IP protocol stack so that the volume 10 is capable of transmitting data over the Internet and receiving data transmitted therefrom.
  • the TCP / IP protocol stack or the operating system 42 or at least However, one of them may also be stored in the nonvolatile rewritable flash memory 70.
  • the flash memory 70 stores various applications executable on the processor 30, e.g. a web server application (WS) 72, a test application 74 and a control application 76. These applications will be described in greater detail below with reference to FIG. Data generated or needed by the applications may also be stored in memory 70.
  • the flash memory 70 may also be configured as an EEPROM memory or the like.
  • the data carrier 10 further comprises a volatile RAM memory 50, which comprises a buffer memory area 52, which is used, for example, to record data received via the communication interface 20 during data communication before they are further processed in the data carrier 10.
  • the RAM memory 50 serves the data carrier 10 generally as a fast main memory.
  • the data carrier 10 comprises a non-volatile, rewritable RAM 60, for example in the form of a FeRAM (Ferroelectric Random Access Memory).
  • the memory 60 comprises a cache area 62, which serves to temporarily store data, so that the data carrier 10 can access it quickly, without the data via a data communication connection to be established via the communication interface 20, from a data providing device, eg a server on the Internet to have to relate.
  • Web server application 72 may directly respond to this request by reading the appropriate data from cache memory 62 and sending it to the computing device as part of a data provisioning message.
  • FIG. 2 schematically shows the above-mentioned communication partners of the data carrier 10 - the data processing device in the form of a personal computer (PC) 100 and the data providing device in the form of an internet server 200.
  • Data communication with the data carrier 10 can also be achieved between other devices and via other communication networks take place, eg with a mobile radio terminal in the role of the data processing device and a server of a mobile radio provider as data providing device. Part of the data communication is then contactless, via a corresponding mobile network.
  • the data carrier 10 may be connected as a proxy between the PC 100 and the server 200 and either directly respond to data requests from the PC 100 or obtain the requested data from the server 200 and then forward it to the PC 100.
  • a preferred embodiment of a method for performing such data communication is described in detail below with reference to FIG.
  • an application executed on the PC 100 such as a web browser application, sends a data request message to the data carrier 10 connected to the PC 100, for example in the form of an HTTP request with which the web browser receives data from the data carrier 10. calls.
  • the web server application 72 of the data carrier 10 receives the data request message via the communication interface 20 in step 1010 and checks in step 1020 whether the requested data is stored in the cache memory 62 of the data carrier 10.
  • web server application 72 responds to the web browser data request message in step 1030 by reading the data from cache memory 62 and sending a data delivery message containing the requested data to the web browser, for example, Form of a corresponding HTTP response.
  • the web server application 72 obtains this data from the internet server 200 in step 1100. To this end, the web server application 72 sends a data reference message to the computer in step 1110 Server 200, which is received by it in step 1120. The server 200 then provides the requested data in step 1130 and sends a data message including the requested data to the web server application 72 of the data carrier 10 in step 1140, which receives this data message in step 1150.
  • the aforementioned test application 74 of the volume 10 checks to see if one or more predetermined storage criteria are met and then determines whether the data from the above control application 76 is stored in the cache memory 62. Once stored in the cache memory 62, data may be quickly and easily provided to the web browser of the PC 100 upon future request, as described above with respect to steps 1020 through 1040.
  • the storage criteria may relate to both the requested data, as well as the current data communication with the server 200 parameters and parameters of the data carrier 10 and general preferences that are stored in the disk 10. It is possible that the test application 74 determines that the data will be stored if a memory criterion is met. However, it can only determine the data for storage when a combination of several storage criteria is fulfilled.
  • the test application 74 can apply different combinations of storage criteria for various requested data. Also, the combinations for identical, multiple requested data may vary depending on other attendant circumstances.
  • a storage criterion indicates that data requested by the web browser and having a corresponding data type should be stored in the cache memory 62. This may, for example, relate to a graphic, video or audio data type. Whenever the requested data has such a data type, which is converted into a data communication according to the HTTP protocol, e.g. can be read from the header entry "Content-Type", the test application 74 determines that the corresponding data is stored in the cache memory 62.
  • Another storage criterion indicates that such data should be stored in the cache memory 62, which is requested several times by a data processing device, eg the web browser of the PC 100.
  • the required frequency defined in the storage criterion may vary.
  • the web server application 72 can be a simple list of entries on previously requested data, the test application 74 then tests whether the requested data is represented in a frequency defined by the storage criterion in the list. In this case, it is possible that an entry in the list, which is preferably stored non-volatilely, originates from a session of the data carrier 10 with a device deviating from the PC 100. If the data has already been requested in the required frequency, then the test application 74 determines that the data is stored in the cache memory 62. The entries about the requested data can then be deleted from the list of the web server application 72.
  • the test application 74 determines that requested data is stored when its data volume falls below a certain predetermined minimum data volume or exceeds a predetermined maximum data volume. The test application 74 thereby determines, for example, that small files received by the server 200 are stored, so that the web server application 72 does not have to establish a new data communication connection to the server 200 when the web browser requests the file browser again. On the other hand, the test application 74 determines that very large files related to the server 200 are stored in the cache memory 62 of the volume 10.
  • Another memory criterion relates to a period of time between the transmission of a data reference message by the data carrier 10 to the server 200 and the receipt of a data message from the server 200 in response to the data reference message. If this time span, the so-called server response time, exceeds a period of time defined in the storage criterion, then so the test application 74 determines that the requested data is stored in the cache memory 62 of the volume 10.
  • Another storage criterion specifies data that, once acquired from the server 200 for the first time, is stored in the cache memory 62 of the volume 10. This usually concerns such data, of which it is known in advance that they will be repeatedly requested by the web browser of the PC 100 in the future.
  • the test application 74 may make the decision as to whether requested data is dependent on the size of the currently available buffer memory 52 of the data carrier 10 and thus react to the current resource location of the data carrier 10.
  • Another storage criterion could relate to the storage space still available in the cache memory 62.
  • Other memory criteria may be used to determine if requested data 74, if not yet stored in cache memory 62, is stored there.
  • test application 74 If the test application 74 has determined that the referenced data is not stored in the cache memory 62, then, before the data is sent to the web browser of the PC 100 as part of a data provision message in step 1260 in response to the data request received in step 1010. be determined based on one or more Fern arrivedkriterien whether the data is provided with a memory hint or a storage instruction, which determine that the data to be stored by the web browser on the hard disk of the PC 100.
  • the Remote storage criteria may partially match the storage criteria set out above or be different.
  • the web server application 72 sends the data provision message comprising the requested data, with or without a storage instruction, to the web browser of the PC 100 in step 1260.
  • test application 74 determines that requested data is to be stored in the cache memory 62 while there is insufficient memory available for the data to be stored, then the control application 76 decides upon known policies stored in the cache memory 62 Data will be removed. According to the FIFO strategy, e.g. always clears the data that has already been stored in the cache memory 62 the longest. Another strategy, LRU (least recently used), pretends to erase the data that has not been requested the longest. Other strategies are possible.
  • test application 74 If the test application 74 has determined data for the memory in the cache memory 62, it causes the control application 76 in step 1250 to store the data in the cache memory 62.
  • the control application 76 then stores the data along with time memory information in the form of a timestamp indicating when the data has been stored. This helps to assess the timeliness of the data and simplifies strategies for deleting data from the cache memory 62. However, the timestamp may also be omitted.
  • the web server application 72 sends the data delivery message comprising the requested data to the web browser of the PC 100 in step 1260.
  • the obtaining of data from the server 200 described with reference to step 1100 is generally carried out by referring to a plurality of data packets which, in addition to a protocol-dependent header component, each have a data component of a certain predefined size.
  • the size of this data portion can be agreed between the volume 10 and the server 200 at the beginning of the respective data transmission. Due to the limited resources of the data carrier 10, in particular the limited size of the available buffer memory 52, data of a larger volume can be received by the data carrier 10 only in the form of a plurality of data packets, each having a size that does not exceed the size of the buffer memory 52 exceeds. The smaller the data packets, the more of them must be transmitted accordingly and the longer the data transfer takes.
  • the procedure may be as follows.
  • the control application 76 specifies when first acquiring the data a size of the data packets to be received - more precisely, actually the size of the data portion of the data packets; the header portion usually has a negligible constant size - which essentially corresponds to the size of the buffer memory 52 - and stores only every other received data packet in the cache memory 62 when receiving the data packets.
  • the control application 76 sets the size of the the data packets to twice the size, ie the size of the data packets now essentially equal to twice the size of the buffer memory 52. Accordingly, only half as many data packets as in the first Obtaining related and the corresponding download requires less time. Due to their size, the received data packets can now only be taken up in half by the buffer memory 52. Since, however, the respectively lost half of the data packet has already been stored in the cache memory 62 when first obtained - as a half-size data packet - the complete requested data is again available in the data carrier 10 and can be sent to the web browser of the PC 100 be sent. In this way, a middle ground between a moderate consumption of cache resources in the volume 10 can be found while responding to the requests of the web browser relatively quickly.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Bei einem Verfahren zum Bereitstellen von Daten für eine Datenverarbeitungseinrichtung (100) durch einen Webserver (72) eines Datenträgers (10) empfängt (1010) der Webserver (72) des Datenträgers (10) eine Datenanforderungsnachricht von der mit dem Datenträger (10) verbundenen Datenverarbeitungseinrichtung (100), wobei die Datenanforderungsnachricht ein Bereitstellen von Daten für die Datenverarbeitungseinrichtung (100) betrifft. Daraufhin beantwortet (1030; 1260) der Webserver (72) die Datenanforderungsnachricht durch Senden einer Datenbereitstellungsnachricht, die die angeforderten Daten umfasst. Dazu liest der Webserver (72) die Daten entweder aus einem nichtflüchtigen Speicher (62) des Datenträgers aus oder bezieht diese, falls die Daten nicht in dem nichtflüchtigen Speicher (62) gespeichert sind, von einer mit dem Datenträger (10) verbundenen Datenbereitstellungseinrichtung (200). Falls die angeforderten Daten von der Datenbereitstellungseinrichtung (200) bezogen werden, bestimmt der Datenträger (10), ob die bezogenen Daten in dem nichtflüchtigen Speicher (62) des Datenträgers (10) zur Beantwortung zukünftiger Datenanforderungsnachrichten gespeichert werden.

Description

P o r t a b l e r D a t e n t r ä g e r m i t W e b - S e r v e r
Die vorliegende Erfindung betrifft ein Verfahren in einem portablen Datenträger mit einem Webserver zur Datenkommunikation zwischen dem Daten- träger und einer mit dem Datenträger verbundenen Datenverarbeitungseinrichtung sowie einen derartigen Datenträger.
Bei einem Verfahren der eingangs genannten Art stellt der Webserver Daten für die Datenverarbeitungseinrichtung bereit, die diese zuvor angefordert hat, indem der Webserver die angeforderten Daten entweder aus einem Speicher des Datenträgers ausliest oder, falls die Daten nicht in dem Speicher gespeichert sind, von einer Datenbereitstellungseinrichtung bezieht, z.B. von einem Serverrechner im Internet. Die Datenverarbeitungseinrichtung kann dabei beispielsweise ein Personal Computer (PC) sein, für den der Datenträ- ger als so genannter Proxy agiert. D.h., der Datenträger tritt gegenüber einer Applikation auf dem PC, z.B. gegenüber einem auf dem PC installierten Webbrowser, als Datenlieferant - d.h. als Daten-Server - auf, gegenüber einem Internet-Serverrechner hingegen als Datenbezieher - d.h. als Daten- Client. Ein derartig eingesetzter Datenträger umfasst in der Regel einen In- ternet-Protokoll-Stapel und kann einem Nutzer beispielsweise als Authenti- sierungs-Gateway dienen, z.B. für online-Banking-Anwendungen oder dergleichen.
Portable Datenträger, z.B. Chipkarten, verfügen über sehr begrenzte Res- sourcen hinsichtlich Speicherkapazität. Dies betrifft sowohl flüchtigen Puffer- oder Arbeitsspeicher als auch nichtflüchtigen Speicher, beispielsweise in Form von Flash-Speichern oder dergleichen. Aufgrund des begrenzten Pufferspeichers muss eine Datenkommunikation zwischen dem Datenträger und einem Internet-Serverrechner zum Beziehen von Daten, die dem Daten- träger nicht vorliegen und dem Webbrowser auf dem PC bereitgestellt werden sollen, in relativ kleine Datenpakete unterteilt werden. Wenn die Antwortzeiten des Internet-Serverrechners hoch sind, beispielsweise aufgrund eines hohen Datenverkehrs im Internet zu einer bestimmten Tageszeit oder einer allgemein starken Belastung des betreffenden Internet-Serverrechners, können dem Webbrowser die angeforderten Daten folglich nur sehr langsam bereitgestellt werden.
In dem vorstehend beschriebenen Szenario kann seitens des Datenträgers nicht auf eine bekannte Strategie aus der gewöhnlichen Internetnutzung ohne Verwendung eines zwischengeschalteten Datenträgers zurückgegriffen werden, nach der ein Webbrowser einmal bezogene Daten, gegebenenfalls gemäß einer Nutzereinstellung, auf der Festplatte des PCs speichert, um diese Daten für eine zukünftige Nutzung direkt von der Festplatte auslesen zu können, ohne dazu einen Internet-Serverrechner kontaktieren zu müssen. Ein solches vorausschauendes Speichern wird auch "cachen" genannt, der entsprechende Speicher "Cache-Speicher". Der vorstehend beschriebene portable Datenträger kann bei dem beschriebenen Szenario gegenüber dem Internet-Serverrechner jedoch nicht dieselbe Rolle einnehmen, wie der mit ei- nem Cache-Speicher ausgestattete Webbrowser bei der gewöhnlichen Internetnutzung, denn der Datenträger verfügt über zu wenig Ressourcen, insbesondere über zu wenig nichtflüchtige Speicherkapazität, um die bekannte Strategie des Abspeicherns einmal bezogener Daten umsetzen zu können.
Die WO 00/65800 Al beschreibt ein System, welches ein portables Gerät, beispielsweise ein Handheld oder ein Mobilfunkendgerät, mit einem Webbrowser umfasst, welches mit einem Server kontaktlos Daten austauscht. Der Webbrowser speichert alle einmal von dem Server bezogenen Daten für eine eventuelle zukünftige Nutzung. Ist der dafür vorgesehene Speicherplatz er- schöpft, werden gespeicherte Daten nach bekannten Strategien, z.B. der FI- FO-Strategie ("first-in-f irst-out"), wieder gelöscht. Ein Weiterleiten der von dem Server bezogenen Daten durch das portable Gerät an eine weitere Datenverarbeitungseinrichtung ist in der WO 00/65800 Al nicht offenbart.
In der WO 03/094474 Al ist ein Verfahren zum Betreiben eines Mobilfunk- endgeräts beschrieben. Dabei prüft eine Anwendung des Mobilfunkendge- räts, z.B. ein Webbrowser, ob von einem Server des Mobilfunkbetreibers empfangene Daten einen Speichervermerk umfassen und speichert darauf - hin nur solche Daten für eine zukünftige Nutzung, die einen solchen Speichervermerk umfassen. Auf diese Weise kann der Mobilfunkbetreiber bestimmen, welche Daten auf dem Mobilfunkendgerät gespeichert werden. Auch die WO 03/094474 beschreibt kein Weiterleiten der von dem Server bezogenen Daten an eine dritte Instanz.
Die DE 10317147 Al offenbart eine Chipkarte mit einem Flash-Speicher und einem Cache-Speicher in Form eines nichtflüchtigen RAM-Speichers. Mit Hilfe einer Steuereinrichtung wird mittels des Flash-Speichers und des nicht- flüchtigen Cache-Speichers ein Speichersystem mit sehr schnell wortweise aktualisierbarem, nichtflüchtigem Speicher geschaffen. Eine Nutzung der Chipkarte zu Datenkommunikationszwecken zwischen verschiedenen Einrichtungen, z.B. zwischen einem PC und einem Internetserver, ist in der DE 10317147 Al nicht offenbart.
Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren vorzuschlagen, welches dem portablen Datenträger ermöglicht, einer Datenverarbeitungseinrichtung angeforderte Daten möglichst effizient bereitzustellen. Diese Aufgabe wird durch ein Verfahren und einen portablen Datenträger mit den Merkmalen der unabhängigen Ansprüche gelöst. Vorteilhafte Ausgestaltungen und Weiterbildungen sind in den abhängigen Ansprüchen angegeben.
Das erfindungsgemäße Verfahren basiert auf der Idee, dass der Datenträger selbst entscheidet, ob von einer Patenverarbeitungseinrichtung bei dem Datenträger angeforderte und von einer Datenbereitstellungseinrichtung bezogene Daten in dem Datenträger nichtflüchtig gespeichert werden.
Demgemäß empfängt ein Webserver des Datenträgers eine Datenanforderungsnachricht von einer mit dem Datenträger verbundenen Datenverarbeitungseinrichtung, wobei die Datenanforderungsnachricht ein Bereitstellen von Daten für die Datenverarbeitungseinrichtung betrifft. Daraufhin beant- wortet der Webserver die Datenanforderungsnachricht durch Senden einer Datenbereitstellungsnachricht, die die angeforderten Daten umfasst. Dazu liest der Webserver die Daten entweder aus einem nichtflüchtigen Speicher des Datenträgers aus oder bezieht die Daten, falls sie nicht in dem nichtflüchtigen Speicher gespeichert sind, von einer mit dem Datenträger verbundenen Datenbereitstellungseinrichtung. Das erfindungsgemäße Verfahren zeichnet sich dadurch aus, dass, falls die angeforderten Daten von der Datenbereitstellungseinrichtung bezogen werden müssen, der Datenträger bestimmt, ob die bezogenen Daten in dem nichtflüchtigen Speicher des Datenträgers zur Beantwortung zukünftiger Datenanforderungsnachrichten gespeichert wer- den.
Ein entsprechend eingerichteter erfindungsgemäßer portabler Datenträger umfasst demnach zumindest eine Kommunikationsschnittstelle, einen nicht- flüchtigen Speicher und eine Webserver- Applikation. Die Webserver- Applikation ist eingerichtet, eine Datenanforderungsnachricht von einer mit dem Datenträger über die zumindest eine Kommunikationsschnittstelle verbindbaren Datenverarbeitungseinrichtung zu empfangen, wobei die Datenanforderungsnachricht für die Datenverarbeitungseinrichtung bereitzustel- lende Daten betrifft. Die Webserver- Applikation ist weiterhin eingerichtet, die Datenanforderungsnachricht durch Senden einer Datenbereitstellungsnachricht zu beantworten, die die angeforderten Daten umf asst. Dazu liest die Webserver- Applikation entweder die Daten aus einem nichtflüchtigen Speicher des Datenträgers aus oder sie sendet, falls die Daten nicht in dem nichtflüchtigen Speicher gespeichert sind, eine Datenbezugsnachricht an eine über die zumindest eine Kommunikationsschnittstelle mit dem Datenträger verbindbare Datenbereitstellungseinrichtung, die einen Bezug der Daten von der Datenbereitstellungseinrichtung betrifft, und empfängt schließlich die zu beziehenden Daten von der Datenbereitstellungseinrichtung in Form einer Datennachricht. Erfindungsgemäß umfasst der portable Datenträger ferner eine Prüfapplikation, die eingerichtet ist, falls die Daten nicht in dem nicht- flüchtigen Speicher des Datenträgers gespeichert sind und dementsprechend von der Datenbereitstellungseinrichtung bezogen werden müssen, zu bestimmen, ob die bezogenen Daten in dem nichtflüchtigen Speicher des Da- tenträgers gespeichert werden.
Dadurch, dass der Datenträger bestimmte von der Datenbereitstellungseinrichtung bezogene Daten dauerhaft in einem nichtflüchtigen Speicher des Datenträgers speichert, kann er diese Daten, wenn sie zukünftig von der Da- tenverarbeitungseinrichtung erneut angefordert werden, dieser direkt bereitstellen, ohne eine erneute Datenkommunikation mit der Datenbereitstellungseinrichtung aufbauen zu müssen. Auf diese Weise wird Datenverkehr vermieden und der Datenverarbeitungseinrichtung stehen die angeforderten Daten schnell zur Verfügung. Da der Datenträger selbständig entscheidet, ob und welche von der Datenbereitstellungseinrichtung bezogenen Daten in dem nichtflüchtigen Speicher gespeichert werden, kann der Datenträger flexibel auf eigene, fest vorgegebene oder veränderliche Ressourcen sowie äußere Umstände reagieren und die Datenbereitstellung für die Datenverarbei- tungseinrichtung individuell effektiv durchführen. Die Gesamtlast des betreffenden Datennetzes verringert sich, während der Datenverarbeitungseinrichtung die angeforderten Daten schneller bereitgestellt werden können. Gleichzeitig wird den begrenzten Ressourcen des Datenträgers Rechnung getragen.
Vorzugsweise ist die Prüfapplikation eingerichtet, anhand eines oder mehrerer Speicherkriterien zu bestimmen, ob von der Datenbereitstellungseinrichtung bezogene Daten in dem nichtflüchtigen Speicher des Datenträgers zum Beantworten zukünftiger Datenanforderungsnachrichten gespeichert wer- den. Derartige Speicherkriterien können in entsprechenden Dateien in einem Speicher des Datenträgers hinterlegt werden, auf die die Prüf applikation zugreifen kann.
Ein erstes Speicherkriterium, anhand dessen der Datenträger bestimmt, ob die Daten in dem nichtflüchtigen Speicher gespeichert werden, gibt zumindest einen Datentyp für zu speichernde, von der Datenbereitstellungseinrichtung bezogene Daten vor. In diesem Fall bestimmt die Prüfapplikation, dass solche von der Datenbereitstellungseinrichtung bezogenen Daten, die dem in dem Speicherkriterium vorgegebenen Datentyp entsprechen, zum Beantwor- ten zukünftiger Datenanforderungsnachrichten in dem nichtflüchtigen Speicher des Datenträgers gespeichert werden. Vorzugsweise handelt es sich bei dem vorgegebenen Datentyp um einen Graphikdatentyp, einen Videodatentyp, einen Audiodatentyp oder dergleichen, aber auch andere Datentypen sind möglich. Bei Internetseiten dienen Daten mit einem Grafikdatentyp oftmals als Hintergrundbilddaten, die selbst dann, wenn sich auf der entsprechenden Seite textuelle Inhalte ändern, unverändert bleiben. Werden solche Daten in dem nichtflüchtigen Speicher des Datenträgers gespeichert, verringert sich die Datenmenge, die bei einer zukünftigen Anfrage nach der- selben Internetseite durch die Datenverarbeitungseinrichtung von der Datenbereitstellungseinrichtung bezogen werden müssen, in der Regel deutlich, da die Hintergrundbilddaten nicht mehr bezogen werden müssen.
Ein zweites Speicherkriterium gibt eine Häufigkeit vor, mit der Datenanfra- genachrichten betreffend die zu beziehenden Daten empfangen werden. Der Datenträger bestimmt also anhand dieses Speicherkriteriums z. B., dass Daten, die mehrfach von der Datenverarbeitungseinrichtung angefordert werden, nach einem abermaligen Beziehen von der Datenbereitstellungseinrichtung in dem nichtflüchtigen Speicher des Datenträgers gespeichert werden. In dem Datenträger kann dazu z.B. eine Liste nichtflüchtig gespeichert werden, die für bislang durch die Datenverarbeitungseinrichtung angeforderte Daten pro Anforderung einen Eintrag enthält. Durch das Speichern mehrfach angeforderter Daten können mehrmals wiederkehrende Anforderungen der Datenverarbeitungseinrichtung, die dieselben Daten betreffen und insofern besonders relevant sind, durch den Datenträger effektiv beantwortet werden, ohne eine Datenkommunikationsverbindung mit der Datenbereitstellungseinrichtung aufbauen zu müssen.
Der Datenträger kann weiterhin anhand eines dritten Speicherkriteriums, das ein Datenvolumen der von der Datenbereitstellungseinrichtung bezogenen Daten betrifft, bestimmen, ob die Daten in dem nichtflüchtigen Speicher des Datenträgers gespeichert werden. Vorzugsweise bestimmt der Datenträger, dass die Daten in dem nichtflüchtigen Speicher gespeichert werden, wenn das Datenvolumen der von der Datenbereitstellungseinrichtung bezo- genen Daten ein durch das Speicherkriterium vorgegebenes Minimaldaten- volumen unterschreitet, oder der Datenträger bestimmt, dass die Daten in dem nichtflüchtigen Speicher gespeichert werden, wenn das Datenvolumen der von der Datenbereitstellungseinrichtung bezogenen Daten ein durch das Speicherkriterium vorgegebenes Maximaldatenvolumen überschreitet. Auf diese Weise kann z. B. vorgesehen sein, dass jeweils kleine Dateien, deren Volumen unterhalb des vorgegebenen Minimaldatenvolumens liegt, nach dem Beziehen von der Datenbereitstellungseinrichtung in dem nichtflüchtigen Datenträger gespeichert werden bzw. dass sehr große Dateien, deren Volumen oberhalb des vorgegebenen Maximaldatenvolumens liegt, in dem Speicher gespeichert werden. Das Speichern von zahlreichen kleinen Dateien erspart dem Datenträger jeweils das Aufbauen einer Datenkommunikationsverbindung zu der Datenbereitstellungseinrichtung wegen einer nur sehr kleinen zu beziehenden Datenmenge. Das Speichern von großen Dateien ist insbesondere dann vorteilhaft, wenn eine Antwortzeit der Datenbereitstellungseinrichtung gerade hoch ist, denn zum Beziehen großer Datenmengen müssen zwischen dem Datenträger und der Datenbereitstellungseinrichtung wegen des begrenzten Pufferspeichers des Datenträgers viele Datenpakete übertragen werden und die gesamte Datenübertragung würde entsprechend lange dauern.
Ein viertes Speicherkriterium betrifft eine Zeitspanne, die zum Beziehen der Daten von der Datenbereitstellungseinrichtung benötigt wird. Eine solche Zeitspanne kann insbesondere die vorstehend erwähnte Antwortzeit der Da- tenbereitstellungseinrichtung sein, die zwischen einer Anfrage des Datenträgers bei der Datenbereitstellungseinrichtung und einer Antwort der Datenbereitstellungseinrichtung auf die Anfrage des Datenträgers vergeht. Die Prüfapplikation des Datenträgers kann also z. B. selbständig entscheiden, von der Datenbereitstellungseinrichtung bezogene Daten dann zu speichern, wenn die Antwortzeit der Datenbereitstellungseinrichtung eine gewisse Zeitspanne überschreitet. Auf diese Weise ist es möglich, bei einer sehr starken Auslastung der Datenbereitstellungseinrichtung oder eines übertragenden Datennetzes, bei der die entsprechenden Antwortzeiten der Datenbereit- Stellungseinrichtung dementsprechend hoch sind, einmal gespeicherte Daten nicht erneut beziehen zu müssen.
Es kann weiterhin vorgesehen sein, dass ein fünftes Speicherkriterium vordefinierte Daten als zu speichernde Daten vorgibt. Dies ist insbesondere dann sinnvoll, wenn bereits bekannt ist, welche Daten zukünftig häufig durch die Datenverarbeitungseinrichtung bei dem Webserver des Datenträgers angefordert werden. Diese Daten können dann gemäß des vorstehend beschriebenen Speicherkriteriums als zu speichernde Daten definiert werden, woraufhin der Datenträger bei einem ersten Anfordern der Daten bei der Daten- bereitstellungseinrichtung bestimmt, dass diese Daten in dem nichtflüchtigen Speicher gespeichert werden. Beispielsweise können die Bildhintergrunddaten eine Einstiegsseite einer Internet-Präsenz einer Bank als in dem nichtflüchtigen Speicher zu speichernde Daten definiert werden, wenn vor Ausgabe des Datenträgers an einen Nutzer bekannt ist, dass der Nutzer über den Datenträger online-Banking-Transaktionen auf der entsprechende Seite der Bank durchführen wird.
Schließlich kann ein sechstes Speicherkriterium auch die Größe eines Pufferspeichers des Datenträgers betreffen. Der Datenträger kann beispielsweise bei der Datenbereitstellungseinrichtung bezogene Daten immer dann in dem nichtflüchtigen Speicher des Datenträgers speichern, wenn der verfügbare Pufferspeicher eine gewisse Mindestgröße unterschreitet. Die oben genannten verschiedenen Speicherkriterien können einzeln oder in Kombination verwendet werden. Die Prüf applikation kann deshalb mehrere der genannten Speicherkriterien zu aussagenlogischen Bedingungen formen und als komplexe Speicherkriterien einsetzen.
Vorzugsweise ist die Prüfapplikation eingerichtet, falls von der Datenbereitstellungseinrichtung bezogene Daten nicht in dem nichtflüchtigen Speicher des Datenträgers gespeichert werden, anhand eines Fernspeicherkriteriums zu bestimmen, ob die der Datenverarbeitungseinrichtung mit der Datenbe- reitstellungsnachricht bereitzustellenden Daten von der Datenverarbeitungseinrichtung zu speichern sind. Falls die Prüf applikation bestimmt, dass diese Daten von der Datenverarbeitungseinrichtung zu speichern sind, kann eine Steuerapplikation des Datenträgers die entsprechenden Daten mit einem Speicherhinweis bzw. mit einer Speicheranweisung an die Datenverarbei- tungseinrichtung versehen. Auf diese Weise ist es z.B. möglich, den Datenträger dadurch zu entlasten, dass die Datenverarbeitungseinrichtung Daten, auf die sie mehrmalig immer wieder zugreift, bei sich selbst speichert, ohne diese immer wieder bei dem Datenträger anfordern müssen. Der Datenträger hat dadurch weniger Datenanforderungsnachrichten der Datenverarbei- tungseinrichtung zu bearbeiten und weniger Daten von der Datenbereitstellungseinrichtung zu beziehen bzw. in dem nichtflüchtigen Speicher des Datenträgers zu speichern.
Die Steuerapplikation des Datenträgers ist weiterhin eingerichtet, von der Datenbereitstellungseinrichtung bezogene und von der Prüfapplikation zum Speichern in dem nichtflüchtigen Speicher bestimmte Daten zusammen mit einer Speicherzeitinformation, die den Zeitpunkt des Speicherns der Daten in dem nichtflüchtigen Speicher des Datenträgers betrifft, zu speichern. Auf diese Weise kann die Prüfapplikation die in dem nichtflüchtigen Speicher des Datenträgers gespeicherten Daten einfach auf Aktualität prüfen und in dem Fall, in dem die Datenverarbeitungseinrichtung die entsprechenden Daten erneut anfordert, entscheiden, ob die Daten erneut von der Datenbereitstellungseinrichtung bezogen werden müssen oder ob die in dem nichtflüch- tigen Speicher zusammen mit der Speicherzeitinformation gespeicherten Daten der Datenverarbeitungseinrichtung bereitgestellt werden können.
Die Steuerapplikation des Datenträgers kann weiterhin eingerichtet sein, von der Datenbereitstellungseinrichtung bezogene Daten, die von dem Datenträ- ger zum Speichern in dem nichtflüchtigen Speicher bestimmt werden, beim erstmaligen Beziehen der Daten in Form einer Folge von Datenpaketen einer ersten vorgegebenen Größe, die die Größe eines Pufferspeichers des Datenträgers nicht übersteigt, von der Datenbereitstellungseinrichtung zu beziehen, und nur einen Teil der bezogenen Datenpakete in dem nichtflüchtigen Speicher zu speichern. Bei einem weiteren Beziehen der bereits bezogenen Daten werden dann die Daten in Form einer Folge von Datenpaketen einer zweiten vorgegebenen Größe, die die erste vorgegebene Größe übersteigt, von der Datenbereitstellungseinrichtung bezogen. Vorzugsweise gibt die Steuerapplikation die erste vorgegebene Größe im Wesentlichen als die Grö- ße des Pufferspeichers des Datenträgers vor und speichert nur jedes zweite der bezogenen Datenpakete in dem nichtflüchtigen Speicher. Zweckmäßigerweise wird die zweite vorgegebene Größe von der Steuerapplikation im Wesentlichen als das Doppelte der ersten vorgegebenen Größe festgelegt. Auf diese Weise werden einerseits die Ressourcen des Datenträgers, insbe- sondere der verfügbare nichtflüchtige Speicher, geschont, indem beim ersten Beziehen nur die Hälfte der Datenpakete in dem nichtflüchtigen Speicher gespeichert wird. Andererseits wird das abermalige Beziehen der Daten von der Datenbereitstellungseinrichtung dadurch beschleunigt, dass aufgrund der doppelten Größe der Datenpakete nur die halbe Anzahl von Datenpake- ten zwischen der Datenbereitstellungseinrichtung und dem Datenträger ü- bertragen werden muss. Zwar ist der Datenträger nur in der Lage, jeweils die Hälfte eines solchen Datenpakets in seinem Pufferspeicher zu speichern. Dies wird jedoch dadurch kompensiert, dass bei dem ersten Beziehen der Daten die nun bei dem weiteren Beziehen verloren gehende Hälfte des Datenpakets als ein Datenpaket der halben Größe bereits in dem nichtflüchtigen Speicher gespeichert worden ist.
Die Prüfapplikation und die Steuerapplikation sind vorzugsweise derart eingerichtet, dass eine den Datenträger ausgebende Stelle die entsprechenden Applikationen auf eine spätere, intendierte Nutzung des Datenträgers konfigurieren kann, z.B. über ein Konfigurationsmenü, das auf dem Datenträger aufgerufen werden kann. Insbesondere kann es dazu vorgesehen sein, dass die entsprechenden Applikationen von der ausgebenden Stelle nach- träglich verändert oder ergänzt werden können, z.B. durch Präzisieren bestehender oder durch Nachladen weiterer Speicherkriterien.
Vorzugsweise umfasst der erfindungsgemäße Datenträger als nichtflüchtigen Speicher einen nichtflüchtigen Cache-Speicher in Form eines Flash- Speichers oder eines nichtflüchtigen RAM-Speichers zum Speichern der von der Datenbereitstellungseinrichtung bezogenen und von der Prüf applikation zum Speichern bestimmten Daten. Auf diese Weise kann stets schnell auf die gespeicherten Daten zugegriffen werden.
Die vorliegende Erfindung wird im Folgenden mit Bezug auf die beiliegenden Zeichnungen beispielhaft beschrieben. Darin zeigen:
Figur 1 eine bevorzugte Ausführungsform eines erfindungsgemäßen
Datenträgers; Figur 2 an einem erfindungsgemäßen Verfahren beteiligte Komponenten; und
Figur 3 Schritte einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens.
Mit Bezug auf Figur 1 umfasst ein portabler Datenträger 10, der hier als Chipkarte dargestellt ist, eine Kommunikationsschnittstelle 20, einen Prozes- sor (CPU) 30 und eine Reihe von verschiedenen Speicherkomponenten 40, 50, 60 und 70. Über die Kommunikationsschnittstelle 20, die in der Ausführungsform aus Fig. 1 als Kontaktfeld gemäß ISO 7816 ausgebildet ist, kann der Datenträger 10 Daten mit verschiedenen Kommunikationspartnern austauschen, mit denen er verbunden werden kann, beispielsweise über ein Kar- tenlesegerät (nicht gezeigt). Andere Kommunikationsschnittstellen sind möglich, beispielsweise nach dem USB- oder den SD-Standard. Es ist möglich, dass der Datenträger 10 als so genannter Dual-Interface Datenträger ausbildet ist und zusätzlich zu der kontaktbehafteten Kommunikationsschnittstelle 20 eine kontaktlose Kommunikationsschnittstelle (nicht gezeigt), z.B. in Form einer Antennenspule, umfasst, oder gar ausschließlich kontaktlos kommuniziert. Der Datenträger kann beispielsweise auch als Massenspeicher, als USB-Token oder dergleichen ausgebildet sein.
Der Datenträger 10 umfasst einen nichtflüchtigen, nicht wiederbeschreibba- ren ROM-Speicher 40, in dem ein Betriebssystem (OS) 42 zum Steuern des Datenträgers 10 gespeichert ist. Das Betriebssystem 42 kann einen TCP/ IP- Protokollstapel umfassen, so dass der Datenträger 10 in der Lage ist, über das Internet Daten zu senden und darüber übertragene Daten zu empfangen. Der TCP/IP-Protokollstapel bzw. das Betriebssystem 42 oder zumindest Tei- Ie davon können aber auch in dem nichtflüchtigen, wiederbeschreibbaren Flash-Speicher 70 gespeichert sein.
In dem Flash-Speicher 70 sind verschiedene Applikationen gespeichert, die auf dem Prozessor 30 ausführbar sind, z.B. eine Webserver- Applikation (WS) 72, eine Prüfapplikation 74 und eine Steuerapplikation 76. Diese Applikationen werden mit Bezug auf Figur 3 nachstehend genauer beschrieben. Von den Applikationen erzeugte oder benötigte Daten können ebenfalls in dem Speicher 70 gespeichert werden. Der Flash-Speicher 70 kann auch als EEPROM-Speicher oder dergleichen ausgebildet sein.
Der Datenträger 10 umfasst weiterhin einen flüchtigen RAM-Speicher 50, der einen Pufferspeicherbereich 52 umfasst, der beispielsweise eingesetzt wird, um bei einer Datenkommunikation über die Kommunikationsschnittstelle 20 empfangene Daten aufzunehmen, bevor diese in dem Datenträger 10 weiterverarbeitet werden. Der RAM-Speicher 50 dient dem Datenträger 10 allgemein als schneller Arbeitsspeicher.
Zusätzlich zu dem flüchtigen RAM-Speicher 50 umfasst der Datenträger 10 einen nichtflüchtigen, wiederbeschreibbaren RAM-Speicher 60, beispielsweise in Form eines FeRAM ("Ferroelectric Random Access Memory"). Der Speicher 60 umfasst einen Cache-Bereich 62, der dazu dient, Daten zwischenzu- speichern, damit der Datenträger 10 schnell darauf zugreifen kann, ohne die Daten über eine über die Kommunikationsschnittstelle 20 aufzubauende Da- tenkommunikationsverbindung von einer Datenbereitstellungseinrichtung, z.B. einen Server im Internet, beziehen zu müssen. Wenn die Webserver- Applikation 72 beispielsweise eine Datenanforderungsnachricht einer mit dem Datenträger 10 verbundenen Datenverarbeitungseinrichtung empfängt, welche Daten anfordert, die bereits in dem Cache-Speicher 62 gespeichert sind, kann die Webserver- Applikation 72 diese Anforderung direkt beantworten, indem sie die entsprechenden Daten aus dem Cache-Speicher 62 ausliest und als Teil einer Datenbereitstellungsnachricht an die Datenverarbeitungseinrichtung sendet. Es ist jedoch auch möglich, auf den nichtflüchtigen RAM-Speicher 60 zu verzichten und einen entsprechenden Cache-Speicher 62 als Teil des Flash-Speichers 70 auszubilden.
In Figur 2 sind vorstehend genannte Kommunikationspartner des Datenträgers 10 schematisch dargestellt - die Datenverarbeitungseinrichtung in Form eines Personal Computers (PC) 100 und die Datenbereitstellungseinrichtung in Form eines Internet-Servers 200. Eine Datenkommunikation mit dem Datenträger 10 kann gleichfalls zwischen anderen Geräten und über andere Kommunikationsnetze stattfinden, z.B. mit einem Mobilfunkendgerät in der Rolle der Datenverarbeitungseinrichtung und einem Server eines Mobil- funkproviders als Datenbereitstellungseinrichtung. Ein Teil der Datenkommunikation verläuft dann kontaktlos, über ein entsprechendes Mobilfunknetz.
Wie in Fig. 2 dargestellt, kann der Datenträger 10 als Proxy zwischen den PC 100 und den Server 200 geschaltet sein und Datenanforderungen des PCs 100 entweder direkt beantworten oder die angeforderten Daten von dem Server 200 beziehen und dann an den PC 100 weiterleiten. Eine bevorzugte Ausführungsform eines Verfahrens zum Durchführen einer derartigen Datenkommunikation ist nachstehend mit Bezug auf Figur 3 detailliert beschrieben.
In Schritt 1000 sendet eine auf dem PC 100 ausgeführte Applikation, wie z.B. eine Webbrowser- Applikation, eine Datenanforderungsnachricht an den mit dem PC 100 verbundenen Datenträger 10, beispielsweise in Form einer HTTP- Anfrage, mit der der Webbrowser Daten von dem Datenträger 10 an- fordert. Die Webserver- Applikation 72 des Datenträgers 10 empfängt die Datenanforderungsnachricht in Schritt 1010 über die Kommunikationsschnittstelle 20 und prüft in Schritt 1020, ob die angeforderten Daten in dem Cache-Speicher 62 des Datenträgers 10 gespeichert sind.
Ist dies der Fall, so beantwortet die Webserver- Applikation 72 die Datenanforderungsnachricht des Webbrowsers in Schritt 1030, indem sie die Daten aus dem Cache-Speicher 62 ausliest und eine Datenbereitstellungsnachricht, die die angeforderten Daten umfasst, an den Webbrowser sendet, beispiels- weise in Form einer entsprechenden HTTP-Antwort.
Sind die angeforderten Daten hingegen nicht in dem Cache-Speicher 62 des Datenträgers 10 gespeichert, so bezieht die Webserver- Applikation 72 diese Daten in Schritt 1100 von dem Internetserver 200. Dazu sendet die Web- Server- Applikation 72 in Schritt 1110 eine Datenbezugsnachricht an den Server 200, die von diesem in Schritt 1120 empfangen wird. Der Server 200 stellt daraufhin die angeforderten Daten in Schritt 1130 bereit und sendet eine Datennachricht, die die angeforderten Daten umfasst, in Schritt 1140 an die Webserverapplikation 72 des Datenträgers 10, welche diese Datennachricht in Schritt 1150 empfängt.
In Schritt 1200 prüft die vorstehend genannte Prüfapplikation 74 des Datenträgers 10, ob ein oder mehrere vorgegebene Speicherkriterien erfüllt sind und bestimmt daraufhin, ob die Daten von der vorstehend genannten Steu- erapplikation 76 in dem Cache-Speicher 62 gespeichert werden. Einmal in dem Cache-Speicher 62 gespeicherte Daten können dem Webbrowser des PCs 100 bei zukünftiger Anforderung, wie vorstehend mit Bezug auf die Schritte 1020 bis 1040 beschrieben, schnell und einfach bereitgestellt werden. Die Speicherkriterien können dabei sowohl die angeforderten Daten betreffen, als auch die aktuelle Datenkommunikation mit dem Server 200 betreffende Parameter sowie Parameter des Datenträgers 10 und allgemeine Voreinstellungen, die in dem Datenträger 10 gespeichert sind. Es ist möglich, dass die Prüfapplikation 74 bestimmt, dass die Daten gespeichert werden, wenn ein Speicherkriterium erfüllt ist. Sie kann aber die Daten auch erst dann zum Speichern bestimmen, wenn eine Kombination mehrerer Speicherkriterien erfüllt ist. Die Prüfapplikation 74 kann dabei für verschiedene angeforderte Daten verschiedene Kombinationen von Speicherkriterien an- wenden. Auch können die Kombinationen für identische, mehrfach angeforderte Daten abhängig von anderen begleitenden Umständen variieren.
Eine Reihe möglicher Speicherkriterien, die bei dem beschrieben Verfahren in dem Datenträger 10 implementiert sind, wird im Folgenden beispielhaft beschrieben. Ein Speicherkriterium gibt an, dass von dem Webbrowser angeforderte Daten, die einen entsprechenden Datentyp aufweisen, in dem Cache-Speicher 62 gespeichert werden sollen. Dies kann beispielsweise einen Grafik-, Video- oder Audiodatentypen betreffen. Immer dann, wenn die angeforderten Daten einen solchen Datentyp aufweisen, der in einen Daten- kommunikation gemäß dem HTTP-Protokoll z.B. an dem Header-Eintrag "Content-Type" abgelesen werden kann, bestimmt die Prüfapplikation 74, dass die entsprechenden Daten in dem Cache-Speicher 62 gespeichert werden.
Ein weiteres Speicherkriterium gibt an, dass solche Daten in dem Cache- Speicher 62 gespeichert werden sollen, die mehrmals von einer Datenverarbeitungseinrichtung, z.B. dem Webbrowser des PCs 100, angefordert werden. Die in dem Speicherkriterium definierte erforderliche Häufigkeit kann dabei variieren. Dazu kann die Webserver- Applikation 72 eine einfache Liste von Einträgen über bislang angeforderte Daten verwalten, wobei die Prüfapplikation 74 dann testet, ob die angeforderten Daten in einer durch das Speicherkriterium definierten Häufigkeit in der Liste vertreten sind. Dabei ist es möglich, dass ein Eintrag in der Liste, die vorzugsweise nichtflüchtig ge- speichert wird, von einer Sitzung des Datenträgers 10 mit einem von dem PC 100 abweichenden Gerät stammt. Sind die Daten bereits in der geforderten Häufigkeit angefordert worden, so bestimmt die Prüfapplikation 74, dass die Daten in dem Cache-Speicher 62 gespeichert werden. Die Einträge über die angeforderten Daten können daraufhin aus der Liste der Webserver- Applikation 72 gestrichen werden.
Gemäß einem weiteren Speicherkriterium bestimmt die Prüf applikation 74, dass angeforderte Daten gespeichert werden, wenn ihr Datenvolumen ein bestimmtes vorgegebenes Minimaldatenvolumen unterschreitet oder ein vorgegebenes Maximaldatenvolumen überschreitet. Die Prüf applikation 74 bestimmt dadurch beispielsweise, dass von dem Server 200 bezogene kleine Dateien gespeichert werden, so dass die Webserver- Applikation 72 bei abermaliger Anfrage des Webbrowsers nach einer solchen Datei keine neue Datenkommunikationsverbindung zu dem Server 200 aufbauen muss. Auf der anderen Seite bestimmt die Prüfapplikation 74, dass sehr große, vom dem Server 200 bezogene Dateien in dem Cache-Speicher 62 des Datenträgers 10 gespeichert werden.
Ein weiteres Speicherkriterium betrifft eine Zeitspanne zwischen dem Sen- den einer Datenbezugsnachricht durch den Datenträger 10 an den Server 200 und dem Empfangen einer Datennachricht von dem Server 200 als Antwort auf die Datenbezugsnachricht. Übersteigt diese Zeitspanne, die so genannte Server- Antwortzeit, eine in dem Speicherkriterium definierte Zeitspanne, so bestimmt die Prüfapplikation 74, dass die angeforderten Daten in dem Cache-Speicher 62 des Datenträgers 10 gespeichert werden.
Ein anderes Speicherkriterium gibt Daten vor, die, sobald sie von dem Server 200 erstmalig bezogen werden, in dem Cache-Speicher 62 des Datenträgers 10 gespeichert werden. Dies betrifft in der Regel solche Daten, von denen vorab bekannt ist, dass sie von dem Webbrowser des PCs 100 zukünftig wiederholt angefordert werden.
Gemäß einem weiteren Speicherkriterium kann die Prüf applikation 74 die Entscheidung darüber, ob angeforderte Daten gespeichert werden, von der Größe des aktuell verfügbaren Pufferspeichers 52 des Datenträgers 10 abhängig machen und somit auf die aktuelle Ressourcenlage des Datenträgers 10 reagieren. Ein anderes Speicherkriterium könnte den noch im Cache- Speicher 62 verfügbaren Speicherplatz betreffen.
Andere Speicherkriterien können eingesetzt werden, anhand derer die Prüfapplikation 74 bestimmt, ob angeforderte Daten, so sie noch nicht im Cache- Speicher 62 gespeichert sind, dort gespeichert werden.
Hat die Prüfapplikation 74 bestimmt, dass die bezogenen Daten nicht in dem Cache-Speicher 62 gespeichert werden, so kann sie, bevor die Daten in Schritt 1260 als Teil einer Datenbereitstellungsnachricht an den Webbrowser des PCs 100 als Antwort auf die in Schritt 1010 empfangene Datenanforde- rungsnachricht gesendet werden, anhand eines oder mehrerer Fernspeicherkriterien bestimmen, ob die Daten mit einem Speicherhinweis oder einer Speicheranweisung versehen werden, welche bestimmen, das die Daten durch den Webbrowser auf der Festplatte des PCs 100 zu speichern sind. Die Fernspeicherkriterien können mit den vorstehend genannten Speicherkriterien teilweise übereinstimmen oder aber unterschiedlich sein.
Anhängig davon, wie die Prüfapplikation 74 bestimmt hat, sendet die Web- Server- Applikation 72 die Datenbereitstellungsnachricht, die die angeforderten Daten umfasst, mit oder ohne Speicher anweisung in Schritt 1260 an den Webbrowser des PCs 100.
Bestimmt die Prüfapplikation 74, dass angeforderte Daten in dem Cache- Speicher 62 gespeichert werden sollen, während dort nicht mehr genügend Speicherplatz für die zu speichernden Daten zur Verfügung steht, so entscheidet die Steuerapplikation 76 nach bekannten Strategien, welche in dem Cache-Speicher 62 gespeicherten Daten entfernt werden. Gemäß der FIFO- Strategie werden z.B. immer die Daten gelöscht, die schon am längsten im Cache-Speicher 62 gespeichert sind. Eine andere Strategie, LRU ("least re- cently used"), gibt vor, die Daten zu löschen, die am längsten nicht mehr angefordert worden sind. Andere Strategien sind möglich.
Hat die Prüf applikation 74 Daten zum Speicher im Cache-Speicher 62 be- stimmt, so veranlasst sie die Steuerapplikation 76 in Schritt 1250, die Daten in dem Cache-Speicher 62 zu speichern. Die Steuerapplikation 76 speichert die Daten dann zusammen mit einer Zeitspeicherinformation in Form eines Zeitstempels, der anzeigt, wann die Daten gespeichert worden sind. Dies hilft, die Aktualität der Daten zu beurteilen und vereinfacht Strategien zum Lö- sehen von Daten aus dem Cache-Speicher 62. Der Zeitstempel kann aber auch weggelassen werden. Anschließend sendet die Webserver- Applikation 72 die Datenbereitstellungsnachricht, die die angeforderten Daten umfasst, in Schritt 1260 an den Webbrowser des PCs 100.
Das mit Bezug auf Schritt 1100 beschriebene Beziehen von Daten von dem Server 200 erfolgt in der Regel über das Beziehen einer Mehrzahl von Datenpaketen, die neben einem protokollabhängigen Header- Anteil jeweils einen Datenanteil einer gewissen vordefinierten Größe aufweisen. Die Größe dieses Datenanteils kann zwischen dem Datenträger 10 und dem Server 200 zu Beginn der jeweiligen Datenübertragung vereinbart werden. Aufgrund der begrenzten Ressourcen des Datenträgers 10, insbesondere der begrenzten Größe des verfügbaren Pufferspeichers 52, können Daten eines größeren Volumens von dem Datenträger 10 nur in Form einer Mehrzahl von Datenpaketen empfangen werden, von denen jedes eine Größe aufweist, die die Größe des Pufferspeichers 52 nicht überschreitet. Je kleiner die Datenpakete sind, desto mehr davon müssen dementsprechend übertragen werden und desto länger dauert die Datenübertragung.
Wenn nun die Prüfapplikation 74 bestimmt, dass von dem Server bezogene Daten im Cache-Speicher 62 gespeichert werden sollen, so kann wie folgt vorgegangen werden. Die Steuerapplikation 76 gibt beim ersten Beziehen der Daten eine Größe der zu empfangenden Datenpakete vor - genauer eigentlich die Größe des Datenanteils der Datenpakete; der Header- Anteil hat meist eine vernachlässigbare konstante Größe -, die im Wesentlichen der Größe des Pufferspeichers 52 entspricht, und speichert beim Empfangen der Datenpakete jeweils nur jedes zweite empfangene Datenpaket im Cache- Speicher 62. Bei einem abermaligen Beziehen derselben Daten, welches notwendig wird, wenn die Daten von dem Webbrowser des PCs 100 erneut angefordert werden, legt die Steuerapplikation 76 die Größe der zu beziehen- den Datenpakete auf die doppelte Größe fest, d.h. die Größe der Datenpakete entspricht nun im Wesentlichen dem Doppelten der Größe des Pufferspeichers 52. Dementsprechend müssen nur noch halb so viele Datenpakete wie beim ersten Beziehen bezogen werden und der entsprechende Download benötigt weniger Zeit. Die empfangenen Datenpakete können aufgrund ihrer Größe nun vom Pufferspeicher 52 jeweils nur noch zur Hälfte aufgenommen werden. Da aber die jeweils dadurch verloren gehende Hälfte des Datenpakets beim ersten Beziehen - als ein Datenpaket halber Größe - bereits in dem Cache-Speicher 62 gespeichert worden ist, stehen in dem Datenträger 10 wieder die vollständigen angeforderten Daten bereit und können an den Webbrowser des PCs 100 gesendet werden. Auf diese Weise kann ein Mittelweg zwischen einem moderaten Verbrauch von Cache-Speicher- Ressourcen in dem Datenträger 10 bei gleichzeitig relativ schnellen Beantworten der Anfragen des Webbrowsers gefunden werden.

Claims

P a t e n t a n s p r ü c h e
1. Verfahren in einem portablen Datenträger (10) mit einem Webserver (72), umfassend die Schritte:
Empfangen (1010) einer Datenanforderungsnachricht von einer mit dem Datenträger (10) verbundenen Datenverarbeitungseinrichtung (100) durch den Webserver (72) des Datenträgers (10), wobei die Da- tenanforderungsnachricht ein Bereitstellen von Daten für die Datenverarbeitungseinrichtung (100) betrifft;
Beantworten (1030; 1260) der Datenanforderungsnachricht durch Senden einer die angeforderten Daten umfassenden Datenbereitstellungsnachricht durch den Webserver (72) an die Datenverarbeitungs- einrichtung (100), wobei die Daten aus einem nichtflüchtigen Speicher
(62) des Datenträgers (10) ausgelesen werden oder, falls die Daten nicht in dem nichtflüchtigen Speicher (62) gespeichert sind, von einer mit dem Datenträger (10) verbundenen Datenbereitstellungseinrichtung (200) bezogen werden; dadurch gekennzeichnet, dass, falls die angeforderten Daten von der Datenbereitstellungseinrichtung (200) bezogen werden, der Datenträger (10) bestimmt, ob die bezogenen Daten in dem nichtflüchtigen Speicher (62) des Datenträgers (10) gespeichert werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Datenträger (10) anhand zumindest eines Speicherkriteriums bestimmt, ob von der Datenbereitstellungseinrichtung (200) bezogene Daten in dem nichtflüchtigen Speicher (62) des Datenträgers (10) zum Beantworten zukünftiger Datenanforderungsnachrichten gespeichert werden.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der Datenträger (10) anhand eines Speicherkriteriums, das zumindest einen Datentyp für zu speichernde, von der Datenbereitstellungseinrichtung (200) bezo- gene Daten vorgibt, bestimmt, ob die Daten in dem nichtflüchtigen Speicher (62) des Datenträgers (10) gespeichert werden.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass der Datenträger (10) anhand eines Speicherkriteriums, das einen Grafikdatentyp, einen Videodatentyp oder einen Audiodatentyp vorgibt, bestimmt, ob die Daten in dem nichtflüchtigen Speicher (62) des Datenträgers (10) gespeichert werden.
5. Verfahren nach einem der Ansprüche 2 bis 4, dadurch gekennzeich- net, dass der Datenträger (10) anhand eines Speicherkriteriums, das eine
Häufigkeit vorgibt, mit der Datenanfragenachrichten betreffend die zu beziehenden Daten empfangen werden, bestimmt, ob die Daten in dem nichtflüchtigen Speicher (62) des Datenträgers (10) gespeichert werden.
6. Verfahren nach einem der Ansprüche 2 bis 5, dadurch gekennzeichnet, dass der Datenträger (10) anhand eines Speicherkriteriums, das ein Datenvolumen der von der Datenbereitstellungseinrichtung (200) bezogenen Daten betrifft, bestimmt, ob die Daten in dem nichtflüchtigen Speicher (62) des Datenträgers (10) gespeichert werden.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass der Datenträger (10) bestimmt, dass die Daten in dem nichtflüchtigen Speicher (62) gespeichert werden, wenn das Datenvolumen der von der Datenbereitstellungseinrichtung (200) bezogenen Daten ein durch das Speicherkriterium vorgegebenes Minimaldatenvolumen unterschreitet, oder bestimmt, dass die Daten in dem nichtflüchtigen Speicher (62) gespeichert werden, wenn das Datenvolumen der von der Datenbereitstellungseinrichtung (200) bezogenen Daten ein durch das Speicherkriterium vorgegebenes Maximaldatenvolumen überschreitet.
8. Verfahren nach einem der Ansprüche 2 bis 7, dadurch gekennzeichnet, dass der Datenträger (10) anhand eines Speicherkriteriums, das eine zum Beziehen der Daten von der Datenbereitstellungseinrichtung (200) be- nötigte Zeitspanne betrifft, bestimmt, ob die Daten in dem nichtflüchtigen Speicher (62) des Datenträgers (10) gespeichert werden.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass der Datenträger (10) bestimmt, die Daten in dem nichtflüchtigen Speicher (62) des Datenträgers (10) zu speichern, wenn eine Antwortzeit der Datenbereitstellungseinrichtung (200) eine durch das Speicherkriterium vorgegebene Zeitspanne überschreitet.
10. Verfahren nach einem der Ansprüche 2 bis 9, dadurch gekennzeich- net, dass der Datenträger (10) anhand eines Speicherkriteriums, das vordefinierte Daten als zu speichernde Daten vorgibt, bestimmt, ob die Daten in dem nichtflüchtigen Speicher (62) des Datenträgers (10) gespeichert werden.
11. Verfahren nach einem der Ansprüche 2 bis 10, dadurch gekennzeich- net, dass der Datenträger (10) anhand eines Speicherkriteriums, das die Größe eines Pufferspeichers (52) des Datenträgers (10) betrifft, bestimmt, ob die Daten in dem nichtflüchtigen Speicher (62) des Datenträgers (10) gespeichert werden.
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass von der Datenbereitstellungseinrichtung (200) bezogene Daten, die von dem Datenträger (10) zum Speichern in dem nichtflüchtigen Speicher (62) bestimmt werden, beim erstmaligen Beziehen in Form einer Folge von Datenpaketen einer ersten vorgegebenen Größe, die die Größe des Pufferspeichers (52) des Datenträgers (10) nicht übersteigt, von der Datenbereitstellungseinrichtung (200) bezogen werden und der Datenträger (10) nur ein Teil der bezogenen Datenpakete in dem nichtflüchtigen Speicher (62) speichert, und dass bei einem weiteren Beziehen der bereits bezogenen Daten die Daten in Form einer Folge von Datenpaketen einer zweiten vorgegebenen Größe, die die erste vorgegebene Größe übersteigt, von der Datenbereitstellungseinrichtung (200) bezogen werden.
13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass die Grö- ße des Pufferspeichers (52) als erste vorgegebene Größe vorgegeben wird und der Datenträger (10) nur jedes zweite der bezogenen Datenpakete in dem nichtflüchtigen Speicher (62) des Datenträgers (10) speichert und dass das Doppelte der ersten vorgegebenen Größe als zweite vorgegebene Größe vorgegeben wird.
14. Verfahren nach einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, dass, falls von der Datenbereitstellungseinrichtung (200) bezogene Daten nicht in dem nichtflüchtigen Speicher (62) des Datenträgers (10) gespeichert werden, der Datenträger (10) anhand eines Fernspeicherkriteriums bestimmt, ob die der Datenverarbeitungseinrichtung (100) mit der Datenbereitstellungsnachricht gesendeten Daten von der Datenverarbeitungseinrichtung (100) zu speichern sind.
15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass, falls die mit der Datenbereitstellungsnachricht gesendeten Daten von der Datenverarbeitungseinrichtung (100) zu speichern sind, die Datenbereitstellungsnachricht mit einer Speicheranweisung versehen wird.
16. Verfahren nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, dass der Datenträger (10) von der Datenbereitstellungseinrichtung (200) bezogene und zum Speichern in dem nichtflüchtigen Speicher (62) bestimmte Daten zusammen mit einer Speicherzeitinformation in dem nichtflüchtigen Speicher (62) des Datenträgers speichert, die den Zeitpunkt des Speicherns der bezogenen Daten betrifft.
17. Portabler Datenträger (10), umfassend zumindest eine Kommunikationsschnittstelle (20), einen nichtflüchtigen Speicher (62) und eine Webserver- Applikation (72), die eingerichtet ist,
- eine Datenanforderungsnachricht von einer mit dem Datenträger (10) über die zumindest eine Kommunikationsschnittstelle (20) verbindbaren Datenverarbeitungseinrichtung (100) zu empfangen, wobei die Datenanforderungsnachricht eine Bereitstellung von Daten für die Da- tenverarbeitungseinrichtung (100) betrifft, und
- die Datenanforderungsnachricht durch Senden einer die angeforderten Daten umfassenden Datenbereitstellungsnachricht an die Datenverarbeitungseinrichtung (100) zu beantworten, wobei die Webserver- Applikation (72) entweder - die zu sendenden Daten aus einem nichtflüchtigen Speicher
(62) des Datenträgers (10) ausliest oder
- über die zumindest eine Kommunikationsschnittstelle (20) eine Datenbezugsnachricht an eine mit dem Datenträger (10) verbindbare Datenbereitstellungseinrichtung (200) sendet und die Daten von der Datenbereitstellungseinrichtung (200) bezieht, falls die Daten nicht in dem nichtflüchtigen Speicher (62) gespeichert sind; gekennzeichnet durch eine Prüfapplikation (74), die eingerichtet ist zu bestimmen, ob die bezogenen Daten in dem nichtflüchtigen Speicher (62) des Datenträgers (10) gespeichert werden, falls die Daten nicht in dem nichtflüchtigen Speicher (62) des Datenträgers (10) gespeichert sind.
18. Datenträger (10) nach Anspruch 17, dadurch gekennzeichnet, dass die Prüfapplikation (74) eingerichtet ist, gemäß einem Verfahren nach einem der Ansprüche 2 bis 11 anhand eines Speicherkriteriums zu bestimmen, ob die Daten in dem nichtflüchtigen Speicher (62) des Datenträgers (10) gespeichert werden.
19. Datenträger (10) nach Anspruch 17 oder 18, dadurch gekennzeichnet, dass die Prüfapplikation (74) eingerichtet ist, falls von der Datenbereitstellungseinrichtung (200) bezogene Daten nicht in dem nichtflüchtigen Speicher (62) des Datenträgers (10) gespeichert werden, gemäß einem Verfahren nach Anspruch 14 oder 15 zu bestimmen, ob die der Datenverarbeitungseinrich- hing (100) mit der Datenbereitstellungsnachricht zu sendenden Daten von der Datenverarbeitungseinrichtung (100) zu speichern sind.
20. Datenträger (10) nach einem der Ansprüche 17 bis 19, gekennzeichnet durch eine Steuerapplikation (76), die eingerichtet ist, die zu beziehenden Daten gemäß einem Verfahren nach Anspruch 12 oder 13 von der Datenbereitstellungseinrichtung (200) zu beziehen.
21. Datenträger (10) nach Anspruch 20, dadurch gekennzeichnet, dass die Steuereinrichtung (76) eingerichtet ist, die von der Datenbereitstellungsein- richtung (200) bezogenen Daten nach dem Verfahren des Anspruchs 16 zu speichern.
22. Datenträger (10) nach einem der Ansprüche 17 bis 21, dadurch ge- kennzeichnet, dass der nichtflüchtige Speicher (62) ein nichtflüchtiger Cache-Speicher (62) in Form eines Flash-Speichers (70) oder eines nichtflüchtigen RAM-Speichers (60) ist.
EP08852928A 2007-11-21 2008-11-18 Portabler datenträger mit web-server Ceased EP2225647A2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102007055653A DE102007055653A1 (de) 2007-11-21 2007-11-21 Portabler Datenträger mit Web-Server
PCT/EP2008/009740 WO2009065553A2 (de) 2007-11-21 2008-11-18 Portabler datenträger mit web-server

Publications (1)

Publication Number Publication Date
EP2225647A2 true EP2225647A2 (de) 2010-09-08

Family

ID=40412615

Family Applications (1)

Application Number Title Priority Date Filing Date
EP08852928A Ceased EP2225647A2 (de) 2007-11-21 2008-11-18 Portabler datenträger mit web-server

Country Status (5)

Country Link
US (1) US8595318B2 (de)
EP (1) EP2225647A2 (de)
CN (1) CN101868787A (de)
DE (1) DE102007055653A1 (de)
WO (1) WO2009065553A2 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2951845B1 (fr) * 2009-10-28 2011-12-23 Oberthur Technologies Objet a microcircuit de poche et terminal de communication comprenant cet objet
CN101917458B (zh) * 2010-07-12 2013-12-11 杭州华三通信技术有限公司 一种向客户机发送网络引导程序的方法及装置
WO2016029384A1 (zh) * 2014-08-27 2016-03-03 华为技术有限公司 一种资源下载方法、电子设备及装置
CN112463365B (zh) 2020-11-13 2023-01-10 苏州浪潮智能科技有限公司 提升对Flash通道控制器消息处理效率的方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187525A (ja) * 1996-10-28 1998-07-21 Matsushita Electric Ind Co Ltd 代理情報取得装置および情報転送管理装置
US6498897B1 (en) * 1998-05-27 2002-12-24 Kasenna, Inc. Media server system and method having improved asset types for playback of digital media
US6757705B1 (en) * 1998-08-14 2004-06-29 Microsoft Corporation Method and system for client-side caching
US6573942B1 (en) * 1998-08-17 2003-06-03 Sharp Laboratories Of America, Inc. Buffer system for controlled and timely delivery of MPEG-2F data services
JP3833409B2 (ja) * 1999-02-05 2006-10-11 株式会社日立製作所 通信プロキシ装置
MXPA01010798A (es) 1999-04-26 2003-09-04 Nokia Mobile Phones Ltd Terminal de radio para examinar "internet".
WO2001082031A2 (en) * 2000-04-26 2001-11-01 Portable Internet Inc. Portable internet services
JP4607578B2 (ja) 2002-05-02 2011-01-05 ギーゼッケ ウント デフリエント ゲーエムベーハー 通信システム、対応モバイル機器、およびモバイル機器へのページ保存方法
US7051161B2 (en) * 2002-09-17 2006-05-23 Nokia Corporation Memory admission control based on object size or request frequency
DE10258769C5 (de) * 2002-12-16 2017-08-17 Giesecke & Devrient Gmbh Kommunikation zwischen einem Bediengerät, einem Anbietermodul und einem Kundenmodul
DE10261916A1 (de) * 2002-12-20 2004-07-01 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Netzserverfunktionalität
DE10317147A1 (de) * 2003-04-14 2004-10-28 Nec Electronics (Europe) Gmbh Sicheres Speichersystem mit Flash-Speichern und Cache-Speicher
EP1496480A1 (de) * 2003-07-11 2005-01-12 Axalto S.A. Ein Serviceanbietendes Gerät mit einem zugehörigem tragbarem Speicher und Relais um die Aktivierung einer Anwendung des tragbaren Speichers des ersten Gerätes durch ein zweites Gerät zu erlauben
US7085894B2 (en) * 2003-09-11 2006-08-01 International Business Machines Corporation Selectively accepting cache content
JP4768237B2 (ja) * 2004-06-25 2011-09-07 株式会社東芝 携帯可能電子装置及び携帯可能電子装置の制御方法
US7318130B2 (en) * 2004-06-29 2008-01-08 Intel Corporation System and method for thermal throttling of memory modules
DE102004040296B3 (de) * 2004-08-19 2006-03-02 Giesecke & Devrient Gmbh Schreiben von Daten in einen nichtflüchtigen Speicher eines tragbaren Datenträgers
DE102005024122A1 (de) * 2005-05-25 2006-11-30 Infineon Technologies Ag Funk-Kommunikationseinrichtung, funkbasiertes Kommunikationsendgerät und Chipkarte
CN101300542A (zh) * 2005-11-04 2008-11-05 汤姆逊许可证公司 用于管理媒体存储装置的方法和设备
US7512591B2 (en) * 2005-12-09 2009-03-31 International Business Machines Corporation System and method to improve processing time of databases by cache optimization
DE102005061662A1 (de) * 2005-12-22 2007-06-28 Giesecke & Devrient Gmbh Verfahren zum Installieren einer Hilfseinheit
DE102006048797A1 (de) * 2006-10-16 2008-04-17 Giesecke & Devrient Gmbh Verfahren zum Ausführen einer Applikation mit Hilfe eines tragbaren Datenträgers
US9112901B2 (en) * 2007-11-20 2015-08-18 Radware, Ltd. Method and system for providing connection resiliency

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Also Published As

Publication number Publication date
WO2009065553A3 (de) 2009-11-19
US8595318B2 (en) 2013-11-26
US20100250838A1 (en) 2010-09-30
CN101868787A (zh) 2010-10-20
DE102007055653A1 (de) 2009-05-28
WO2009065553A2 (de) 2009-05-28

Similar Documents

Publication Publication Date Title
EP1559038B1 (de) Verfahren zum vorabübertragen strukturierter datenmengen zwischen einer clienteinrichtung und einer servereinrichtung
DE60210733T2 (de) System und Verfahren zur Überlastregelung in Netzwerken
DE60127247T2 (de) Netzwerkeinrichtung zur dokumentengültigkeitserklärung
DE602005004214T2 (de) Kommunikationssystem and Verfahren zur Aktualisierung von Software in einem Endbenutzergerät
DE602004010224T2 (de) Vorrichtung zur Verkehrssteuerung und entsprechendes Servicesystem
DE112010003458B4 (de) Verfahren und System für die Verwaltung der P2P-Dateiübertragung
EP2225647A2 (de) Portabler datenträger mit web-server
EP2235917B1 (de) Portabler datenträger mit cat-interpreter
EP1484882B1 (de) Verfahren zum Überwachen von Teilnehmerdiensten in einem Telekommunikationsnetz
DE102004003549B4 (de) Kommunikationssystem und Verfahren zum Verarbeiten einer von einem Mobilfunkendgerät eines Mobilfunk-Kommunikationsnetzes einem Nachrichtenfilter-Rechner zugeführten Anforderungs-Nachricht
EP2137943B1 (de) Portable datenträger als web-server
DE102011114990A1 (de) Transaktionssystem
DE102007053916A1 (de) Verfahren zum Verwalten von Netzkomponenten in einem Netzwerk und Netzkomponente
EP2219115B1 (de) Verfahren zum Einsatz einer Multifunktionsspeicherkarte auf Endgeräten
EP2266283B1 (de) Verarbeiten von client-anfragen
DE602004004673T2 (de) Verfahren und Vorrichtung um von einem ersten Nachrichtenprotokoll/-dienst zu einem zweiten Nachrichtenprotokoll/-dienst zu wechseln
DE102011116251B4 (de) Nachrichtenübermittlungssystem und Verfahren zum Übertragen einer Nachricht von einem Server zu einem Fahrzeug
DE69734196T2 (de) Effiziente Darstellung und Uebertragung von Objekten mit Varianten
DE202010010086U1 (de) Eingabeeinrichtung und Erfassungseinrichtung zum Gestalten und Generieren von Druckereierzeugnissen
DE10241097A1 (de) Verfahren zum Gewinnen von Präsenzdaten
DE102023130115A1 (de) Verfahren zum Übermitteln von Profilen an ein Chipmodul und zum Betreiben des Chipmoduls, Chipmodul und Gerät mit einem solchen Chipmodul
DE102024108172A1 (de) Verfahren zum erfassen von daten aus einer telekommunikationsvorrichtung, telekommunikationsvorrichtungen und telekommunikationssystem
EP2506611B1 (de) Verfahren zum betrieb eines telekommunikationsnetzes
EP2837139B1 (de) Interaktionsfähiger baustein in einem netzwerk
EP2506630B1 (de) Verfahren zum Optimieren von Übertragungsdaten sowie Optimierungseinrichtung

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20100621

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA MK RS

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20160408

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: GIESECKE+DEVRIENT MOBILE SECURITY GMBH

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20180926