-
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.
-
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 Kommunikati on 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
Daten trä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 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 Er findung 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 Kom mando 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 empfängt
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 Abarbei tung 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.