-
Die Erfindung betrifft ein System mit wenigstens einem Endgerät und mehreren tragbaren Datenträgern. Weiterhin betrifft die Erfindung ein Verfahren zur Durchführung einer kontaktlosen Kommunikation zwischen einem Endgerät und mehreren tragbaren Datenträgern.
-
Bei einem derartigen System, bei dem das Endgerät auf kontaktlose Weise mit den tragbaren Datenträgern kommuniziert, kann es vorkommen, dass sich zum selben Zeitpunkt mehrere tragbare Datenträger in Kommunikationsreichweite zum Endgerät befinden. In diesem Fall ist es üblich, ein Antikollisionsverfahren durchzuführen, um die einzelnen tragbaren Datenträger eindeutig zu identifizieren und dementsprechend während der Kommunikation einzeln adressieren zu können. So ist es beispielsweise bekannt, mit einem Antikollisionsverfahren für jeden tragbaren Datenträger innerhalb der Kommunikationsreichweite des Endgeräts die eindeutige Seriennummer seines Chips zu ermitteln und die tragbaren Datenträger über die so ermittelten Seriennummern zu adressieren.
-
Gemäß dem Standard ISO/IEC 14443-3 und ISO/IEC 14443-4 wird jedem tragbaren Datenträger mittels des Antikollisionsverfahrens eine Identifikationsnummer zugeordnet, die als Card Identifier oder kurz CID bezeichnet wird. Über ihre jeweilige Identifikationsnummer sind die tragbaren Datenträger während einer Session eindeutig adressierbar. Auf diese Weise können bis zu 16 tragbare Datenträger gleichzeitig aktiviert und alternierend adressiert werden. Dabei wird zunächst an einen der tragbaren Datenträger ein Kommando gesendet. Der tragbare Datenträger arbeitet das empfangene Kommando ab, wobei eine maximale Zeit festgelegt ist, die für die Abarbeitung eines durchschnittlichen Kommandos zur Verfügung steht. Diese maximale Zeit wird auch als Frame-Waiting-Time oder kurz FWT bezeichnet.
-
Kann das Kommando nicht innerhalb der Frame Waiting Time abgearbeitet werden, so sendet der tragbare Datenträger ein Signal an das Endgerät, um zusätzliche Zeit anzufordern. Dieses Signal wird als Frame-Waiting-Time-Extension-Request oder kurz WTX-Request bezeichnet. Die Anforderung wird vom Endgerät durch ein WTX-Acknowledge bestätigt. Wenn der tragbare Datenträger das Kommando vollständig abgearbeitet hat, sendet er das dabei ermittelte Ergebnis an das Endgerät. Das Endgerät kann dann ein weiteres Kommando an denselben oder einen anderen tragbaren Datenträger senden.
-
Aus der
EP 0 709 803 A2 ist ein Antikollisionsverfahren für Kontaktloskarten bekannt. Nachdem eine erste Kollision aufgetreten ist, berechnet jede betroffene Karte aus dem Least Significant Bit (LSB) ihrer ID eine Wartezeit, die je nach Zustand des LSB („0” oder „1”) zwei verschiedene Werte annehmen kann. Führt dies zu einer erneuten Kollision, so wird das nächsthöhere Bit zu einer erneuten Berechnung der Wartezeit herangezogen. Da jede ID einzigartig ist, löst dieses Verfahren in jedem Fall die Kollisionsproblematik, jedoch mit dem Nachteil eines hohen Zeitaufwandes bei großer Ähnlichkeit der betroffenen ID.
-
Mit der bekannten Vorgehensweise lässt sich die Kommunikation zwischen dem Endgerät und den tragbaren Datenträgern zwar auf zuverlässige Weise abwickeln. Allerdings ist die Abwicklung relativ ineffizient, da das Endgerät jeweils nur mit einem tragbaren Datenträger kommunizieren kann und sich alle anderen tragbaren Datenträger dabei jeweils in einem Wartezustand befinden. Auch das Endgerät befindet sich die meiste Zeit in einem Wartezustand, da es jeweils die vollständige Abarbeitung des Kommandos durch den adressierten tragbaren Datenträger abwarten muss, ehe es ein weiteres Kommando absetzen kann.
-
Der Erfindung liegt die Aufgabe zugrunde, die eine kontaktlose Kommunikation zwischen einem Endgerät und tragbaren Datenträgern zuverlässig und effizient zu gestalten.
-
Diese Aufgabe wird durch ein System mit der Merkmalskombination des Anspruchs 1 gelöst.
-
Das erfindungsgemäße System weist wenigstens ein Endgerät und mehrere tragbare Datenträger auf, die im Rahmen einer kontaktlosen Kommunikation mit dem Endgerät einzeln adressierbar sind und vom Endgerät übermittelte Kommandos abarbeiten. Die Besonderheit des erfindungsgemäßen Systems besteht darin, dass die Kommunikation zwischen dem Endgerät und den tragbaren Datenträgern wenigstens zeitweise als eine Parallelkommunikation ausgebildet ist, gemäß der noch vor der vollständigen Abarbeitung eines vom Endgerät übermittelten Kommandos durch einen ersten tragbaren Datenträger vom Endgerät ein weiteres Kommando an einen zweiten tragbaren Datenträger gesendet wird.
-
Die Erfindung hat den Vorteil, dass die kontaktlose Kommunikation zwischen dem Endgerät und den tragbaren Datenträgern sehr effizient abgewikkelt werden kann, ohne Abstriche bei der Zuverlässigkeit zu machen. Dabei werden unnötige Wartezustände des Endgeräts weitgehend vermieden, so dass die Kommunikation insgesamt in einer vergleichsweise kurzen Zeit abgewickelt werden kann. Auf diese Weise lassen sich die Ressourcen des Systems sehr gut nutzen.
-
Das weitere Kommando kann vom Endgerät nach Empfang einer ersten Antwort des ersten tragbaren Datenträgers an den zweiten tragbaren Datenträger gesendet werden. Dadurch wird dem Endgerät prinzipiell auch die Kommunikation mit tragbaren Datenträgern, die nicht dem erfindungsgemäßen System angehören, ermöglicht. Außerdem wird für den ersten tragbaren Datenträger die Möglichkeit geschaffen, den Ablauf der Kommunikation zu beeinflussen, da das Endgerät zunächst die Reaktion des ersten tragbaren Datenträgers abwartet.
-
Die erste Antwort des ersten tragbaren Datenträgers kann beispielsweise als eine standardisierte Anforderung zusätzlicher Zeit für die Abarbeitung des Kommandos, als ein spezieller Steuerdatenblock, als eine spezielle APDU oder als eine spezielle Bitcodierung ausgebildet sein. Dies ermöglicht wahlweise die Verwendung üblicher Protokolle oder eine sehr spezifische Anpassung an konkrete Einsatzgebiete. Die erste Antwort des ersten tragbaren Datenträgers kann vom Endgerät mit einer Bestätigung beantwortet werden. Vorzugsweise wird die Bestätigung erst nach Absenden des weiteren Kommandos an den zweiten tragbaren Datenträger gesendet. Auf diese Weise kann die Kommunikation des Endgeräts mit dem ersten tragbaren Datenträger fortgesetzt werden, nachdem sie für eine Kommunikation mit dem zweiten tragbaren Datenträger unterbrochen wurde. Dies ist beispielsweise erforderlich, damit der erste tragbare Datenträger dem Endgerät das Ergebnis der Abarbeitung des Kommandos mitteilen kann. Die Bestätigung kann beispielsweise als eine standardisierte Bestätigung einer Anforderung zusätzlicher Zeit für die Abarbeitung eines Kommandos, als ein spezieller Steuerdatenblock, als eine spezielle APDU oder als eine spezielle Bitcodierung ausgebildet sein. Die Bestätigung kann vom ersten tragbaren Datenträger mit einer Wiederholung der ersten Antwort oder mit dem Ergebnis der Abarbeitung des Kommandos beantwortet werden. Damit können auch Situationen sicher abgehandelt werden, bei denen die Bestätigung beim ersten tragbaren Datenträger eintrifft, bevor das Kommando vollständig abgearbeitet ist.
-
Bei einem bevorzugten Ausführungsbeispiel des erfindungsgemäßen Systems wird beim Vorliegen einer vorgegebenen Bedingung die vollständige Abarbeitung des vom Endgerät übermittelten Kommandos durch den ersten tragbaren Datenträger abgewartet und das Ergebnis dem Endgerät mitgeteilt, bevor vom Endgerät das weitere Kommando an den zweiten tragbaren Datenträger gesendet wird. Insbesondere kann die vorgegebene Bedingung dann vorliegen, wenn die für die Abarbeitung des vom Endgerät übermittelten Kommandos durch den ersten tragbaren Datenträger voraussichtlich benötigte Zeit unterhalb eines Schwellwerts liegt. Dies hat den Vorteil, dass Kommandos mit einer kurzen Bearbeitungszeit sofort abgearbeitet werden können, und dadurch der Aufwand für eine nochmalige Kommunikation zur Übertragung des Ergebnisses zu einem späteren Zeitpunkt entfällt.
-
Eine Weiterbildung des erfindungsgemäßen Systems ist so ausgebildet, dass sich die tragbaren Datenträger jeweils zeitweise aus der Kommunikation mit dem Endgerät ausblenden, wobei sie sich weiterhin in Kommunikationsreichweite des Endgeräts befinden. Dies hat den Vorteil, dass die tragbaren Datenträger während der Abarbeitung der Kommandos nicht mit Daten belastet werden, die nicht für sie bestimmt sind. Um es dem Endgerät zu erleichtern, den richtigen Zeitpunkt für eine erneute Kontaktaufnahme auszuwählen, können die tragbaren Datenträger dem Endgerät jeweils die Zeitspanne der Ausblendung mitteilen.
-
Ebenso kann beim erfindungsgemäßen System vorgesehen sein, dass vom Endgerät festgestellt wird, ob die tragbaren Datenträger die Parallelkommunikation unterstützen. Dies ermöglicht es dem Endgerät auch dann einen optimalen Kommunikationsablauf durchzuführen, wenn die tragbaren Datenträger zum Teil systemfremd sind. Die Feststellung bezüglich der Parallelkommunikation kann beispielsweise im Rahmen eines Antikollisionsverfahrens getroffen werden. In einer Abwandlung wird die Feststellung abhängig von der Zeitspanne getroffen, die zwischen dem Absenden des Kommandos an den ersten tragbaren Datenträger und dem Eingang der ersten Antwort des ersten tragbaren Datenträgers beim Endgerät verstreicht. Dies ist deshalb möglich, weil die erste Antwort im Rahmen der Parallelkommunikation vergleichsweise frühzeitig gesendet wird, um dem Endgerät möglichst schnell die Kommunikation mit weiteren tragbaren Datenträgern zu ermöglichen. Schließlich kann die Feststellung auch abhängig von der Form und/oder dem Inhalt der ersten Antwort des ersten tragbaren Datenträgers getroffen werden, falls diese spezifisch für die Parallelkommunikation sind.
-
Beim erfindungsgemäßen System kann es auch vorgesehen sein, die Parallelkommunikation mit einem tragbaren Datenträger vom Endgerät für ein oder mehrere Kommandos auszuschalten. Außerdem besteht die Möglichkeit, dass den tragbaren Datenträgern für die Kommunikation unterschiedliche Prioritäten zugewiesen werden und die Kommunikation zwischen dem Endgerät und den tragbaren Datenträgern abhängig von diesen Prioritäten abgewickelt wird. Auf diese Weise können besonders eilige Vorgänge bevorzugt abgearbeitet werden. Um eine systematische Abhandlung des Kommunikationsverlaufs zu erleichtern, kann im Endgerät für die in Kommunikationsreichweite befindlichen tragbaren Datenträger jeweils das nächste abzuarbeitende Kommando vermerkt sein.
-
Bei der kontaktlosen Kommunikation zwischen dem Endgerät und den tragbaren Datenträgern handelt es sich vorzugsweise um eine Radio-Frequenz-Identifikation (RFID), insbesondere um kontaktlose Chipkarten, z. B. nach dem Standard ISO/IEC 14443.
-
Beim erfindungsgemäßen Verfahren zur Durchführung einer kontaktlosen Kommunikation zwischen einem Endgerät und mehreren tragbaren Datenträgern werden die tragbaren Datenträger vom Endgerät einzeln adressiert und arbeiten vom Endgerät übermittelte Kommandos ab. Die Besonderheit des erfindungsgemäßen Verfahrens besteht darin, dass das Endgerät mit den tragbaren Datenträgern wenigstens zeitweise eine Parallelkommunikation durchführt, gemäß der noch vor der vollständigen Abarbeitung eines vom Endgerät übermittelten Kommandos durch einen ersten tragbaren Datenträger vom Endgerät ein weiteres Kommando an einen zweiten tragbaren Datenträger gesendet wird.
-
Die Erfindung wird nachstehend anhand der in der Zeichnung dargestellten Ausführungsbeispiele erläutert, bei denen die tragbaren Datenträger als Chipkarten ausgebildet sind.
-
Es zeigen:
-
1 eine mögliche Variante für den Ablauf der Kommunikation beim erfindungsgemäßen System in schematischer Darstellung,
-
2 eine weitere Variante für den Ablauf der Kommunikation beim erfindungsgemäßen System in einer 1 entsprechenden Darstellung,
-
3 eine nochmals abgewandelte Variante für den Ablauf der Kommunikation beim erfindungsgemäßen System in einer 1 entsprechenden Darstellung und
-
4 eine mögliche Variante für die Abläufe, die während der Kommunikation beispielsweise in der ersten Chipkarte stattfinden, in schematischer Darstellung.
-
1 zeigt eine mögliche Variante für den Ablauf der Kommunikation beim erfindungsgemäßen System in schematischer Darstellung. Bei dieser Variante kommuniziert ein Endgerät 1 kontaktlos mit einer ersten Chipkarte 2 und einer zweiten Chipkarte 3, die sich in Kommunikationsreichweite des Endgeräts 1 befinden. Zusätzlich zu diesen Komponenten kann das erfindungsgemäße System weitere Endgeräte und/oder weitere Chipkarten aufweisen.
-
Bei der Kommunikation handelt es sich um eine kontaktlose Kommunikation, z. B. mittels magnetischer Nahfelder. Die Darstellung der 1 ist so gewählt, dass die Zeit t von oben nach unten fortschreitet. Vor dem in 1 dargestellten Ablauf wurde bereits ein für sich bekanntes Antikollisionsverfahren durchgeführt, so dass die beiden Chipkarten 2 und 3 vom Endgerät 1 jeweils eindeutig adressierbar sind.
-
Die erfindungsgemäße Vorgehensweise beginnt mit einem Schritt S1, in dem das Endgerät 1 ein Kommando an die erste Chipkarte 2 übermittelt. Unmittelbar nach Empfang des Kommandos reagiert die erste Chipkarte 2, indem sie in einem Schritt S2 eine erste Antwort an das Endgerät 1 übermittelt. In der dargestellten Variante besteht die erste Antwort aus einem Signal, das nach dem Standard ISO/IEC 14443 eine Anforderung zusätzlicher Zeit für die Abarbeitung des Kommandos durch die erste Chipkarte 2 darstellt. Dieses Signal wird als Frame-Waiting-Time-Extension-Request oder kurz als WTX-Request bezeichnet. Dabei stellt die Frame-Waiting-Time FWT die maximale Zeit dar, die eine Abarbeitung eines durchschnittlichen Kommandos dauern darf. Durch die Ausbildung der ersten Antwort als WTX-Request ist es möglicht, bei der erfindungsgemäßen Abwicklung der Kommunikation Protokolle zu nutzen, die bereits bei bekannten Systemen zum Einsatz kommen. Alternativ dazu könnte im Schritt S2 als erste Antwort auch ein spezieller Steuerdatenblock, ein hierfür reserviertes Applikationskommando (Application Protocol Data Unit, APDU) oder eine hierfür reservierte Bitcodierung, z. B. in Form einer Code-Verletzung, gesendet werden. Anschließend an Schritt S2 führt die erste Chipkarte 2 in einem Schritt S3 eine Abarbeitung des Kommandos aus, ohne hierfür eine Reaktion des Endgeräts 1 auf den Schritt S2 abzuwarten. Ebenso ist es auch möglich, dass die Schritte S2 und S3 überlappen, d. h. dass die erste Antwort während der Abarbeitung des Kommandos an das Endgerät 1 übermittelt wird. Dabei ist es für die Erfindung von Bedeutung, dass die erste Antwort an das Endgerät 1 übermittelt wird, bevor die Abarbeitung des Kommandos beendet ist.
-
Als Reaktion auf die in Schritt S2 übermittelte erste Antwort sendet das Endgerät 1 in einem Schritt S4 ein Kommando an die zweite Chipkarte 3, ohne zuvor der ersten Chipkarte 2 auf deren erste Antwort zu antworten. Seitens der zweiten Chipkarte 3 folgt auf Schritt S4 ein Schritt S5, in dem die zweite Chipkarte 3 das im Schritt S4 übermittelte Kommando abarbeitet. Danach sendet die zweite Chipkarte 3 das Ergebnis der Abarbeitung des Kommandos in einem Schritt S6 in Form einer APDU an das Endgerät 1. In einem darauf folgenden Schritt S7 bestätigt das Endgerät 1 die im Schritt S2 übermittelte erste Antwort der ersten Chipkarte 2. Die Bestätigung kann auch zu einem anderen Zeitpunkt erfolgen und wird im dargestellten Ausführungsbeispiel mittels eines standardisierten WTX-Acknowledge durchgeführt. Wenn die Einhaltung üblicher Protokolle nicht erforderlich ist, kann der Schritt S7 analog zu Schritt S2 so abgewandelt werden, dass ein spezieller Steuerdatenblock, eine hierfür reservierte APDU oder eine hierfür reservierte Bitcodierung eingesetzt wird.
-
In der dargestellten Variante des Kommunikationsablaufs empfängt die erste Chipkarte 2 die im Schritt S7 übermittelte Bestätigung zu einem Zeitpunkt, zu dem die Abarbeitung des in Schritt S1 übermittelten Kommandos noch nicht abgeschlossen ist. Aus diesem Grund sendet die erste Chipkarte 2 in einem Schritt S8 erneut einen WTX-Request oder eine andere Schritt S2 entsprechende Antwort an das Endgerät 1. Dabei ist es allerdings nicht erforderlich, dass der Schritt S8 eine identische Wiederholung des Schritts S2 darstellt. Zusammen mit der Antwort können in Schritt S8 zusätzliche Informationen über den Status der Abarbeitung des Kommandos, die insbesondere angeben, wie weit die Abarbeitung fortgeschritten ist, an das Endgerät 1 übermittelt werden. An Schritt S8 schließt sich ein Schritt S9 an, in dem das Endgerät 1 ein Kommando an die zweite Chipkarte 3 sendet. Die zweite Chipkarte 3 arbeitet dieses Kommando in einem Schritt S10 ab und sendet danach in einem Schritt S11 das dabei ermittelte Ergebnis in Form einer APDU an das Endgerät 1.
-
Zwischenzeitlich hat die erste Chipkarte 2 die Abarbeitung des ihr in Schritt S1 übermittelten Kommandos abgeschlossen. Dies ist als ein Schritt S12 dargestellt. An Schritt S12 schließt sich ein Schritt S13 an, in dem die erste Chipkarte 2 abwartet, bis das Endgerät 1 für sie verfügbar ist. Nach Eingang der im Schritt S11 übermittelten Antwort der zweiten Chipkarte 3 sendet das Endgerät 1 in einem Schritt S14 abermals ein WTX-Acknowledge an die erste Chipkarte 2 und ist somit ab sofort für die erste Chipkarte 2 verfügbar. Daraufhin sendet die erste Chipkarte 2 das Ergebnis, das sie bei der Abarbeitung des in Schritt S1 übermittelten Kommandos ermittelt hat, in einem Schritt S15 beispielsweise in Form einer APDU an das Endgerät 1. Damit ist der in 1 dargestellte Ablauf beendet.
-
Das erfindungsgemäße System kann als ein offenes System konzipiert sein, bei dem das Endgerät 1 auch mit herkömmlichen Chipkarten kommunizieren kann, die nicht dem erfindungsgemäßen System angehören. Bei dem in 1 dargestellten Verlauf ist die zweite Chipkarte 3 als eine herkömmliche Chipkarte ausgebildet, die in herkömmlicher sequenzieller Weise mit dem Endgerät 1 kommuniziert, d. h. das Endgerät 1 wartet die vollständige Abarbeitung des Kommandos durch die zweite Chipkarte 3 ab, bevor es ein weiteres Kommando absendet. Die erste Chipkarte 2 unterstützt dagegen die erfindungsgemäße Parallelkommunikation, gemäß der das Endgerät 1 während der Abarbeitung eines Kommandos durch die erste Chipkarte 2 weitere Kommandos an weitere Chipkarten, beispielsweise an die zweite Chipkarte 3, absenden kann. Dies wird dadurch ermöglicht, dass die erste Chipkarte 2 noch vor der vollständigen Abarbeitung des Kommandos mit einer ersten Antwort antwortet.
-
Um jeweils auf die passende Weise kommunizieren zu können, ermittelt das Endgerät 1 die Fähigkeiten der Chipkarten 2 bzw. 3, die sich innerhalb seiner Kommunikationsreichweite befinden. Zu diesem Zweck können bei der Initialisierung des für die Übertragung verwendeten Protokolls, z. B. während der Ausführung eines Antikollisionsverfahrens, Daten über diese Fähigkeiten von den Chipkarten 2 bzw. 3 an das Endgerät 1 übermittelt werden. Hierzu können insbesondere Datenfelder einer Reset-Antwort, wie beispielsweise eines Answer To Reset (ATR), eines Answer To Select (ATS) usw., definiert werden, um darin zu kodieren, ob die Chipkarte 2 bzw. 3 die erfindungsgemäße Parallelkommunikation unterstützt. Falls für die erste Antwort der Chipkarte 2 bzw. 3 das übliche Protokoll beispielsweise in Form eines WTX-Request zur Anwendung kommt, kann als alternative Vorgehensweise aus der Antwortzeit ermittelt werden, ob die jeweilige Chipkarte 2 bzw. 3 die erfindungsgemäße Parallelkommunikation unterstützt. Wird der WTX-Request erst kurz vor Ablauf der Frame Waiting Time an das Endgerät 1 übermittelt, so ist davon auszugehen, dass damit tatsächlich eine zusätzliche Bearbeitungszeit angefordert werden soll und die Chipkarte 2 bzw. 3 die erfindungsgemäße Parallelkommunikation nicht unterstützt. Wird der WTX-Request dagegen unmittelbar nach Empfang des Kommandos abgesendet, d. h. innerhalb einer Zeit, die deutlich kleiner als die Frame Waiting Time ist, so kann davon ausgegangen werden, dass die absendende Chipkarte 2 bzw. 3 die erfindungsgemäße Parallelkommunikation unterstützt.
-
Ebenso deutet es auf eine Unterstützung der erfindungsgemäßen Parallelkommunikation durch die Chipkarte 2 bzw. 3 hin, wenn diese auf ein Kommando des Endgeräts 1 nicht entsprechend der üblichen Protokolle antwortet, sondern beispielsweise gemäß den Abwandlungen von Schritt 2 eine eigens dafür reservierte Antwort absendet. Falls a priori davon ausgegangen werden kann, dass die an der Kommunikation beteiligten Chipkarten 2 bzw. 3 die erfindungsgemäße Parallelkommunikation unterstützen, sind die vorstehend beschriebenen Prüfverfahren nicht erforderlich.
-
Wenn an der Kommunikation mit dem Endgerät 1 ausschließlich Chipkarten 2 bzw. 3 beteiligt sind, die die erfindungsgemäße Parallelkommunikation unterstützen, kann diese entsprechend 2 ablaufen.
-
2 zeigt eine weitere Variante für den Ablauf der Kommunikation beim erfindungsgemäßen System in einer 1 entsprechenden Darstellung. Bei dieser Variante unterstützen sowohl die erste Chipkarte 2 als auch die zweite Chipkarte 3 die erfindungsgemäße Parallelkommunikation. Auch bei dieser Variante wird zuvor ein Antikollisionsverfahren durchgeführt, um die Chipkarten 2 bzw. 3 adressieren zu können. Dann wird in einem Schritt S16 vom Endgerät 1 ein Kommando an die erste Chipkarte 2 übermittelt. Die erste Chipkarte 2 antwortet unmittelbar darauf in einem Schritt S17 beispielsweise mit einem WTX-Request. Weiterhin arbeitet die erste Chipkarte 2 das Kommando in einem Schritt S18 ab. Die Abarbeitung ist mit einem Schritt S19 beendet. Danach wartet die erste Chipkarte 2 in einem Schritt S20, bis das Endgerät 1 für sie verfügbar ist. Seitens des Endgeräts 1 schließt sich an den Empfang des im Schritt S17 übermittelten WTX-Request ein Schritt S21 an, in dem das Endgerät 1 ein Kommando an die zweite Chipkarte 3 sendet. Die zweite Chipkarte 3 antwortet in einem sich unmittelbar anschließenden Schritt S22 mit einem WTX-Request. Weiterhin arbeitet die zweite Chipkarte 3 in einem Schritt S23 das Kommando ab. In einem Schritt S24 ist die Abarbeitung beendet und es schließt sich ein Schritt S25 an, in dem die zweite Chipkarte 3 die Verfügbarkeit des Endgeräts 1 abwartet. Eine gewisse Zeitspanne nach Übermittlung des WTX-Request von der zweiten Chipkarte 3 in Schritt S22 sendet das Endgerät 1 in einem Schritt S26 ein WTX-Acknowledge an die erste Chipkarte 2. Zu diesem Zeitpunkt hat die erste Chipkarte 2 das in Schritt S16 übermittelte Kommando bereits vollständig abgearbeitet und sendet das Ergebnis in einem Schritt S27 in Form einer APDU an das Endgerät 1. Das Endgerät 1 sendet daraufhin in einem Schritt S28 ein WTX-Acknowledge an die zweite Chipkarte 3 und erhält von der zweiten Chipkarte 3 in einem Schritt S29 eine APDU mit dem Ergebnis der Abarbeitung des in Schritt S21 übermittelten Kommandos. Damit ist der in 2 dargestellte Ablauf beendet.
-
Bei der in 2 dargestellten Variante wird das WTX-Acknowledge in Schritt S26 an die erste Chipkarte 2 und in Schritt S28 an die zweite Chipkarte 3 jeweils zu einem Zeitpunkt übermittelt, zu dem die erste Chipkarte 2 bzw. die zweite Chipkarte 3 die Abarbeitung des Kommandos bereits abgeschlossen hat. Es könnte allerdings auch vorkommen, dass ein WTX-Acknowledge oder ein anderes Kommando zu einem Zeitpunkt übermittelt wird, zu dem wenigstens eine der Chipkarten 2 bzw: 3 die Abarbeitung des Kommandos noch nicht abgeschlossen hat. Dieser Fall könnte von der ersten Chipkarte 2 bzw. der zweiten Chipkarte 3 mittels einer Interrupt-Service-Routine abgehandelt werden, die eine Prüfung empfangener Daten während der Abarbeitung eines Kommandos ermöglicht. Allerdings würde die Abarbeitung der Kommandos dadurch verlangsamt werden, da die Interrupt-Service-Routine auch von Kommandos ausgelöst werden würde, die nicht für die Chipkarte 2 bzw. 3 bestimmt sind und daher nach der Prüfung verworfen würden. Um unnötige Verzögerungen bei der Abarbeitung der Kommandos zu vermeiden, ist im Rahmen der Erfindung die in 3 dargestellte Vorgehensweise vorgesehen, gemäß der sich die Chipkarten 2 bzw. 3 jeweils zeitweise aus der Kommunikation mit dem Endgerät 1 ausblenden und dabei keine Rechenzeit für die Kommunikation aufwenden.
-
3 zeigt eine nochmals abgewandelte Variante für den Ablauf der Kommunikation beim erfindungsgemäßen System in einer 1 entsprechenden Darstellung. Bei dieser Variante beginnt der Ablauf der Kommunikation nach Ablauf des Antikollisionsverfahrens mit einem Schritt S30, in dem das Endgerät 1 ein Kommando zur Abarbeitung an die erste Chipkarte 2 übermittelt. Die erste Chipkarte 2 sendet daraufhin in einem Schritt S31 eine Antwort an das Endgerät 1, mit der dem Endgerät 1 der von der ersten Chipkarte 2 für die Abarbeitung des Kommandos benötigte Zeitbedarf mitgeteilt wird. Außerdem beginnt die erste Chipkarte 2 in einem Schritt S32 mit einer Abarbeitung des Kommandos, die mit einem Schritt S33 vollendet wird. Der Zeitbedarf kann beispielsweise in einem speziellen Steuerdatenblock oder in einer hierfür reservierten APDU an das Endgerät 1 übertragen werden. Innerhalb des angegebenen Zeitbedarfs nimmt die erste Chipkarte 2 nicht an der Kommunikation mit dem Endgerät 1 teil. Dies bedeutet, dass die erste Chipkarte 2 innerhalb des Zeitbedarfs vom Endgerät 1 weder Daten empfangt noch auswertet, sondern lediglich das Kommando abarbeitet. Der Zeitbedarf ist dabei so bemessen, dass die erste Chipkarte 2 das Kommando spätestens nach Ablauf des Zeitbedarfs abgearbeitet hat. Dann aktiviert die erste Chipkarte 2 in einem Schritt 34 wieder den Empfang und die Auswertung von Daten und geht in eine Wartestellung. Das Endgerät 1 sendet innerhalb des Zeitbedarfs keine Daten, die für die erste Chipkarte 2 bestimmt sind, sondern kommuniziert ausschließlich mit der zweiten Chipkarte 3 und ggf. vorhandenen weiteren Chipkarten. Diese Kommunikation ist in 3 nicht im Einzelnen dargestellt, sondern lediglich insgesamt durch einen als Schritt S35 bezeichneten Block verdeutlicht. Nach Ablauf des Zeitbedarfs sendet das Endgerät 1 in einem Schritt S36 eine Bestätigungsantwort an die erste Chipkarte 2. Dabei wird der Schritt S36 nicht notwendigerweise unmittelbar nach Ablauf des Zeitbedarfs durchgeführt, sondern auf die Kommunikation mit der zweiten Chipkarte 3 abgestimmt. An Schritt S36 schließt sich ein Schritt S37 an, in dem die erste Chipkarte 2 das Ergebnis der Abarbeitung des Kommandos in Form einer APDU an das Endgerät 1 übermittelt. In einem darauf folgenden Schritt S38 setzt das Endgerät 1 seine Kommunikation mit der zweiten Chipkarte 3 und ggf. weiteren Chipkarten fort. Damit ist der in 3 dargestellte Ablauf beendet.
-
4 zeigt eine mögliche Variante für die Abläufe, die während der Kommunikation beispielsweise in der ersten Chipkarte 2 stattfinden, in schematischer Darstellung. Hierzu ist in die erste Chipkarte 2 symbolisch eine Protokollschicht 4 eingezeichnet, die mehrere Protokolle abwickeln kann, beispielsweise T = 0, T = 1 und ein Protokoll zur kontaktlosen Datenübertragung. Weiterhin sind eine an die Protokollschicht 4 angegliederte Kommando-Auswertung 5 und eine Kommando-Abarbeitung 6 dargestellt.
-
Für die Erfindung von besonderer Relevanz sind die Vorgänge in der Protokollschicht 4. Ein vom Endgerät 1 in einem Schritt S39 im Format einer Transmission Protokoll Data Unit (TPDU) übermitteltes Kommando wird von der Protokollschicht 4 in einem Schritt S40 als APDU an die Kommando-Abarbeitung 6 weitergeleitet. Zudem wird von der Protokollschicht 4 in einem Schritt 41 eine Antwort beispielsweise als ein WTX-Request an das Endgerät 1 übermittelt. In einem Schritt 42 wird eine Bestätigungsantwort als eine TPDU vom Endgerät 1 an die Protokollschicht 4 der ersten Chipkarte 2 übermittelt. Daraufhin wird eine Antwort, die vorher in einem Schritt S43 als eine APDU der Protokollschicht 4 von der Kommando-Abarbeitung 6 zugeleitet wurde, in einem Schritt S44 von der Protokollschicht 4 an das Endgerät 1 übermittelt. Der in 4 dargestellte Ablauf kann beispielsweise einen Ausschnitt aus der Kommunikation gemäß 2 repräsentieren, wobei dann die Schritte S16 und S39, S17 und S41, S26 und S42 sowie S27 und S44 jeweils einander entsprechen.
-
In einer vorteilhaften Ausgestaltung der Erfindung ist es vorgesehen, dass das Endgerät 1 die erfindungsgemäße Parallelkommunikation für jede Chipkarte 2 bzw. 3 wahlweise ein- oder ausschalten kann. Dies kann beispielsweise dadurch realisiert werden, dass das Endgerät 1 an die jeweilige Chipkarte 2 bzw. 3 eine speziell hierfür vorgesehene APDU sendet und dadurch die Parallelkommunikation für alle nachfolgend an diese Chipkarte 2 bzw. 3 gesendeten Kommandos ein- oder ausschaltet. Ebenso ist es auch möglich, die erfindungsgemäße Parallelkommunikation bei jedem einzelnen an die jeweilige Chipkarte 2 bzw. 3 gesendeten Kommandos explizit ein- oder auszuschalten. Die hierfür zu übertragenden Steuerdaten können sowohl ein Bestandteil der gesendeten APDU als auch ein Bestandteil des für die Übertragung verwendeten Protokolls, z. B. ein Flag im Protokoll-Kontroll-Byte, sein.
-
Soweit bei den vorstehend beschrieben Varianten die erfindungsgemäße Parallelkommunikation angewendet wird, beantwortet die jeweilige Chipkarte 2 bzw. 3 ein vom Endgerät 1 übermitteltes Kommando jeweils zunächst mit einer ersten Antwort und sendet das Ergebnis der Abarbeitung des Kommandos erst nach Erhalt eines WTX-Acknowledge oder einer anderen Bestätigung zum Endgerät 1. Bei Kommandos, die in sehr kurzer Zeit abgearbeitet werden können, kommt es dadurch zu einer unnötigen zusätzlichen Kommunikation. Es ist daher in einer Weiterbildung der Erfindung vorgesehen, der jeweiligen Chipkarte 2 bzw. 3 die Entscheidung darüber zu überlassen, ob es ein Kommando zunächst mit einer ersten Antwort oder gleich mit dem Ergebnis der Abarbeitung beantwortet. Wenn die Abarbeitung des Kommandos eine lange Zeit in Anspruch nimmt, wird die Chipkarte 2 bzw. 3 zunächst mit einer ersten Antwort antworten. Lässt sich das Kommando dagegen in einer sehr kurzen Zeit abarbeiten, so wird die Chipkarte 2 bzw. 3 gleich mit dem Ergebnis der Abarbeitung antworten. Als Entscheidungskriterium kann ein Schwellwert vorgegeben werden. Ist die für die Abarbeitung des Kommandos voraussichtlich benötigte Zeit größer als der Schwellwert, dann beantwortet die Chipkarte 2 bzw. 3 das Kommando zunächst mit einer ersten Antwort. Ist die voraussichtlich benötigte Zeit dagegen kleiner als der Schwellwert, dann beantwortet die Chipkarte 2 bzw. 3 das Kommando mit dem Ergebnis der Abarbeitung.
-
Bei einer weiteren Ausgestaltung der Erfindung werden den Chipkarten 2 bzw. 3 in Reichweite des Endgeräts 1 unterschiedliche Prioritäten zugewiesen. Mit Hilfe eines dafür vorgesehenen Algorithmus wird erreicht, dass die Chipkarten 2 bzw. 3 mit hoher Priorität bei der Kommunikation mit dem Endgerät 1 bevorzugt werden. Dabei werden Paare aus je einem Kommando K und je einer eindeutigen Identifikation CID einer Chipkarte 2 bzw. 3 gebildet. Diese Paare (K, CID) geben jeweils für die Chipkarte 2 bzw. 3 mit der Identifikation CID das nächste abzuarbeitende Kommando K an. Im Endgerät 1 ist zu jedem Zeitpunkt eine Menge M derartiger Paare abgelegt. Die Menge M lässt sich in eine Menge C und eine Menge M\C unterteilen. Die Menge C besteht aus kooperativen Chipkarten 2 bzw. 3, welche die erfindungsgemäße Parallelkommunikation unterstützen und bei denen die erfindungsgemäße Parallelkommunikation aktiviert ist. Die Menge M\C besteht aus den Chipkarten 2 bzw. 3, welche die erfindungsgemäße Parallelkommunikation nicht unterstützen oder bei denen die erfindungsgemäße Parallelkommunikation durch das Endgerät 1 deaktiviert wurde. Eine systematische Durchführung der Kommunikation mit den Chipkarten 2 bzw. 3 lässt sich mit folgendem Algorithmus erreichen:
WHILE(M ≠ 0)
(K, CID) = Select_command (M)
Sende (K, CID) an die Chipkarte (CID)
Warte auf Empfang der ersten Antwort
Entferne (K, CID) aus der Menge M
END
-
Dabei wird mit Hilfe der Funktion Select_command (M) die nächste Chipkarte 2 bzw. 3 für die Kommunikation selektiert. Bei der Selektion kann jeweils die Priorität der Chipkarten 2 bzw. 3 berücksichtigt werden.
-
Je nach dem konkreten Anwendungsfall kann es beispielsweise vorkommen, dass sich in Reichweite des Endgeräts 1 keine kooperativen Chipkarten 2 bzw. 3 befinden, d. h. C = 0. In diesem Fall kann die erfindungsgemäße Parallelkommunikation nicht angewendet werden. Ebenso besteht die Möglichkeit, dass einige der Chipkarten 2 bzw. 3 in Reichweite des Endgeräts 1 kooperativ sind, d. h. C ≠ 0 und C ≠ M. Dann kann die Selektion der Chipkarten 2 bzw. 3 beispielsweise so durchgeführt werden, dass zunächst eine Kommunikation mit den Chipkarten 2 bzw. 3 aus der Menge C und danach eine Kommunikation mit den Chipkarten 2 bzw. 3 aus der Menge M\C durchgeführt werden. Dies bewirkt, dass die Kommandos von den Chipkarten 2 bzw. 3 aus der Menge C zeitlich parallel zu den Kommandos von den Chipkarten 2 bzw. 3 aus der Menge M\C abgearbeitet werden können. Schließlich kann es auch vorkommen, dass alle Chipkarten 2 bzw. 3 in Reichweite des Endgeräts 1 kooperativ sind, d. h. C = M. Dann kann die erfindungsgemäße Parallelkommunikation ohne weitere Einschränkungen eingesetzt werden.
-
Die Erfindung bezieht sich nicht nur auf die vorstehend beschriebene kontaktlose Kommunikation mit Chipkarten 2 bzw. 3, sondern beispielsweise auch auf die kontaktlose Kommunikation mit IT-Geräten. Ferner ist die Erfindung auch nutzbar für die Kommunikation zwischen Geräten mittels NFC (Near Field Communication), IR (Infrarot, z. B. standardisierte Schnittstellen wie IrDA, IrFM, etc.) oder Bluetooth.