DE19941504A1 - Verfahren zur Durchführung von Spielen über das Internet - Google Patents

Verfahren zur Durchführung von Spielen über das Internet

Info

Publication number
DE19941504A1
DE19941504A1 DE19941504A DE19941504A DE19941504A1 DE 19941504 A1 DE19941504 A1 DE 19941504A1 DE 19941504 A DE19941504 A DE 19941504A DE 19941504 A DE19941504 A DE 19941504A DE 19941504 A1 DE19941504 A1 DE 19941504A1
Authority
DE
Germany
Prior art keywords
server
participant
time
computer
request
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.)
Withdrawn
Application number
DE19941504A
Other languages
English (en)
Inventor
Vladimir Meier
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.)
INTERNET SPECIAL SERVICES Inc
Original Assignee
INTERNET SPECIAL SERVICES Inc
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 INTERNET SPECIAL SERVICES Inc filed Critical INTERNET SPECIAL SERVICES Inc
Priority to DE19941504A priority Critical patent/DE19941504A1/de
Publication of DE19941504A1 publication Critical patent/DE19941504A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/131Protocols for games, networked simulations or virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/401Secure communication, e.g. using encryption or authentication
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/532Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing using secure communication, e.g. by encryption, authentication

Abstract

Verfahren zur Durchführung von Spielen über das Internet mit mindestens einem Teilnehmer mit einem Rechner, wobei das Spiel selbst auf einem Server abläuft, jedoch die gesamt Animation und Benutzerschnittstelle durch ein Programm auf dem Rechner des Teilnehmers dargestellt wird und eine Datenübertragung zwischen Server und Rechner des Teilnehmers nur auf Anforderung des Programms auf dem Rechner des Teilnehmers erfolgt, und solche Anforderungen immer dann erfolgen, wenn der Teilnehmer einen Spielzug durchführt oder eine vorgegebene Zeit T abgelaufen ist.

Description

