throbber
(19) United States
`(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.

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket