`(12) Patent Application Publication (10) Pub. No.: US 2001/0044339 A1
`Cordero et al.
`(43) Pub. Date:
`Nov. 22, 2001
`
`US 20010044339A1
`
`(54) MULTI-PLAYER COMPUTER GAME,
`SYSTEMAND METHOD
`
`Publication Classification
`
`(51) Int. Cl. ............................. A63F 9/24; G06F 17/00;
`G06F 19/00
`(52) U.S. Cl. ................................................. 463/42; 463/40
`
`(57)
`
`ABSTRACT
`
`(76) Inventors: Angel Cordero, Brooklyn, NY (US);
`Nicholas M. Gonzalez, Hicksville, NY
`(US); Zhi Chen, Brooklyn, NY (US);
`Roger Campos, Brentwood, NY (US);
`Alfred Polanco, Glendale, NY (US);
`Daniel Melfi, Medford, NY (US);
`Nicodemo Schipano, San Bruno, CA
`(US); Mimoun Ouchaou, Freeport, NY A multi-player computer game, System and development
`(US)
`method that facilitate multi-player game play between and
`among various hardware platforms employing various oper
`Correspondence Address:
`ating Systems and communication protocols. Multi-player
`Steven B. Pokotilow, Esq.
`game play between and among a plurality of playerS is now
`Stroock & Stroock & Lavan LLP
`possible regardless of the hardware platform, communica
`180 Maiden Lane
`tion protocol, and operating System of each of the player's
`New York, NY 10038 (US)
`computing devices. PlayerS having different hardware and
`Software configurations on their respective computing
`(21) Appl. No.:
`09/789,834
`devices and communicating using various communication
`protocols may engage each other in multi-player game play.
`New application modules may be developed using a croSS
`platform core and other foundation technologies to simplify
`and Speed Software development. Coding to a specific oper
`ating System or hardware device or protocol is no longer
`required.
`
`(22) Filed:
`
`Feb. 20, 2001
`
`Related U.S. Application Data
`(63) Non-provisional of provisional application No.
`60/183,318, filed on Feb. 17, 2000.
`
`
`
`TO BACKUP
`DATA
`CENTER
`
`AN IDEAL
`USER
`TOURNAMENT SERVICE
`FINDER
`IDEON SERVER
`
`Zynga Ex. 1004, p. 1
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22, 2001 Sheet 1 of 17
`
`US 2001/0044339 A1
`
`
`
`01
`
`Z909
`
`OZ LZ
`
`
`
`MEINHO VIVO dn}{OWE '09
`
`
`
`
`
`Zynga Ex. 1004, p. 2
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22, 2001 Sheet 2 of 17
`
`US 2001/0044339 A1
`
`
`
`OOOD
`
`DDDD
`
`
`
`
`
`s
`
`
`
`OOOO
`
`EE OOOOOO
`
`s
`
`Zynga Ex. 1004, p. 3
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22, 2001 Sheet 3 of 17
`
`US 2001/0044339 A1
`
`
`
`120
`
`-100
`
`200
`
`Cy
`-
`CLENT
`
`SERVER
`
`200
`
`/ C
`
`CLENT
`
`200
`
`200
`
`C s
`
`-
`CLENT
`
`Zynga Ex. 1004, p. 4
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22, 2001 Sheet 4 of 17
`
`US 2001/0044339 A1
`
`O
`O N
`
`
`
`s
`O
`ver
`
`t
`O3
`2
`c
`
`it
`
`S
`
`v
`
`N
`
`Y
`
`
`
`
`
`/
`O
`O
`ye
`
`C
`O
`CN
`
`
`
`SS
`O
`O
`ta
`
`All c)
`
`-
`He
`2
`
`-
`CD
`
`it
`
`O
`S
`
`SS
`
`NS
`
`O
`
`-
`
`5
`a
`LU
`f
`
`SS
`8
`ves
`C2
`CD
`C He
`1.
`O
`
`vo
`
`ll
`
`S
`s
`O
`ve
`
`C2 CD
`
`H
`2
`L
`
`C)
`
`Zynga Ex. 1004, p. 5
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22, 2001 Sheet 5 of 17
`
`US 2001/0044339 A1
`
`2
`
`
`
`
`
`%09 OISOT INBITO
`
`
`
`
`
`
`
`
`
`%08 O|0OT INETTO
`
`Zynga Ex. 1004, p. 6
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22, 2001 Sheet 6 of 17
`3
`CN
`
`3
`
`O :
`
`US 2001/0044339 A1
`
`s
`
`O
`
`8
`
`O
`
`S.
`
`Zynga Ex. 1004, p. 7
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22, 2001 Sheet 7 of 17
`
`US 2001/0044339 A1
`
`
`
`
`
`Y
`
`f
`
`an 17N SERVER
`
`W
`
`W
`w
`W
`
`CENT
`
`FIG. 1 G
`
`CLENT
`
`Zynga Ex. 1004, p. 8
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22, 2001 Sheet 8 of 17
`
`US 2001/0044339 A1
`
`(JEANES
`|WHO
`
`XINOMIEN 01
`
`0 || ||
`
`HOLMSHOLMS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Zynga Ex. 1004, p. 9
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22, 2001 Sheet 9 of 17
`
`US 2001/0044339 A1
`
`
`
`Zynga Ex. 1004, p. 10
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22, 2001 Sheet 10 of 17
`
`US 2001/0044339 A1
`
`300 N
`
`
`
`APPLICATION
`
`302
`
`
`
`
`
`
`
`
`
`COMM ENGINE
`AP
`
`600
`
`SERVICE
`LAYER
`
`OPERATING
`SYSTEM
`
`312
`
`
`
`
`
`
`
`HARDWARE
`DEVICES
`
`314
`
`COMMUNICATION
`PROTOCOLS
`
`FIG.4A
`
`Zynga Ex. 1004, p. 11
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22, 2001 Sheet 11 of 17
`
`US 2001/0044339 A1
`
`502
`
`APPLICATION
`
`COMM ENGINE API
`
`402
`
`
`
`SVC
`
`414
`
`404
`
`
`
`
`
`SERVICE LAYER
`
`
`
`CHAN
`4.18
`MGR N-416
`
`
`
`SESS
`MGR
`
`MSG.
`QUEUE
`452-- MGR
`
`410
`
`
`
`450
`
`DEVICE LAYER
`
`FIG.4B
`
`Zynga Ex. 1004, p. 12
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22 , 2001 Sheet 12 of 17
`
`US 2001/0044339 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`422
`
`424
`
`426
`
`428
`
`450
`
`434
`
`
`
`436
`
`4.38
`
`
`
`440
`
`442
`
`VIRTUAL SP
`
`INSERT NOISE/DEBUG
`
`FIG.5
`
`Zynga Ex. 1004, p. 13
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22, 2001 Sheet 13 of 17
`
`US 2001/0044339 A1
`
`402
`
`Commendine API Lover
`
`DATA
`
`CommEng Send
`
`41 O
`
`N
`SERVICE
`LAYER
`
`ChonMon-Send
`
`GET EMPTY MSG
`NODE
`
`FIL. MSG AND
`COPY DATA
`
`ProtocoStock::Send
`
`DEVICE
`LAYER
`
`OMM Send
`
`FIG.6
`
`Zynga Ex. 1004, p. 14
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22, 2001 Sheet 14 of 17
`
`US 2001/0044339 A1
`
`CommEngine API Layer
`
`402
`
`DoAsynchronous.Work
`
`
`
`CommEng Send
`
`
`
`GET EMPTY
`MSG NODE
`
`
`
`
`
`FOR EACH MSG
`IN SEND QUEUE
`
`REMOVE FROM
`QUEUE
`
`
`
`
`
`PROCESS
`FILL MSG AND S. Chon Mon ProcessSend
`
`
`
`
`
`
`
`PLACE MSG ON
`SEND QUEUE
`
`ProtocolStock::Send
`
`
`
`I/O FILTERS
`
`
`
`COMM Send
`
`FIG.7
`
`
`
`
`
`te
`
`SERVICE
`LAYER
`
`450
`
`DEVICE
`LAYER
`
`Zynga Ex. 1004, p. 15
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22,2001 Sheet 15 of 17
`
`US 2001/0044339 Al
`
`s
`
`+
`3
`
`_—
`x
`“
`
`2
`no
`
`s+
`2
`
`wt
`ae)
`2
`
`<=
`m
`7
`
`=_
`an
`
`N
`=
`n”
`
`Le]
`=~
`wy
`
`@
`
`S
`+
`oO
`
`ro)
`a
`
`Zynga Ex. 1004, p. 16
`Zyngav. IGT
`IPR2022-00368
`
`
`
`>u
`
`d
`ts 3 ui
`go Oe
`rin
`<t
`
`x,
`—
`
`— NTN
`
`RAR
`Y
`
`
`
`Zynga Ex. 1004, p. 16
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22, 2001 Sheet 16 of 17
`
`US 2001/0044339 A1
`
`
`
`WNW
`
`1SETTÒBèl
`MENNES X EWW0
`
`OOZ
`
`Zynga Ex. 1004, p. 17
`Zynga v. IGT
`IPR2022-00368
`
`
`
`Patent Application Publication Nov. 22, 2001 Sheet 17 of 17
`
`US 2001/0044339 A1
`
`
`
`r
`n
`y
`
`Zynga Ex. 1004, p. 18
`Zynga v. IGT
`IPR2022-00368
`
`
`
`US 2001/004.4339 A1
`
`Nov. 22, 2001
`
`MULTI-PLAYER COMPUTER GAME, SYSTEM
`AND METHOD
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`0001. This application claims priority to Provisional
`Patent Application Ser. No. 60/183,318 filed on Feb. 17,
`2OOO.
`
`FIELD OF THE INVENTION
`0002 The present invention relates to a multi-player and
`enhanced Single-player computer game, System and method.
`
`BACKGROUND OF THE INVENTION
`0.003 Computer game players constantly demand more
`challenging, Visually and mentally exciting games. The
`games must hold a player's attention, draw a player back to
`the game again and again, and, facilitate multi-player game
`play. While certain types of multi-player game play are
`already possible (e.g., video arcade, Side-by-side platform
`game play), the increasing Sophistication of game players,
`the high-powered computing devices now available to the
`general public, and the quick Internet connection speeds
`now available, have all assisted in raising the Standard for
`multi-player game play.
`0004 What has not yet been possible, is multi-player
`game play among playerS having different computing
`devices. For example, Side-by-side gameplay requires that
`each player have a computing device compatible with the
`other player(s) device(s). Even multi-player game play over
`the Internet requires that the multiple playerS have the same
`or at least compatible computing devices. The reason being
`that the Software each player executes on his/her computing
`device must be compatible (i.e., must be able to bi-direc
`tionally communicate) with the Software on the other play
`ers devices.
`0005 Development of multi-player computer games is
`also currently time-consuming and expensive. One reason is
`the variety of hardware platforms currently available for
`multi-player game play. A multi-player game must be devel
`oped for each platform, with little croSS-Over or reuse of the
`application code from one platform to another. In addition,
`there is a significant learning curve for new Software devel
`operS and even for experienced developerS for hardware
`Specific protocols, communication specifications, and new
`platform and development tools. Thus, current methods of
`developing multi-player computer games Suffer from Sig
`nificant shortcomings.
`
`SUMMARY OF THE INVENTION
`0006 The present invention is directed to a multi-player
`computer game, System and development method.
`0007. The present invention provides special purpose
`Software operable in connection with a processor of a client
`computing device to enable multi-player game play between
`and among different hardware platforms in any of a client/
`Server, client/client, or client/client/server configurations.
`The present invention also provides Special purpose Soft
`ware operable in connection with a processor of a Server
`computer (or a plurality of server computers) to facilitate
`and manage multi-player game play over a network. The
`
`Special purpose Software on each of the client computer and
`Server computer facilitates and manages communication
`between and among client computers (i.e., players) and
`Server computers, regardless of the different hardware plat
`forms and operating Systems installed and operable on the
`various client computers to provide Seamless connectivity
`among game players over a network. The amount of func
`tionality provided by the client Special purpose Software and
`Server Special purpose Software depends on a number of
`variables, Such as, for example, type of multi-player game,
`number of players, connection configuration (e.g., client/
`client, etc.), game status (e.g., initiation, new players being
`added, players leaving, etc.).
`0008. In accordance with embodiments of the present
`invention, Special purpose Software operable in connection
`with a processor of a client computer for facilitating a
`multi-player computer game includes a plurality of compo
`nents (e.g., modules, libraries, Sub-Systems, etc.) that facili
`tate communication between the client computer, Server
`computer, and at least one other client computer having
`Special purpose Software installed thereon and operable in
`connection with a processor thereof. The components pro
`Vided on the client computer depends on the level of
`multi-player functionality required for a particular multi
`player game.
`0009. The client computer may comprise any computing
`device having a processor in connection with which special
`purpose Software in accordance with the present invention
`may be operated. Such computing devices include, by way
`of non-limiting example, a personal computer (desktop,
`laptop), hand-held computing devices (e.g., personal digital
`assistants (PDAs) such as Palm(R), BlackBerry.(R), computer
`game consoles (e.g., Sony PlayStation(R) and PlayStation 2,
`Sega Dreamcast(R), cellular devices, and any other now
`known of hereafter developed computing device Suitable for
`multi-player game play.
`0010. The present invention is also directed to a multi
`player game System for facilitating multi-player computer
`game play over a network Such as the Internet, for example.
`In accordance with this embodiment of the present inven
`tion, a Server or a plurality of Servers connectable to each
`other and to a network each include Special purpose Software
`operable in connection with a respective processor thereof
`for facilitating multi-player game play over that network
`among a plurality of client computers. A Single Server, a
`plurality of Servers in a single location, or a plurality of
`geographically displaced Servers may be provided, in accor
`dance with various embodiments of the present invention.
`The server(s) provide various functionality to the client
`computers to facilitate multi-player game play. For example,
`the server(s) may maintain client (i.e., player) registration
`information, a logical map of the names and locations of all
`Servers in the multi-player game System, resources which
`may be provided or made available to playerS during game
`play (but which may not be provided on the client computers
`for Security or efficiency reasons), and various other func
`tionality and information, as described in more detail below.
`0011. The server architecture of the inventive system
`provides flexibility, robustness, and performance enhance
`ment, among other features and advantages. Typically, a
`Server provides a category of functionality. In essence,
`server A provides functionality A. Within a networked
`
`Zynga Ex. 1004, p. 19
`Zynga v. IGT
`IPR2022-00368
`
`
`
`US 2001/004.4339 A1
`
`Nov. 22, 2001
`
`environment, Such as provided in accordance with the
`present invention, there exists a set of Servers providing
`different functions, Sometimes redundant (i.e., providing
`backup), Sometimes completely separate and different.
`When servers of the same type (i.e., functionality) work
`together, they may provide a primary function, Scalability,
`load balancing, quicker response and thus game perfor
`mance, reliability, consistency, and may be capable of work
`ing together. Servers providing different functionality, on the
`other hand, may or may not collaborate to provide enhanced
`functionality.
`0012. The coordinated server configuration of the multi
`player game System of the present invention advantageously
`provides a plurality of ServerS Specifically designed and
`intended to cooperate with each other. That enhances the
`overall functionality of the inventive system. The servers
`provided in accordance with the present invention are
`complementary in Services and can leverage Some or all of
`each other's functionality. One of the key benefits of the
`present invention is provided in the Server interoperability.
`Different applications can be developed to inter-operate with
`Specific other applications. This is typically done by having
`engineerS develop custom Solutions for the applications to
`work together. However, a more advanced System like that
`of the present invention will provide a Set of infrastructure
`tools, that allows various applications to work with various
`other applications without custom Solutions (e.g., in a man
`ner analogous to the “cut & paste’ functionality provided by
`certain word processing programs yet uSable for other
`applications outside of the word processing program).
`Server interoperability and functionality “sharing in accor
`dance with embodiments of the present invention may
`provide, by way of non-limiting example, Service finding
`tools, common user registration, common authentication/
`Security, common administration, open database, common
`protocols, common data formats, and the ability to operate
`with other systems.
`0013 The present invention is also directed to a method
`of Software development that facilitates rapid development
`(i.e., Software development) of new multi-player computer
`games by eliminating the need for a Software engineer to
`write Specific application code for each hardware platform,
`communication protocol, or operating System (OS). In
`accordance with this embodiment of the present invention,
`the Software developer need only write Software code Spe
`cific for the multi-player game application, without concern
`for the hardware platform or OS upon which the game may
`be played, or which communication protocol will be uti
`lized. In accordance with the present invention, a croSS
`platform core provides an interface between the Specific
`application code and the operating System, hardware
`devices, and communication protocols of a computing
`device (which are generally different from one computing
`device to the next). The software developer thus need only
`code to the cross-platform core, which is always the same
`regardless of the hardware platform or operating System.
`The cross-platform core handles all communication between
`the application code and the client computing device,
`including communication between the client computing
`device and the Server(s).
`0.014. Other aspects, features, and functionality of the
`present invention will become apparent from the following
`detailed description, considered in conjunction with the
`
`accompanying drawing figures. It is to be understood, how
`ever, that the drawings, which are not to Scale, are designed
`Solely for the purpose of illustration and not as a definition
`of the limits of the invention, for which reference should be
`made to the appended claims.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0015. In the drawing figures, which are not to scale, and
`which are merely illustrative, and wherein like reference
`characters denote similar elements throughout the Several
`views:
`0016 FIGS. 1A-1G are schematic diagrams of various
`configurations of a multi-player computer game System
`constructed in accordance with embodiments of the present
`invention;
`0017 FIG. 2 is a schematic diagram of a plurality of
`Servers arranged as a Server cluster and provided as part of
`the multi-player computer game system of FIG. 1A;
`0018 FIG.3 depicts various components provided by the
`Special purpose Software operable in connection with a
`processor of the client computing device in accordance with
`an embodiment of the present invention;
`0019 FIGS. 4A and 4 B depict the architecture of an
`application program, cross-platform core, and client com
`puter hardware and operating System in accordance with
`embodiments of the present invention;
`0020 FIG. 5 depicts a protocol stack for the service layer
`of the cross-platform core depicted in FIG. 4A;
`0021
`FIG. 6 depicts data flow for pass-through mode
`operation of the communication engine of the cross-platform
`core of the present invention;
`0022 FIG. 7 depicts data flow for synchronous mode
`operation of the communication engine of the cross-platform
`core of the present invention; and
`0023 FIGS. 8A-8C depict various embodiments of a
`matchmaker Server in accordance with the present invention.
`
`DETAILED DESCRIPTION OF THE
`PRESENTLY PREFERRED EMBODIMENTS
`0024. The present invention is directed to multi-player
`computer game, System and development method that facili
`tate multi-player game play between and among various
`hardware platforms employing various operating Systems
`and communication protocols. The terms “client”, “user',
`and "player are used interchangeably herein to denote a
`player of a multi-player computer game.
`0025 AS used herein, the term “multi-player game'
`includes, by way of illustrative example and not limitation,
`a Sports Simulation game Such as basketball, baseball, foot
`ball, hockey, motor-croSS, wrestling, car racing, skiing, and
`Virtually any competition between at least two players, a fast
`twitch type game Such as, for example, first-person shooter
`games, a turn-based game Such as chess, card games,
`checkers, etc. in which two players take turns playing the
`game, a massively multi-player game in which hundreds or
`thousands of playerS Simultaneously play the game.
`0026. The present invention provides special purpose
`Software operable in connection with a processor of a client
`
`Zynga Ex. 1004, p. 20
`Zynga v. IGT
`IPR2022-00368
`
`
`
`US 2001/004.4339 A1
`
`Nov. 22, 2001
`
`computing device to provide a multi-player computer game.
`The Special purpose Software provides an interface between
`an application module, which provides the functionality for
`a specific multi-player computer game, and the operating
`System and hardware devices and protocols of the client
`computing device. For example, the application module may
`provide functionality for a racer-type game, a Sport-type
`game, etc. That application module communicates (i.e.,
`bi-directional data exchange) with a cross-platform core that
`handles all communications between the application module
`and the computing device hardware, operating System, and
`protocol requirements. Thus, in accordance with the present
`invention, different application modules may be written to
`provide different multi-player game functionality, each of
`the different application modules being used in connection
`with the same cross-platform core to provide the various
`multi-player computer games.
`0027. The present invention also provides a system that
`facilitates multi-player game play between and among a
`plurality of playerS regardless of the different hardware
`platforms (i.e., different client computing devices) used by
`the various players. Each client computing device may be
`running the same multi-player application module (or code),
`and each client computing devices includes the cross-plat
`form core. Each client computing device also communicates
`with a Server having Special purpose Software to facilitate
`multi-player game play between and among the various
`players. The Server provides various functionality that may
`enhance and/or Supplement the functionality provided on the
`client computing device, and generally manages and facili
`tates multi-player game play over a network (e.g., the
`Internet, an intranet (LAN, WAN), or other network), such
`as modem-to-modem or direct link.
`0028. In accordance with the various embodiments of the
`present invention, multi-player game play between and
`among a plurality of playerS is now possible regardless of
`the hardware platform, communication protocol, and oper
`ating System of each of the player's computing devices. It is
`thus possible, in accordance with the present invention, for
`playerS having different hardware and Software configura
`tions on their respective computing devices and communi
`cating using Various communication protocols to engage
`each other in multi-player game play.
`0029 New application modules may be developed in
`accordance with the present invention using the croSS
`platform core and other foundation technologies of the
`present invention (e.g., communications engine, client/
`Server architecture) to simplify and Speed Software devel
`opment. Coding to a specific operating System or hardware
`device or protocol is no longer required. Thus, Software
`development intervals are significantly reduced. In addition,
`the reusable cross-platform core does not require integration
`testing for each new application module, because the croSS
`platform core has previously been tested and integrated with
`a plurality of hardware platforms, operating Systems and
`hardware devices and protocols.
`0030 The terms “computers”, “computing devices”, and
`“computing hardware” (and variations thereof) are used
`interchangeably herein and are intended to be broadly con
`strued. Those terms are not intended to define or otherwise
`limit the Scope or content of the present invention. A
`computer (either client or server) may include Some or all of
`
`the following components: a processor (e.g., central pro
`cessing unit (CPU)); memory (e.g., RAM, ROM); a hard
`drive unit (HDU); communications interface (e.g., modem,
`ROM BIOS); data input device (e.g., keyboard, mouse, etc.);
`and a display. The computer may also include additional
`known hardware components and devices (e.g., joystick);
`the configuration of the Server and client computers not
`being a limitation of the present invention. They also
`includes general purpose Software that provides for overall
`operation of the client or Server computer, and may include
`the operating System, commercially available Software (e.g.,
`database), communications Software, etc. A computer may
`be, by way of illustration only, a personal computer (desk
`top, laptop), hand-held computing devices (e.g., personal
`digital assistants (PDAs) such as Palm(R), BlackBerry.(R),
`computer game consoles (e.g., Sony PlayStation(F) and Play
`Station 2, Sega Dreamcast(R), cellular devices, and any other
`now known of hereafter developed computing device Suit
`able for multi-player game play.
`0031. The special purpose software provides the func
`tionality of the present invention, may comprise one or more
`web-native modules, library files, etc., may reside on a client
`and/or Server computer, and may utilize the general purpose
`Software. It will be obvious to persons skilled in the art and
`from the disclosure provided herein that the programming
`language (C, C++, Java, etc.) used to create (i.e., code) the
`Special purpose Software is a routine matter of design choice.
`Thus, the present invention is not limited to a particular
`embodiment of the Special purpose Software as defined by
`the programming language used to code that Software.
`0032 Referring next to the drawings and specifically to
`FIGS. 1A-1G, a System for multi-player computer game
`play in accordance with embodiments of the present inven
`tion is there depicted and designated generally by reference
`numeral 100. The inventive system 100 may utilize a
`client/server architecture that requires client computers 200
`to connect through a server 120 with other client computers
`200 and prevents direct client-to-client (i.e., player-to
`player) connection (See, e.g., FIGS. 1 A-1E). Such a con
`figuration reduces the bandwidth requirements of each
`player, facilitates intervention by the Server in decision
`making between players, and provides increased Security by
`“overseeing all aspects of game play and by restricting
`client access to certain data provided on the Server 120. A
`preferred embodiment of the client/server architecture of the
`present invention provides a central data center 20 having at
`least one server 120 provided therein.
`0033 Alternatively, the system 100 may utilize a peer
`to-peer architecture (i.e., client-to-client) in which all play
`ers (i.e., clients) may communicate directly with each other,
`such as depicted in FIG. 1F. In such an architecture, there
`is no central data center 20 or server 120, and client
`computers 200 may connect and communicate directly with
`each other. Multi-player game functionality is provided by
`each client computer 200, as described in more detail below.
`0034) Still alternatively, the system 100 may utilize a
`hybrid between the client/server and peer-to-peer architec
`tures, as depicted in FIG. 1G. Communication between and
`among client computers 200 may be any combination of the
`peer-to-peer model, where clients communicate directly
`with each other, and the client/server model, where clients
`communicate with each other only through a Server. A Server
`
`Zynga Ex. 1004, p. 21
`Zynga v. IGT
`IPR2022-00368
`
`
`
`US 2001/004.4339 A1
`
`Nov. 22, 2001
`
`referee 120 may monitor game-play for cheating and take
`appropriate action (e.g., drop a cheater's connection to the
`server 120).
`0035). With continued reference to FIG. 1A, and with
`additional reference to FIG. 2, an embodiment of the
`inventive system 100 includes a primary data center 20
`having at least two Substantially identical Server computers
`120, each comprised of a plurality of computers, including,
`by way of non-limiting example, a web server 122, a match
`maker server 124, a resource server 126, a user (client)
`identification server 128, a chat server 180, a tournament
`server 182, a ranking server 184, an ideal service finder 130,
`a domain name Server 132, and a game Server 134. Alter
`natively, the functionality provided by those servers (as
`described in more detail below) may be provided on a single
`server 120 (or a primary and backup server 120), or grouped
`as appropriate So as to provide fewer Servers. The Server
`computerS 120 are protected against unauthorized access,
`exposure to unauthorized data, etc., by a firewall 110 located
`between each server 120 and the network 10 and Software
`Such as Security algorithms on Servers and in operating
`Systems, and may thus also be referred to herein as “pro
`tected” servers. Protected servers 120 are not directly acces
`Sible or connectable to a public network Such as the Internet,
`for example. Those servers 120 typically have sensitive
`information (e.g., client identification and account data)
`stored in a database 144, 146 of a data storage device 140,
`142.
`0.036 The primary data center 20 may also include public
`server computers 1120 as part of the inventive multi-player
`game system 100. Those server computers 1120 connected
`directly to the network 10 and are accessible by a client
`computer 200. The public server computers 1120 may have
`additional Security, as a matter of design choice, provided by
`appliances, firewalls, operating System, Server applications,
`routers, or other known or hereafter developed applications
`or devices. For example, a Web Server 122 and resource
`server 126 may comprise public server computers 1120.
`0037. The protected servers 120 are connected to a back
`end network 150 that is self-contained within the primary
`data center 20 (e.g., a local area network (LAN)). The
`backend network 150 may comprise virtually any wired
`(e.g., twisted-pair, coaxial, fiber, etc.) or wireless (e.g.,
`infrared, radio-frequency, etc.) network local to and con
`tained within the building(s) that comprise the primary data
`center 20 (it being obvious to persons skilled in the art and
`from the disclosure provided herein that the primary data
`center 20 may comprise one or more buildings). Data
`Storage devices 140, 142 are connected to the protected
`servers 120, each having a database 144, 146 provided
`thereon. In a preferred embodiment, data Storage device 142
`and the database 146 provided thereon provide mirror
`images of data Storage device 140 and database 144, respec
`tively. A further description of the data storage devices 140,
`142 and databases 144, 146 are provided below. One or more
`backup server computers 2120) may be provided at a
`backup data center 30 which is connected via a private
`virtual connection (PVC) 40 and a firewall 110 to the
`backend network 150 of the primary data center 20.
`0.038 Connection between the primary data center 20 and
`the network 10 may be via a primary connection 60 and a
`Secondary connection 62 provided by an Internet Service
`
`Provider (ISP). Both the primary and secondary connections
`60, 62 may be wired or wireless, as a routine matter of
`design choice.
`0039. With continued reference to FIG. 1A, additional
`server computers may be connected to the network 10 and
`may provide certain functionality of multi-player game play
`in accordance with the present invention. For example, a
`public server 1320 may be located remote from the primary
`data center 20, but geographically closer to a client (e.g.,
`client A). During game play, it may be more efficient to
`provide certain functionality to client A from the public
`server 1320 than from the primary data center 20. The
`present invention enables and facilitates that Situation. In
`addition, a rogue Server 1220 may be connected to the
`network 10 and may similarly provide certain functionality
`to the client computers 200 during game play.
`0040. Each client computer 200 in the inventive system
`100 has installed thereon special purpose software operable
`in connection with a processor of that computer. The Special
`purpose Software facilitates multi-player game play between
`and among client computers 200 regardless of the hardware
`platform, operating System, and hardware and communica
`tion protocol of each client computer 200. Depending upon
`the network configuration (se, e.g., FIGS. 1A-1G), commu
`nication between a client computer 200 and a server 120, or
`directly between client computers 200, will be facilitated by
`the special purpose software on the client computer 200.
`Special purpose software installed on the server 120 and
`operable in connection with a processor thereof also facili
`tates and coordinates multi-player game play between and
`among client computers 200. The functionality provided by
`each of the server 120 and client computers 200 depends
`upon the network configuration. For example, and as
`depicted in FIG. 1D, the server 120 may merely pass
`through all client data, with all of the functionality being
`provided on each client computer 200. Alternatively, and as
`depicted in FIG. 1E, the functionality may be apportioned
`between and among the server and client computers (20/80
`in that embodiment). Moreover, all of the functionality is
`provided on each client computer 200 for the configuration
`of FIG 1F.