Die Erfindung betrifft ein Verfahren zur Durchführung von Spielen über das Internet mit mindestens einem Teilnehmer mit einem Rechner, wobei das Spiel selbst auf einem Server ab­ läuft, jedoch die gesamte Animation und Benutzerschnittstelle durch ein Programm auf dem Rechner des Teilnehmers darge­ stellt wird.
Solche Verfahren sind im Stand der Technik bereits bekannt. Im einfachsten Fall wird ein Spielzug oder ein Einsatz zur Server übertragen, dieser überträgt dann sofort das Spieler­ gebnis oder den Gewinn/Verlust zurück. Dies läßt sich auch problemlos mit der im Internet-http 1.0-Protokoll vorgesehe­ nen Anfrage des Nutzers-Antwort des Servers-Struktur reali­ sieren.
Sofern jedoch kompliziertere Spiele, wie beispielsweise Rou­ lette oder Black Jack, bei denen das Spielgeschehen kompli­ zierter ist als der Spielzug des Teilnehmer-Ergebnis, oder wenn gar mehrere Teilnehmer gemeinsam Spiele wie Black Jack oder Roulette über das Internet spielen sollen, wobei jeder Teilnehmer auch die Spielzüge der anderen Teilnehmer beobach­ ten kann, ist diese Struktur ungeeignet.
Gemäß dem Stand der Technik war es dann nur möglich, eine permanente TCP-Verbindung zwischen dem Server und allen Teil­ nehmern aufzubauen und während des ganzen Spieles aufrecht zu erhalten.
Dies führte jedoch zu erheblichen Problemen, da einerseits die meisten an das Internet angeschlossenen Rechner heutzuta­ ge durch sogenannte "Firewalls" gegen Manipulationen ge­ schützt sind. Diese Firewalls lassen jedoch lediglich eine ganz geringe Anzahl von gleichzeitigen TCP-Verbindungen zu. Außerdem unterstützt das Internet-Protokoll http 1.0 keine dauernden TCP-Verbindungen. Selbst wenn man diese Probleme jedoch löst, so ist für permanente Verbindungen ein großer Hardware-Aufwand und erhebliche Systemresourcen erforderlich, und die Betriebssysteme der meisten Server können nur eine geringe Zahl dauernd offener Verbindungen handhaben.
Es ist daher Aufgabe der Erfindung, ein solches Verfahren zur Durchführung von Spielen über das Internet vorzuschlagen, bei dem auch komplizierte Spiele mit mehreren Teilnehmern, die ihre Spielzüge gegenseitig beobachten können, möglich sind, ohne daß permanente Datenverbindungen zwischen den Teilneh­ mern und dem Server aufrecht erhalten bleiben müssen.
Erfindungsgemäß wird diese Aufgabe dadurch gelöst, daß eine Datenübertragung zwischen Server und Rechner des Teilnehmers nur auf Anforderung des Programms auf dem Rechner des Teil­ nehmers erfolgt.
Erfindungsgemäß ist es besonders bevorzugt, daß Anforderungen zur Datenübertragung immer dann erfolgen, wenn der Teilnehmer einen Spielzug durchführt, oder nach Ablauf einer vorgegebe­ nen Zeit T seit der letzten Anforderung. Dadurch wird sicher­ gestellt, daß für den Teilnehmer selber sein Spielzug, den er gerade durchgeführt hat, sofort auf dem Bildschirm sichtbar wird, während er die Spielzüge anderer Teilnehmer beispiels­ weise erst nach fünf oder zehn Sekunden auf seinem Bildschirm sieht. Dies stört aber nicht, da der einzelne Teilnehmer ja nicht weiß, wann genau der jeweils andere Teilnehmer seinen Spielzug durchgeführt hat. Scheinbar läuft das System dann so, als ob permanente Verbindungen zwischen den Teilnehmern und dem Server bestehen würden.
Es ist dabei weiter bevorzugt, daß das Programm auf dem Rech­ ner des Teilnehmer jeder Aufforderung zur Datenübertragung einen Authentifizierungscode beifügen muß. Damit wird das Problem gelöst, daß jede Aufforderung zur Datenübertragung (und natürlich auch jeder Spielzug des Teilnehmers) einen neuen Aufbau einer Internet-Verbindung bedeutet. Dabei muß aber gegenüber dem Server jeweils eine Authentifizierung des anrufenden Teilnehmers ermöglicht werden, und gleichzeitig muß der entsprechende Anruf dem richtigen Teilnehmer zugeord­ net werden, damit die richtigen Spielstandsdaten übertragen werden können.
Zur Vereinfachung der Abläufe ist es bevorzugt, daß der Au­ thentifizierungscode dabei ursprünglich vom Server erzeugt und dem Rechner des Teilnehmers übermittelt wird.
Es ist dabei besonders bevorzugt, daß der Authentifizierung­ scode nur in verschlüsselter Form übertragen wird.
Da ohne permanent stehende Verbindungen nicht sichergestellt ist, daß jeder Anruf eines Teilnehmers aus dem Internet rechtzeitig beim Server eintrifft, ist es bevorzugt, daß jede Anforderung und jede Datenübertragung mit einer laufenden Nummer versehen ist. Dadurch können Teilnehmer, Rechner und Server feststellen, ob eine zwischenzeitlich gesendete Anfor­ derung bzw. Datenübertragung verloren gegangen ist.
Bei komplexeren Spielen mit mehreren Teilnehmern besteht das Problem, daß das Spiel erst dann beendet werden kann, wenn jeder Teilnehmer bestimmte Spielzüge vorgenommen hat. Damit müßten alle anderen Teilnehmer auf den "Letzten" warten. Dies kann dann zum Problem werden, wenn beispielsweise die Inter­ net-Verbindung zu diesem Teilnehmer abgerissen ist. Man könn­ te nun einfach den Einsatz dieses Teilnehmers für verloren erklären, und das Spiel mit den restlichen Teilnehmern zu En­ de führen. Dies würde jedoch zu großer Verärgerung bei denje­ nigen Teilnehmern führen, die ihre Einsätze verlieren und die ja meist für ein Zusammenbrechen der Internet-Verbindung gar nichts können. Es wird daher vorzugsweise vorgeschlagen, daß ein Teilnehmer, der nicht innerhalb einer vorgegebenen Zeit seine Spielzüge durchführt, aus dem Spiel mit mehreren Teil­ nehmern ausscheidet, und für ihn allein ein weiteres Spiel auf dem Server erzeugt wird. Auf diese Weise kann er allein unter den gleichen Bedingungen weiterspielen, sobald seine Internet-Verbindung wieder hergestellt ist. Sein Einsatz geht ihm nicht verloren.
In diesem Zusammenhang ist es auch bevorzugt, daß dem Teil­ nehmer eine Zeitanzeige zur Verfügung gestellt wird, die an­ zeigt, wie lange er noch Zeit hat, seinen Spielzug durchzu­ führen, damit dieser noch beim gegenwärtigen Spiel vom Server berücksichtigt werden kann.
Da die Laufzeit der entsprechenden Spielzugdaten im Internet nicht präzise vorhergesagt werden kann, und umgekehrt auch eine präzise Synchronisation zwischen Server und Teilnehmer wegen der unterschiedlichen Nachrichtenlaufzeiten auf dem In­ ternet nicht möglich ist, ist es bevorzugt, daß zur Erzeugung der Zeitanzeige der Server bei jeder Datenübertragung eine Information über die für den Spielzug verbleibende Zeit mitsendet, und das Programm auf dem Rechner des Teilnehmers die Zeitdauer zwischen Absendung der Anforderung und der An­ kunft der Datenübertragung davon abzieht.
Die vorgenannte Lösung gibt jedoch nur eine grobe Schätzung für die Laufzeit der Daten zwischen Teilnehmerrechner und Server, da sie davon ausgeht, daß diese der Gesamtlaufzeit der Daten zwischen Anforderung durch den Teilnehmerrechner und Ankunft der Daten beim Teilnehmerrechner entspricht.
Es ist daher weiter bevorzugt, daß verschiedene Zonen der Zeitanzeige erzeugt werden, nämlich eine erste Zone, in der die für den Spielzug verbleibende Zeit größer ist als die Zeitdauer zwischen Absendung der Anforderung und der Ankunft der Datenübertragung, eine zweite Zone, in der die für den Spielzug verbleibende Zeit größer ist als die halbe Zeitdauer zwischen Absendung der Anforderung und der Ankunft der Daten­ übertragung und eine dritte Zone, in der die für den Spielzug verbleibende Zeit kleiner ist als die halbe Zeitdauer zwi­ schen Absendung der Anforderung und der Ankunft der Daten­ übertragung.
Auf diese Weise verfügt der Spielteilnehmer über eine recht genaue Information, wie wahrscheinlich es ist, daß seine Spielzüge noch berücksichtigt werden können: So lange sich die Zeitanzeige in der ersten Zone befindet, ist mit größter Wahrscheinlichkeit damit zu rechnen, daß der Spielzug noch ausgeführt werden kann. In der zweiten Zone besteht lediglich eine gewisse Wahrscheinlichkeit dafür, und in der dritten Zo­ ne ist es nahezu ausgeschlossen, daß der Spielzug noch recht­ zeitig durchgeführt werden kann.
Die vorliegende Erfindung wird im folgenden anhand eines in der Zeichnung dargestellten Ausführungsbeispiels näher erläu­ tert. Es zeigt:
Fig. 1 den grundsätzlichen Aufbau der erfindungsgemäßen Da­ tenverbindungen.
Der technische Aufbau der vorliegenden Erfindung umfaßt einen Client 10, das heißt ein Programm, welches auf dem Rechner des Spielteilnehmers läuft. Dieses steht über http bzw. ab­ hörgeschützte http/ssl-Verbindungen mit dem Internet 12 in Verbindung. Über das Internet 12 ist eine weitere Verbindung im http/ssl-Protokoll mit dem Rechner 14, den beispielsweise ein Internet-Spielcasino betreibt, verbunden. Auf diesem Rechner 14 laufen verschiedene Server, wobei die Nachrichten aus dem Internet 12 zuerst einem sicheren www-Server 16 zuge­ leitet werden. Dieser steht mit den einzelnen Job-Servern 18, das heißt, den Programmen, auf denen die einzelnen Spiele laufen, in Verbindung. Die Job-Server 18 sind mit einem Zu­ fallszahlengenerator 20, der Kontoverwaltung 22, die die Kon­ ten der einzelnen Spieler verwaltet, und einer Protokol­ liereinheit 24 verbunden.
Das Client-Programm 10 ist ein Programm, das auf dem Spieler­ computer läuft und das die Schnittstelle zum eigentlichen Spiel verkörpert. Es zeigt dem Spieler den aktuellen Spiel­ stand an und kommuniziert für ihn mit dem Spiele-Server, der praktisch ein Bestandteil des Internet-Spielcasinos ist. Der Spiele-Server ist ein Programm, das für den Benutzer das Spiel realisiert. Er akzeptiert alle seine Spielzüge und rea­ giert auf sie. Ein Spiele-Server kann im Prinzip für eine be­ liebige Anzahl von Spielen zuständig sein. In der Regel wird jedoch ein Server nur einen bestimmten Spieltyp bedienen.
Der Spiele-Server kontaktiert die Datenbank für jeden Spiel­ zug, um die Benutzerdaten zu überprüfen und das Resultat zu speichern. Diese Kommunikation ist für den Spieler transpa­ rent, denn er sieht keine Details aus der inneren Struktur des Spiele-Servers 18.
Jeder Spieler benutzt ein lokales Programm 10, das mit dem Spiele-Server 18 kommuniziert. Dieses benutzt entweder nur den www-Browser, den Browser erweitert durch "Plug In's", "Applets" oder ähnliches, oder ein selbständig ausführbares Programm. Jedes Spiel wird zuerst aus einer oder mehreren Spielauswahlseiten ausgewählt. Danach wird ein neues Spiel­ fenster geöffnet, es zeigt die Spielgraphik an und der Spie­ ler kann anfangen zu spielen. Er kann zuerst seinen Einsatz wählen, der ganz einfach (Slot-Machine), oder ganz kompli­ ziert (Roulette) sein kann, und schließlich fordert er einen neuen Spielzug an. Das Spieler-Programm 10 kann dann eine Animation starten, z. B. das Roulette-Rad drehen, es sendet eine Nachricht an den entsprechenden Spiele-Server und wartet auf die Antwort. Wenn die Antwort des Servers kommt, stoppt das Programm die Animation, zeigt das Resultat an und wartet auf weitere Benutzeraktionen.
Auf diese Weise kann ein virtuelles Spielcasino im Internet realisiert werden, und bei entsprechender Absicherung der Da­ tenkommunikation kann sogar um "richtiges" Geld gespielt wer­ den.
Dabei müssen jedoch die Probleme der Kommunikation über das Internet berücksichtigt werden. Da die Internet-Kommunikation nicht 100-prozentig verläßlich ist, kann es passieren, daß die Server-Antwort zu spät, nur teilweise, oder überhaupt nicht ankommt. In diesem Fall muß der Spieler die Möglichkeit haben, den Spielzug zu wiederholen, so daß eine neue und hof­ fentlich erfolgreichere http-Verbindung mit dem Server zu­ stande kommen kann. Dabei macht es keinen Unterschied, ob der Server die letzte Spieler-Nachricht bekommen hat, aber seine Antwort verloren ging, oder ob er sie überhaupt nicht bekom­ men hat, da erfindungsgemäß in beiden Fällen das Resultat richtig bearbeitet werden muß. Wenn ein Spielzug vom Server nicht ausgeführt wird, und daher keine entsprechende Rückmel­ dung erfolgt ist, muß der Spieler lediglich erneut das ent­ sprechende Display-Element anklicken.
Während des Spiels kontaktiert das Client-Programm 10 den Server 18 in regelmäßigen Abständen und fordert den neuesten Spielstand an. Die Kommunikation wird dabei immer von dem Client-Programm 10 gestartet: Es sendet eine Nachricht an den Spiele-Server 18 und der Server 18 schickt ihm eine Antwort zurück.
Es ist daher erforderlich, daß ein entsprechendes Client- Programm 10 auf dem Rechner des Spielteilnehmers verfügbar ist. Dieses Programm kann entweder ebenfalls über Internet oder aber auf CD-Rom zur Verfügung gestellt werden. Im erste­ ren Falle kann das Programm einmal aus dem Internet geladen und dann auf der Festplatte des lokalen Rechners beim Teil­ nehmer gehalten werden.
Während eines Spiels mit mehreren Mitspielern muß jeder Mit­ spieler in der Lage sein, den gegenwärtigen Spielstand zu se­ hen, der Einsätze und andere Spielzüge aller anderen Mitspie­ ler umfaßt. Nachdem jede Kommunikation nach dem Internet- Protokoll immer von dem Client angefordert werden muß, hat der Server keine Möglichkeit, dem Client mitzuteilen, daß sich der Spielstand geändert hat. Der Server muß vielmehr warten, bis der Client den aktuellen Spielstand abfragt. Dar­ aus folgt, daß die Clients den Server in regelmäßigen Abstän­ den abfragen müssen, auch wenn ihr Spieler keine Aktion aus­ führt. Dies könnte unbefriedigend erscheinen im Vergleich zu Spielstandsaktualisierungen, die durch den Server bei jeder Änderung des Spielstands veranlaßt werden. Es ist jedoch tat­ sächlich die einzig ausführbare Art, um im vorliegenden Fall Aktualisierungen des Spielstandes zu verbreiten. Wenn das Spiel P Mitspieler hat, und jeder von ihm B Einsätze oder an­ dere Spielzüge während eines Spiels durchführt, müßte der Server B . P2 Aktualisierungsmeldungen an die Clients schic­ ken. Bei Abfrage durch den Client, und unter Annahme von N Abfragen pro Spiel, muß der Server lediglich P . (B+N) Mit­ teilungen senden, wodurch Spiele mit wesentlich mehr Teilneh­ mern realisiert werden können.
Der Spielstand muß in regelmäßigen Abständen, beispielsweise im Abstand von 10 Sekunden abgefragt werden. Die Abfragen sollten jedoch nicht zu häufig erfolgen, damit nicht zuviel Datenverkehr beim Server anfällt. Die regelmäßige Abfragefre­ quenz von N Sekunden wird nur unterbrochen, wenn der eigene Spieler einen Spielzug macht: Mit der zugehörigen Antwort sendet der Server auch den gesamten Spielstand. Die nächste Erneuerung des Spielstandes kann deshalb nach N Sekunden nach der Antwort auf den Spielzug statt N Sekunden nach der letz­ ten Erneuerung des Spielstandes erfolgen. Auf diese Weise hat der Spieler den Eindruck, daß die entsprechenden Spielzüge in Echtzeit angezeigt werden, da er seine eigenen Spielzüge so­ fort im Spielstand berücksichtigt findet. Hinsichtlich der Spielzüge der anderen Mitspieler fehlt ihm ja eine zeitliche Zuordnung. Das erfindungsgemäße Verfahren erweckt daher bei jedem Mitspieler den Eindruck eines "echten" Echtzeitbe­ triebs, obwohl die Spielstände eigentlich nur in Zeitabstän­ den von 10 oder 15 Sekunden erneuert werden.
Ein weiteres Problem, welches das erfindungsgemäße Verfahren löst, beruht darauf, daß Spiele mit mehreren Mitspielern eine Synchronisation zwischen den Spielern und dem Server erfor­ dern. Dies ist schon in einem lokal verteilten System schwie­ rig genug, und ist natürlich in einem Internet-System noch schwieriger, da das Internet keine festen Nachrichtenlaufzei­ ten bietet.
Der Client muß nämlich beispielsweise wissen, wann der letzte Zeitpunkt gekommen ist, um eine Mitteilung zu schicken, so daß diese den Server vor dem Ablauf einer bestimmten Zeit, beispielsweise der Zeit zum Setzen im Roulette, erreicht. Dies bedeutet, daß der Client die Serverzeit als auch seine eigene Zeitdistanz zu dem Server kennen muß, um seine Aktio­ nen mit dem Server zu synchronisieren.
Erfindungsgemäß wird diese Synchronisation mit einem sehr einfachen Verfahren erreicht, welches darauf beruht, daß die Rundlaufzeit gemessen wird, d. h. die Laufzeit zwischen der Absendung einer Nachricht vom Client bis zu dem Zeitpunkt, an dem die Antwort des Servers vorliegt. Zusätzlich enthält jede Nachricht des Servers bei Spielen mit mehreren Teilnehmern die Variable "Server-Zeit". Dies kann beispielsweise eine ganzzahlige Zahl sein, die jede Sekunde während der Betriebs­ dauer des Servers heraufgezählt wird. Die Clients nutzen die­ se zusammen mit der gemessenen Rundlaufzeit ihrer Mitteilun­ gen, um daraus die aktuelle Server-Zeit abzuleiten. Wenn der Client beispielsweise einen Server-Zeit-Wert von 100 zurück­ geschickt bekommt, und die Rundlaufzeit 6 Sekunden betrug, kann der Client mit einiger Sicherheit darauf schließen, daß zu dem Zeitpunkt, an dem er die Nachricht vom Server erhalten hat, die Server-Zeit 103 betragen hat, und daß es 3 Sekunden dauert, um den Server zu erreichen. Nehmen wir nun an, daß bei dem nächsten Nachrichtenaustausch die Rundlaufzeit 12 Se­ kunden beträgt. In diesem Fall weiß der Client, daß seine laufende Annahme hinsichtlich der Server-Zeit genauer ist als die neue, weil nun die Rundlaufzeit länger ist und es nicht möglich ist, festzustellen, ob beide Übertragungswege der Nachricht die gleiche Zeit gebraucht haben, oder ob einer nur eine Sekunde und der andere 11 Sekunden gebraucht hat. Ande­ rerseits weiß der Client nun, daß er die Nachricht 6, und möglicherweise sogar 12 Sekunden eher senden muß, um den Ser­ ver noch rechtzeitig zu erreichen. Wenn der nächste Nachrich­ tenaustausch eine Rundlaufzeit von 4 Sekunden erreicht, kann der Client seine Annahme für die Server-Zeit korrigieren, aber er sollte den Sicherheits-Zeitabstand nicht korrigieren, es sei denn, daß die meisten der folgenden Nachrichten ähnli­ che Übertragungsgeschwindigkeiten erreichen.
Auf diese Weise sieht man, daß mit jedem neuen Nachrichten­ austausch der Client eine genauere Annahme hinsichtlich der Server-Zeit hat und über mehr Daten verfügt, um zu schätzen, wie lang es dauert, um den Server zu erreichen. Diese Daten sollten in einer bequemen Weise angegeben werden:
Die verbleibende Zeit bis zum Ablauf der Frist zur Durchfüh­ rung eines Spielzuges (in Server-Zeit) sollte immer angezeigt und aufgefrischt werden,
der mittlere Abstand, also die Zeit, die notwendig ist, um den Server zu erreichen sollte ebenfalls angezeigt werden,
ein farbiges Kästchen kann zeigen, ob es ziemlich sicher ist, daß der Server rechtzeitig erreicht werden kann (grün), wann es weniger wahrscheinlich wird (gelb oder orange) und wenn es sehr unwahrscheinlich oder unmöglich ist (rot).
Alle diese drei Angaben könnten auch beispielsweise als Ana­ log-Uhr mit zwei farbigen Zeigern oder als eine Digital-Uhr mit zwei Anzeigen dargestellt werden, wobei eine die Server- Zeit und die andere die Server-Zeit plus Laufzeit zwischen Client und Server anzeigt. Der farbige Hintergrund der Uhren kann dann seine Farbe entsprechend ändern.
Beim Roulette-Spiel ist diese Synchronisation im wesentlichen nur nötig, damit der Mitspieler weiß, bis wann er seine Ein­ sätze noch setzen oder ändern kann und wann das "rien ne va plus" auftritt.
Wesentlich komplizierter ist die Situation jedoch bei Black Jack, da dieses Spiel definierte Spielabschnitte (Setzen, Spielen) hat, und alle Spieler ihre Aktionen rechtzeitig durchführen müssen. Bei einem Spiel übers Internet verzichtet man vorzugsweise auf die normale Regel, daß alle Spieler se­ quentiell nacheinander spielen müssen, da der Spiel-Server im Gegensatz zu einem menschlichen "Black Jack-Dealer" mehrere Spieler gleichzeitig bedienen kann und die Erzwingung einer Reihenfolge das Spiel wesentlich langsamer und wesentlich ab­ hängiger von Spielern machen würde, die nur eine sehr langsa­ me Internet-Verbindung haben.
Wenn ein Spieler trotzdem seine erforderlichen Aktionen nicht rechtzeitig durchführt, wird er aus dem Spiel mit mehreren Teilnehmern entfernt und an einen "Privat-Tisch" versetzt, wo er allein spielt und keine Zeitbeschränkungen zur Beendigung des Spiels hat. Er kann sogar das Spiel unterbrechen und spä­ ter weiterspielen. Der Übergang von einem Spiel mit mehreren Teilnehmern an einen Privat-Tisch wird vom Server über ein "Private"-Flag an den Client mitgeteilt. Wenn das Client- Programm diese Meldung erhält, muß es den Spieler darüber in­ formieren, daß er aus dem ursprünglichen Spiel entfernt wor­ den ist. Dies muß in unmißverständlicher Weise geschehen. Üb­ licherweise passiert es dadurch, daß die Art, in der das Spiel am Bildschirm des Teilnehmerrechners dargestellt wird, geändert wird, so daß der Spieler weiß, was passiert ist.
Bei all diesen Spielen sendet der Server nach jeder Abfrage des Clients stets den gesamten Spielzustand, d. h. es werden keine inkrementellen Änderungen übertragen. Dadurch gibt es weniger Probleme, wenn eine Rückmeldung vom Server an den Client ausgefallen ist. Das Client-Programm muß prüfen, ob sich der Spielstand geändert hat, und dementsprechend die An­ zeige aktualisieren. Wenn beim Roulette ein neues Spiel be­ ginnt, wird der Tisch (wie im echten Casino) abgeräumt. Das würde normalerweise den letzten Einsatz des Spielers und das letzte Spielergebnis löschen, möglicherweise bevor der Spie­ ler genügend Zeit hatte, das Spielergebnis zu betrachten, oder bei sehr langsamen und schlechten Internet-Verbindungen sogar bevor das Spielergebnis vollständig übertragen worden ist. Um dieses Problem zu lösen, schlägt die vorliegende Er­ findung vor, diese Information dem Spieler zusätzlich auf be­ queme Weise zugänglich zu machen. Beispielsweise kann der Spieler selbst entscheiden, wann der Tisch abgeräumt ist und ein neuer Spielstatus abgefragt ist, oder das letzte Ergebnis kann gespeichert und vom Spieler durch Anklicken einer Schaltfläche nochmals dargestellt werden. Ebenso könnte das Client-Programm auch einige oder alle frühere Einsätze und die entsprechenden Spielergebnisse zwischenspeichern und die­ se dem Spieler auf Anforderung zugänglich machen.
Wenn ein Spieler beim Roulette während einiger aufeinander­ folgender Spiele keine Einsätze macht, wird er ebenfalls an einen Privat-Tisch versetzt. Um den Benutzer zu warnen, daß er bald versetzt werden wird, sendet der Server mit allen Übertragungen von Spielzustandsdaten eine entsprechende Mel­ dung während der letzten Runde vor Ablauf der Zahl der Spie­ le. Das Client-Programm kann dann rechtzeitig eine entspre­ chende Warnung ausgeben.
Erfindungsgemäß ist es auch möglich, daß ein Teilnehmer nur als "Gast" teilnimmt. Er benötigt dann kein Konto, kann dafür aber auch keine Einsätze machen. Das Client-Programm dieses Teilnehmers fragt dann nur alle N Sekunden den Spielstand ab und stellt diesen dann nach Übermittlung durch den Server auf dem Bildschirm dar. Wenn der Besucher zu lange bleibt, kann der Server ihn nach einiger Zeit entfernen und weitere Anfor­ derungen des Client-Programms mit einer entsprechenden Feh­ lermeldung beantworten.
Hinsichtlich der Zeitsynchronisation ist es erfindungsgemäß besonders bevorzugt, daß der Server mit jeder Antwort die Server-Zeit überträgt, die noch übrig ist, bis das Spiel (oder der entsprechende Teil des Spiels) endet und die ur­ sprüngliche Gesamtlänge des gesamten Zeitintervalls. Der Cli­ ent muß die Rundlaufzeit einer Meldung berücksichtigen, die zwischen dem Client und dem Server ausgetauscht wird, und die verbleibende Zeit sowohl als Client als auch als Server-Zeit anzeigen. Mit jeder Meldung, die er von dem Server erhält, bekommt der Client eine genauere Schätzung der Server-Zeit und kann sich synchronisieren, selbst wenn die Rundlaufzeit sich ändert. Wenn die Zeit in einem graphischen Balken darge­ stellt wird, entspricht die gesamte Balkenlänge der Länge des Gesamtintervalls und die abgelaufene Länge der bereits ver­ gangenen Zeit.
Das im Internet übliche http-Protokoll weist darüber hinaus noch die Problematik auf, daß es darin nicht möglich ist, Meldungen, die auf vorherigen Aktionen beruhen, zu identifi­ zieren. Erfindungsgemäß wird daher vorgeschlagen, ein soge­ nanntes "Zugangs-Zertifikat" (Access Certificate = AC) jeder Meldung hinzuzufügen, um dem Kommunikationsverfahren Stabili­ tät zu verleihen und gleichzeitig die Meldungen der einzelnen Spieler zu identifizieren. Das AC dient einem doppelten Zweck: Zuerst dient es dazu, Meldungen von Spielern zu iden­ tifizieren, die sich vorher erfolgreich eingeloggt haben, und zweitens zur Einführung von Stabilität. Wenn eine Meldung vom Client zum Server oder die Antwort des Servers verloren wor­ den ist, weiß der Client nicht, ob seine Anforderung akzep­ tiert worden ist oder nicht und so kann er nicht wissen, ob er sie wiederholen soll oder nicht. Dies ist aber ein sehr wichtiger Unterschied, denn wenn der Server die Anforderung nicht erhalten hat, kann der Spieler ewig auf die Antwort warten. Wenn andererseits der Spieler die Anforderung wieder­ holt und der Server sie doppelt erhält, könnte er beispiels­ weise den Einsatz zweimal setzen oder zwei neue Karten zie­ hen, ohne dies zu wollen.
Das AC hilft dieser Problematik ab. Mit dem AC kann der Ser­ ver Originalanforderungen von denen unterscheiden, die bei­ spielsweise von einem ungeduldigen Benutzer erzeugt wurden, der eine Schaltfläche mehrfach angeklickt hat, bevor er eine Bestätigung erhalten hat. Die vorliegende Erfindung benutzt einen Meldungsparameter, um dem Benutzer mitzuteilen, daß seine Anforderung mehrfach empfangen worden ist und nur die erste Anforderung akzeptiert worden ist.
Erfindungsgemäß können die Access Certificates auch als Zu­ gangskennung dienen. Nachdem ja auf dem Internet für jede Mitteilung vom Client zum Server eine neue Verbindung eröff­ net werden muß, muß sich der Client jedes Mal authentifizie­ ren, wenn er Kontakt mit dem Server aufnimmt. Es ist dem Be­ nutzer aber nicht zuzumuten, jedes Mal ein Passwort einzuge­ ben, wenn er einen Spielzug vornimmt.
Erfindungsgemäß wird daher vom Server an den Client eine Ant­ wort geschickt, die ein Access Certificate enthält, wenn der Benutzer erfolgreich eingeloggt hat. Das Access Certificate ist eine Folge von Bytes, die bestätigen, daß dieser Benutzer sich erfolgreich eingeloggt hat und daß er berechtigt ist, an den Spielen unter Benutzung eines bestimmten Kontos teilzu­ nehmen. Jedes AC gilt für einen bestimmten Zeitraum. Wenn es in diesem Zeitraum für mindestens ein Spiel benutzt worden ist, sendet das System dem Client ein neues, frisches AC. Auf diese Weise kann der Benutzer die ganze Zeit spielen, ohne sich erneut einzuloggen. Diese Möglichkeit läuft aber nach einer bestimmten Zeit, in der der Benutzer nicht gespielt, ab.
Es ist dabei zu beachten, daß das AC in einem gesicherten Übertragungsverfahren, beispielsweise mit der SSL-Technik übertragen werden muß, da jeder Dritte, der das AC abhört, auf Rechnung eines anderen spielen kann.
Da man durch Erraten eines gültigen AC's dieses zum Spielen verwenden könnte, muß das AC eine ausreichend lange Zufalls­ folge von Bytes umfassen, um "Brute force attacks" durch aus­ probieren entsprechend vieler Kombinationen sinnlos zu ma­ chen. Eine Kopie des AC wird in der Datenbank der Server ge­ speichert, so daß die Gültigkeit stets überprüft werden kann.
Ein Benutzer könnte zwar sein eigenes AC verwenden und damit Betrügereien versuchen. Die ist jedoch kein Problem, da die Lebensdauer eines AC's beschränkt ist und es auf jeden Fall nur für das eigene Konto des Benutzers verwendet werden kann.
Erfindungsgemäß enthält das AC folgende Daten:
  • 1. Eine Zufallsfolge von Bytes
  • 2. Einen Account Index, der es erlaubt, den Bereich der Da­ tenbank zu finden, der die Daten des Benutzers enthält. Dies kann die Kontonummer oder ein weniger auffälliger Schlüssel dafür sein.
Die erfindungsgemäße Aufteilung der Spielprogramme auf Client und Server ermöglicht also Spiele ohne permanente Rechner- Verbindung, insbesondere mit mehreren Teilnehmern gleichzei­ tig, die gegenseitig ihr Spiel beobachten können, einen ge­ ringeren Telekommunikationsverkehr und eine Sprachunabhängig­ keit des Servers, da alle Ausgaben die in Sprache erfolgen müssen, durch das Client-Programm durchgeführt werden können, während die Kommunikation mit dem Server nur durch einheitli­ che Codes erfolgt.

Claims (10)

1. Verfahren zur Durchführung von Spielen über das Internet mit mindestens einem Teilnehmer mit einem Rechner, wobei das Spiel selbst auf einem Server abläuft, jedoch die gesamte Animation und Benutzerschnittstelle durch ein Programm auf dem Rechner des Teilnehmers dargestellt wird, dadurch gekenn­ zeichnet, daß eine Datenübertragung zwischen Server und Rech­ ner des Teilnehmers nur auf Anforderung des Programms auf dem Rechner des Teilnehmers erfolgt.
2. Verfahren nach Anspruch 1 dadurch gekennzeichnet, daß An­ forderungen zur Datenübertragung immer dann erfolgen, wenn der Teilnehmer einen Spielzug durchführt, oder nach Ablauf einer vorgegebenen Zeit T seit der letzten Anforderung.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das Programm auf dem Rechner des Teilnehmers jeder Anfor­ derung zur Datenübertragung einen Authentifizierungscode bei­ fügen muß.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß der Authentifizierungscode ursprünglich vom Server erzeugt und dem Rechner des Teilnehmers übermittelt wird.
5. Verfahren nach Anspruch 3 oder 4, dadurch gekennzeichnet, daß der Authentifizierungscode nur in verschlüsselter Form übertragen wird.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch ge­ kennzeichnet, daß jede Anforderung und jede Datenübertragung mit einer laufenden Nummer versehen ist.
7. Verfahren nach einem der Ansprüche 1 bis 6, mit mehreren Teilnehmern, dadurch gekennzeichnet, daß ein Teilnehmer, der nicht innerhalb einer vorgegebenen Zeit seine Spielzüge durchführt, aus dem Spiel mit mehreren Teilnehmern ausschei­ det, und für ihn allein ein weiteres Spiel auf dem Server er­ zeugt wird.
8. Verfahren nach einem der Ansprüche 1 bis 7 mit mehreren Teilnehmern, dadurch gekennzeichnet, daß dem Teilnehmer eine Zeitanzeige zur Verfügung gestellt wird, die anzeigt, wie lange er noch Zeit hat, seinen Spielzug durchzuführen, damit dieser noch beim gegenwärtigen Spiel vom Server berücksich­ tigt werden kann.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß zur Erzeugung der Zeitanzeige der Server bei jeder Datenübertra­ gung eine Information über die für den Spielzug verbleibende Zeit mitsendet, und das Programm auf dem Rechner des Teilneh­ mers die Zeitdauer zwischen Absendung der Anforderung und der Ankunft der Datenübertragung davon abzieht.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß verschiedene Zonen der Zeitanzeige erzeugt werden: eine erste Zone, in der die für den Spielzug verbleibende Zeit größer ist als die Zeitdauer zwischen Absendung der Anforderung und der Ankunft der Datenübertragung, eine zweite Zone, in der die für den Spielzug verbleibende Zeit größer ist als die halbe Zeitdauer zwischen Absendung der Anforderung und der Ankunft der Datenübertragung, und eine dritte Zone, in der die für den Spielzug verbleibende Zeit kleiner ist als die halbe Zeitdauer zwischen Absendung der Anforderung und der Ankunft der Datenübertragung.
DE19941504A 1999-08-31 1999-08-31 Verfahren zur Durchführung von Spielen über das Internet Withdrawn DE19941504A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19941504A DE19941504A1 (de) 1999-08-31 1999-08-31 Verfahren zur Durchführung von Spielen über das Internet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19941504A DE19941504A1 (de) 1999-08-31 1999-08-31 Verfahren zur Durchführung von Spielen über das Internet

Publications (1)

Publication Number Publication Date
DE19941504A1 true DE19941504A1 (de) 2001-03-01

Family

ID=7920325

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19941504A Withdrawn DE19941504A1 (de) 1999-08-31 1999-08-31 Verfahren zur Durchführung von Spielen über das Internet

Country Status (1)

Country Link
DE (1) DE19941504A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10137557A1 (de) * 2001-08-01 2003-02-13 Deutsche Telekom Ag Spieldialog-Transfer aus Datenbank
EP1446203A1 (de) * 2001-11-23 2004-08-18 Cyberscan Technology Inc. Modulare unterhaltungs- und spielsysteme, die zum verbrauch und zur bereitstellung von netzdiensten ausgelegt sind
EP1446206A1 (de) * 2001-11-23 2004-08-18 Cyberscan Technology Inc. Modulares unterhaltungs- und spielsystem, ausgelegt für die verarbeitung von biometrischen rohdaten und multimediareaktion durch einen abgesetzten server
US8266212B2 (en) 2001-11-23 2012-09-11 Igt Game talk service bus

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10137557A1 (de) * 2001-08-01 2003-02-13 Deutsche Telekom Ag Spieldialog-Transfer aus Datenbank
EP1446203A1 (de) * 2001-11-23 2004-08-18 Cyberscan Technology Inc. Modulare unterhaltungs- und spielsysteme, die zum verbrauch und zur bereitstellung von netzdiensten ausgelegt sind
EP1446206A1 (de) * 2001-11-23 2004-08-18 Cyberscan Technology Inc. Modulares unterhaltungs- und spielsystem, ausgelegt für die verarbeitung von biometrischen rohdaten und multimediareaktion durch einen abgesetzten server
EP1446203A4 (de) * 2001-11-23 2006-12-20 Cyberscan Tech Inc Modulare unterhaltungs- und spielsysteme, die zum verbrauch und zur bereitstellung von netzdiensten ausgelegt sind
EP1446206A4 (de) * 2001-11-23 2007-01-03 Cyberscan Tech Inc Modulares unterhaltungs- und spielsystem, ausgelegt für die verarbeitung von biometrischen rohdaten und multimediareaktion durch einen abgesetzten server
US7297062B2 (en) 2001-11-23 2007-11-20 Cyberview Technology, Inc. Modular entertainment and gaming systems configured to consume and provide network services
US8266212B2 (en) 2001-11-23 2012-09-11 Igt Game talk service bus
US8608567B2 (en) 2001-11-23 2013-12-17 Igt Modular entertainment and gaming system configured to capture raw biometric data and responsive to directives from a remote server
US8696465B2 (en) 2001-11-23 2014-04-15 Igt Modular entertainment and gaming systems configured to consume and provide network services

Similar Documents

Publication Publication Date Title
DE60034915T2 (de) Synchrones Datenverarbeitungsverfahren
EP0855074B1 (de) Verfahren zur ermittlung eines anteiligen jackpotgewinns
DE60119670T2 (de) Spielgerät, Serversystem, Informationsdienstverfahren und Aufzeichnungsmedium
DE60111556T2 (de) Verfahren und vorrichtung zum spielen mit offline-wettterminals
DE69733735T2 (de) Spielsystem mit zentraler Zufallszahlenerzeugung
EP1057147A1 (de) Spielsystem, entsprechende verfahren und angepasste vorrichtungen
DE3522136A1 (de) Elektronisches wettspielsystem
EP0120322A1 (de) Unterhaltungsspiel
DE19941504A1 (de) Verfahren zur Durchführung von Spielen über das Internet
DE19756693B4 (de) Verwendung einer Bildaufnahmevorrichtung an Spielautomaten
EP0696370B1 (de) System zum spielen an mehreren, entfernt voneinander aufgestellten unterhaltungsgeräten
EP1395930B1 (de) Spiel- oder verkaufsgeräteanordnung
EP3406066A1 (de) Verfahren zum übertragen von unterhaltungsspielesitzungen zwischen endgeräten
EP1204049B1 (de) Datenverarbeitungssystem
DE19602626A1 (de) Spielsystem auf einem Computer oder in einem interaktiven Netzwerk
DE60314899T2 (de) Lottospiel
DE19833218A1 (de) Telefonspielsystem
WO2004097756A1 (de) Glücks-/münzspielanordnung
DE10133519A1 (de) Verfahren für den Betrieb eines virtuellen Dienstes zwischen einem mobilen Kommunikationsgerät und einem Server über SMS-Datenübertragungen
DE60216072T2 (de) Verfahren zum spielen eines wettspiels auf gewinnzahlen
EP1358734A1 (de) Telekommunikationsprotokoll, -system und -vorrichtungen zur anonymen und authentischen abwicklung einer elektronischen wahl
DE19641194B4 (de) Verfahren zum Betreiben eines mittels Münzen oder Token betätigbaren Spielautomaten
DE19701300B4 (de) Spielautomatensystem mit einer Mehrzahl von Spielstellen
DE102005035370B4 (de) Verfahren zur Steuerung eines Spielautomaten
DE19651396B4 (de) Verfahren zur Steuerung eines Spielautomaten

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee