throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2014/0024.462 A1
`Qiang et al.
`(43) Pub. Date:
`Jan. 23, 2014
`
`US 2014.0024.462A1
`
`(54)
`
`(71)
`(72)
`
`(73)
`(21)
`(22)
`
`(60)
`
`REWARDING PARTICIPATING PLAYERS ON
`A COLLABORATIVE GAME TASKN AN
`ONLINE GAME
`
`Applicant: Zynga Inc., San Francisco, CA (US)
`Inventors: Yi Qiang, San Francisco, CA (US);
`Tatung Mei, San Francisco, CA (US);
`John Osvald, San Francisco, CA (US);
`David Richey, San Francisco, CA (US);
`Cesario Julation, San Francisco, CA
`(US); Kyle Sampson, San Francisco, CA
`(US)
`Assignee: Zynga Inc., San Francisco, CA (US)
`Appl. No.: 13/948,116
`Filed:
`Jul. 22, 2013
`Related U.S. Application Data
`Provisional application No. 61/674,756, filed on Jul.
`23, 2012, provisional application No. 61/674,808,
`filed on Jul 23, 2012.
`
`Publication Classification
`
`(51) Int. Cl.
`A63F 3/2
`(52) U.S. Cl.
`CPC ...................................... A63F 13/12 (2013.01)
`USPC ............................................................ 463/42
`
`(2006.01)
`
`(57)
`
`ABSTRACT
`
`Software at a MMO game website creates a team to perform
`a collaborative game task in the MMO game. Each player on
`the team is assigned from a queue of players who share one or
`more attributes. The collaborative game task is composed of
`a plurality of individual game tasks. Each player on a team is
`assigned an individual game task by the Software. The Soft
`ware provides a game reward to a player after the player has
`satisfactorily completed less than all of the individual game
`task assigned to the player. The Software determines that a
`team has satisfactorily completed the collaborative game
`task, according to game mechanics associated with the col
`laborative game task. Then the Software provides a game
`reward to each player on the team.
`
`E
`
`E
`
`
`
`
`
`
`
`
`
`SERVERS ON
`MMO GAVE
`WEBSE
`
`MEMORY
`CACE
`
`
`
`GAyEDAA
`AN OCC
`
`05
`
`SERVERSON
`SOCA
`NETWORKING
`WEBSITE
`
`PROFLE AND/OR
`CONTEN
`SREAMDAA
`
`
`
`Supercell
`Exhibit 1011
`Page 1
`
`

`

`Patent Application Publication
`
`Jan. 23, 2014 Sheet 1 of 14
`
`US 2014/0024.462 A1
`
`
`
`
`
`90]
`
`
`
`
`
`
`
`Supercell
`Exhibit 1011
`Page 2
`
`

`

`Patent Application Publication
`
`Jan. 23, 2014 Sheet 2 of 14
`
`US 2014/0024462 Al
`
`
`
`
`
`YO)ONDIYOMLANTVIDOS
`
`Oe
`
`(42TD0GDYOWOOIIIVA
`
`
`
`NOONINNG|AYdd¥VYOYasMON
`
`
`
`
`
`
`
`ANOHELYVAS“8'2)AOIARCATISOW
`
`
`
`QUELNdINODLATAVLUO
`
`V7MNSIY
`
`
`
`
`
`
`
`“3°3)ZLISAIM(VIGAINTVIDOS
`
`
`
`
`
`
`
`
`
`
`
`
`
`SUAONVIVEGVOT
`
`I
`
`“d'a)UAUASHAMOILS14
`
`
`
`
`
`
`
`AVUUVCUFAUASdLLHJHOVIV
`
`Ay
`™
`
`\o
`NN
`
`AHOVDAYO
`
`(qadHOVOWAW)
`
`ONAS
`
`gagnd
`
`
`
`<ONIDdWAVI
`
`
`
`“QHOVOWI“AHOVdY
`
`
`
`(dHd“TOS4W
`
`
`
`(TOSAPDASVEV.LVG
`
`ced
`>Ol
`
`ny
`On
`
`Supercell
`Exhibit 1011
`Page 3
`
`Supercell
`Exhibit 1011
`Page 3
`
`
`
`
`
`

`

`Patent Application Publication
`
`Jan. 23, 2014 Sheet 3 of 14
`
`US 2014/0024.462 A1
`
`
`“ãº) HILISHRAA (VIGHW TVIOOS
`
`
`
`
`
`
`RIO) DNI?TIOAALTIN TVIOOS
`
`(+?TOOO!) HO XOORGOVH
`
`ra
`
`e
`
`
`
`
`
`S}{{ONVTH V8 OBVOT!
`
`(@SVRHOQOO/RSVÆÐINGHIN)
`
`Supercell
`Exhibit 1011
`Page 4
`
`

`

`Patent Application Publication
`
`Jan. 23, 2014 Sheet 4 of 14
`
`US 2014/0024.462 A1
`
`
`
`CREATE TEAM (e.g., VIRTUAL COOKING TEAM) TO PERFORM
`COLLABORATIVE GAME TASK (e.g., VIRTUAL MEAL) IN
`MMO GAME (e.g., VIRTUAL COOKENG GAME), WHERE EACH
`COLLABORATIVE GAME TASK IS COMPOSED OF SET OF
`INDIVIDUAL GAME TASKS (e.g., DISHES)
`
`ASSIGN INDIVIDUAL GAME TASK (e.g.,
`DISH) TO EACH PLAYER ON TEAM
`
`REMOVE EXISTING PLAYER FROM TEAM, IF
`EXISTING PLAYER IS NOT PARTICIPATING
`
`ASSIGN NEW PLAYER TO TEAM
`
`DETERMENE THAT THEAM HAS SATSFACTORY
`COMPLETED COLLABORATIVE GAME TASK (e.g.,
`VIRTUAL MEAL), ACCORDING TO GAME MECHANICS
`ASSOCATED WITH COLLABORATIVE GAME TASK
`
`PROVIDE GAME REWARD (e.g., VIRTUAL CURRENCY,
`OTHER VIRTUAL RESOURCES, EXPERIENCE POINTS,
`OTHER MEASURE OF PELAYER LEVE OR GAME
`STATUS, etc.) TO EACH PLAYER ON TEAM
`
`Figure 3
`
`30
`
`302
`
`303
`
`305
`
`306
`
`Supercell
`Exhibit 1011
`Page 5
`
`

`

`Patent Application Publication
`
`Jan. 23, 2014 Sheet 5 of 14
`
`US 2014/0024.462 A1
`
`40
`
`402
`
`403
`
`404
`
`
`
`DETERMINE THAT PLAYER HAS BEEN
`NACTIVE FOR SPECIFIED PERIOD OF
`TIME (e.g., 11 DAYS)
`
`REMOVE PLAYER FROM TEAM (PLAYER
`CAN REQUEST TO BE ADDED TO
`PLAYER QUEUE FOR NEW TEAM UPON
`NEXT LOGIN)
`
`ASSIGN TEAM TO QUEUE FOR TEAMS
`WITH REMOVED PLAYER AND SIMLAR
`ATTRIBUTES AS DETERMINED BY
`ATTRIBUTES (e.g., AVERAGE PLAYER
`LEVEL) OF PLAYERS WHO REMAIN ON
`TEAM
`
`DISBAND TEAM AND REMOVE TEAM FROM
`TEAM QUEUE, IF NEW PLAYER CANNOT BE
`ADDED TO TEAM FROM PLAYER QUEUE
`WITHIN SPECIFIED PERIOD OF TIME (e.g., 2
`DAYS)
`
`Figure 4
`
`Supercell
`Exhibit 1011
`Page 6
`
`

`

`Patent Application Publication
`
`Jan. 23, 2014 Sheet 6 of 14
`
`US 2014/0024.462 A1
`
`CREATE TEAM (e.g., VIRTUAL COOKING TEAM) TO PERFORM
`COLLABORATIVE GAME TASK (e.g., VIRTUAL MEAL) IN MMO
`GAME (e.g., VIRTUAL COOKING GAME), WHERE EACH
`COLLABORATIVE GAME TASK IS COMPOSED OF SET OF
`INEDIVIDUAL GAME TASKS (e.g., DISHES)
`
`50
`
`
`
`
`
`
`
`
`
`
`
`
`
`ASSIGN INDIVIDUAL GAME TASK (e.g.,
`DISH) TO EACH PLAYER ON TEAM
`
`PROVIDE GAME REWARD (e.g., VIRTUAL CURRENCY,
`OTHER VIRTUAL RESOURCES, EXPERIENCE POINTS,
`OTHER MEASURE OF PLAYER LEVEL OR GAME STATUS,
`etc.)TO PLAYER AFTER PLAYER HAS SATISFACTORILY
`COMPLETED ESS THAN AL OF ENDIVIDUAE GAME
`TASK (e.g., DISH) ASSIGNED TO PLAYER
`
`DETERMINE THAT TEAM HAS SATSFACTORILY
`COMPLETED COLLABORATIVE GAME TASK (e.g., VIRTUAL
`MEAL), ACCORDING TO GAME MECHANICS ASSOCIATED
`WITH COLLABORATIVE GAME TASK
`
`PROVIDE GAME REWARD (e.g., VIRTUAL CURRENCY,
`OTHER VIRTUAL RESOURCES, EXPERIENCE POINTS,
`OTHER MEASURE OF PAYER LEVEL OR GAME
`STATUS, etc.) TO EACH PLAYER ON TEAM
`
`Figure 5
`
`S03
`
`504
`
`505
`r
`
`Supercell
`Exhibit 1011
`Page 7
`
`

`

`Patent Application Publication
`
`Jan. 23, 2014 Sheet 7 of 14
`
`US 2014/0024.462 A1
`
`
`
`| 09
`
`Supercell
`Exhibit 1011
`Page 8
`
`

`

`Patent Application Publication
`
`Jan. 23, 2014 Sheet 8 of 14
`
`US 2014/0024.462 A1
`
`N
`s
`s
`ep
`t
`
`
`
`OO
`c)
`CO
`i.
`
`s
`
`s
`
`Supercell
`Exhibit 1011
`Page 9
`
`

`

`Patent Application Publication
`
`Jan. 23, 2014 Sheet 9 of 14
`
`US 2014/0024.462 A1
`
`
`
`S
`
`er
`o
`CN
`
`i.
`
`s
`
`Supercell
`Exhibit 1011
`Page 10
`
`

`

`Patent Application Publication
`
`Jan. 23, 2014 Sheet 10 of 14
`
`US 2014/0024.462 A1
`
`
`
`on
`god
`gold
`m
`
`Supercell
`Exhibit 1011
`Page 11
`
`

`

`Patent Application Publication
`
`Jan. 23, 2014 Sheet 11 of 14
`
`US 2014/0024.462 A1
`
`
`
`| || 9.Inã14
`
`Supercell
`Exhibit 1011
`Page 12
`
`

`

`Patent Application Publication
`
`Jan. 23, 2014 Sheet 12 of 14
`
`US 2014/0024.462 A1
`
`
`
`CN
`go
`en
`weased
`
`s
`
`Supercell
`Exhibit 1011
`Page 13
`
`

`

`Patent Application Publication
`
`Jan. 23, 2014 Sheet 13 of 14
`
`US 2014/0024.462 A1
`
`
`
`a
`
`Supercell
`Exhibit 1011
`Page 14
`
`

`

`Patent Application Publication
`
`Jan. 23, 2014 Sheet 14 of 14
`
`US 2014/0024.462 A1
`
`
`
`Supercell
`Exhibit 1011
`Page 15
`
`

`

`US 2014/0024.462 A1
`
`Jan. 23, 2014
`
`REWARDING PARTICIPATING PLAYERS ON
`A COLLABORATIVE GAME TASKN AN
`ONLINE GAME
`
`RELATED APPLICATIONS
`0001. This application claims priority to Provisional
`Application Ser. No. 61/674,756, entitled “Rewarding Par
`ticipating Players on a Collaborative GameTask in an Online
`Game”, filed on Jul. 23, 2012, and Provisional Application
`Ser. No. 61/674,808, entitled “Replacing Players in a Col
`laborative Game Task in an Online Game”, also filed on Jul.
`23, 2012. This application is related to application Ser. No.
`Attorney Docket No. ZYNP026, entitled “Replacing
`Players in a Collaborative Game Task in an Online Game”,
`which was contemporaneously filed. The disclosures of all of
`the above applications are incorporated herein by reference.
`
`BACKGROUND
`0002 Collaborative game tasks are sometimes used in
`boardgames to increase player engagement, as such tasks are
`inherently social. Of course, such tasks bear more than some
`resemblance to real-world collaborative tasks, which tend to
`be managed through project-management processes includ
`ing monitoring and controlling task activities.
`0003 Online games, including massively multiplayer
`online (MMO) games, tend to have a large number of players
`who can be described as “casual' (as opposed to “hardcore').
`Such players are willing to devote only a small amount of
`their time and resources to game play and would be put off by
`any collaborative game task that resembled a real-world
`project.
`0004 Consequently, creating collaborative game tasks for
`casual online gamers continues to be an ongoing area of
`research and experimentation for the designers of online
`gameS.
`
`SUMMARY
`0005. In an example embodiment, a processor-executed
`method is described for engaging players in a massively mul
`tiplayer online (MMO) game. According to the method, soft
`ware at a website hosting an MMO game creates a team (or
`group) to perform a collaborative game task in the MMO
`game. Each player on the team is assigned from a queue of
`players who share one or more attributes. The collaborative
`game task is composed of a plurality of individual game tasks.
`Each player on a team is assigned an individual game task by
`the software. The software provides a game reward to a player
`after the player has satisfactorily completed less than all of the
`individual game task assigned to the player. The Software
`determines that the team has satisfactorily completed the
`collaborative game task, according to the game mechanics
`associated with the collaborative game task. Then the soft
`ware provides a game reward to each player on the team.
`0006. In another example embodiment, an apparatus is
`described, namely, computer-readable storage media that
`persistently store a program for engaging players in an MMO
`game. The program might be part of the Software at a website
`hosting the MMO game. The program creates a team (or
`group) to perform a collaborative game task in the MMO
`game. Each player on the team is assigned from a queue of
`players who share one or more attributes. The collaborative
`game task is composed of a plurality of individual game tasks.
`Each player on the team is assigned an individual game task
`
`by the program. The program provides a game reward to a
`player after the player has satisfactorily completed less than
`all of the individual game task assigned to the player. The
`program determines that a team has satisfactorily completed
`the collaborative game task, according to the game mechanics
`associated with the collaborative game task. Then the pro
`gram provides a game reward to each player on the team.
`0007 Another example embodiment also involves an
`apparatus for engaging players in an MMO game, e.g., a
`server at a website hosting an MMO game. The apparatus
`includes one or more processors and memory storing proces
`sor-executable instructions. The instructions might be part of
`the software at a website hosting the MMO game. The
`instructions create a team (or group) to perform a collabora
`tive game task in the MMO game. Each player on the team is
`assigned from a queue of players who share one or more
`attributes. The collaborative game task is composed of a
`plurality of individual game tasks. Each player on the team is
`assigned an individual game task by the program. The instruc
`tions provide a game reward to a player after the player has
`satisfactorily completed less than all of the individual game
`task assigned to the player. The instructions determine that a
`team has satisfactorily completed the collaborative game
`task, according to the game mechanics associated with the
`collaborative game task. Then the instructions provide a game
`reward to each player on the team.
`0008. Other aspects and advantages of the inventions will
`become apparent from the following detailed description,
`taken in conjunction with the accompanying drawings, which
`illustrate by way of example the principles of the inventions.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0009 FIG. 1 is a simplified diagram that illustrates a net
`work for an MMO game, in accordance with an example
`embodiment.
`0010 FIG. 2A is a functional software modularization, in
`accordance with an example embodiment.
`0011
`FIG. 2B is an alternative functional software modu
`larization, in accordance with an example embodiment.
`0012 FIG. 3 is a flowchart diagram that illustrates a pro
`cess for replacing a player on team performing a collaborative
`game task in an MMO game, in accordance with an example
`embodiment.
`0013 FIG. 4 is a flowchart diagram that illustrates a pro
`cess for obtaining a new player on a team performing a
`collaborative game taskin an MMO game, in accordance with
`an example embodiment.
`0014 FIG. 5 is a flowchart diagram that illustrates a pro
`cess for providing game rewards to encourage participation
`on a team performing a collaborative game task in an MMO
`game, in accordance with an example embodiment.
`0015 FIG. 6 is a dialog view in a graphical user interface
`(GUI) that allows a player to join a team performing a col
`laborative game taskin an MMO game, in accordance with an
`example embodiment.
`(0016 FIGS. 7 and 8 are dialog views in a GUI that notify
`a player about the status of the formation of the player's team
`in an MMO game, in accordance with an example embodi
`ment.
`0017 FIGS. 9-11 are dashboard views in a GUI for a team
`performing a collaborative game task in an MMO game, in
`accordance with an example embodiment.
`
`Supercell
`Exhibit 1011
`Page 16
`
`

`

`US 2014/0024.462 A1
`
`Jan. 23, 2014
`
`0018 FIG. 12 is a dialog view in a GUI that allows a player
`to quit a team performing a collaborative game task in an
`MMO game, in accordance with an example embodiment.
`0019 FIG. 13A is a simplified diagram that illustrates a
`sequence of transmissions associated with an individual
`game task (e.g., preparing a virtual dish in a virtual meal) in an
`MMO game accessed from a social networking website, in
`accordance with an example embodiment.
`0020 FIG. 13B is a simplified diagram that illustrates a
`sequence of transmissions associated with an individual
`game task (e.g., preparing a virtual dish in a virtual meal) in an
`MMO game accessed from an MMO game website, in accor
`dance with an example embodiment.
`
`DETAILED DESCRIPTION
`0021. In the following description, numerous specific
`details are set forth in order to provide a thorough understand
`ing of the exemplary embodiments. However, it will be appar
`ent to one skilled in the art that the example embodiments
`may be practiced without some of these specific details. In
`other instances, process operations and implementation
`details have not been described in detail, if already well
`known.
`0022 FIG. 1 is a simplified diagram that illustrates a net
`work for an MMO game, in accordance with an example
`embodiment. As depicted in this figure, a personal computing
`device 102 is connected by a network 101 (e.g., a wide area
`network (WAN) including the Internet, which might be wire
`less in part or in whole) with a website 103 hosting a mas
`sively multiplayer online (MMO) game (e.g., a website such
`as Zynga hosting FarmVille or Blizzard Entertainment host
`ing World of Warcraft) and a website 106 hosting a social
`network (e.g., a Social networking website such as Facebook).
`As used here and elsewhere in this disclosure, the term "social
`networking website' is to be broadly interpreted to include,
`for example, any website that allows its users to selectively
`access (e.g., according to a contact list, buddy list, social
`graph, or other access control list (ACL)) content in each
`other's profiles and/or streams or selectively communicate
`(e.g., according to a contact list, buddy list, social graph, or
`other ACL) with each other (e.g., using a messaging protocol
`Such as email, instant messaging, short message service
`(SMS), etc.).
`0023 The personal computing device 102 might be (a) a
`laptop or other personal computer or (b) a mobile device Such
`as a Smartphone, (e.g., an iPhone, Blackberry, Android, etc.),
`a tablet computer (e.g., an iPad), etc. In an example embodi
`ment, each of the websites 103 and 106 might be composed of
`a number of servers connected by a network (e.g., a local area
`network (LAN) or a WAN) to each other in a cluster or other
`distributed system which might execute cloud platform soft
`ware. The servers in website 103 and 106 might also be
`connected (e.g., by a storage area network (SAN)) to persis
`tent storages 105 and 107, respectively. In an example
`embodiment, persistent storages 105 and 107 might include a
`redundant array of independent disks (RAID).
`0024 Persistent storage 105 might be used to store algo
`rithms and data related to an MMO game and its players,
`including data about the players received by website 103 from
`website 106 (e.g., through an application programming inter
`face (API) exposed by website 106). In an example embodi
`ment, some of the data from persistent storage 105 might be
`cached in memory cache 104 in volatile memory on servers
`on website 103 (e.g., using (a) an in-memory database or
`
`main memory database system (MMDB) or (b) a hybrid
`in-memory database that also uses persistent storage) in order
`to improve performance. Persistent storage 107 might be used
`to store data (including content) associated with a profile
`and/or stream for members of a social network (or Social
`graph), e.g., users who are associated with each other through
`access-control lists (ACLS).
`0025. As indicated above, personal computing device 102
`might be a laptop or other personal computer. In that event,
`personal computing device 102 and the servers in website 103
`and 106 might include (1) hardware consisting of one or more
`microprocessors (e.g., from the x86 family or the PowerPC
`family), Volatile storage (e.g., RAM), and persistent storage
`(e.g., a hard disk or Solid-state drive), and (2) an operating
`system (e.g., Windows, Mac OS, Linux, Windows Server,
`Mac OS Server, etc.) that runs directly or indirectly (e.g.,
`through virtualization software) on the hardware. Or the oper
`ating system for the servers might be replaced by a hypervisor
`or other virtualization software. Alternatively, personal com
`puting device 102 might be a Smartphone, tablet computer, or
`other mobile device that includes (1) hardware consisting of
`one or more low-power microprocessors (e.g., from the ARM
`family), Volatile storage (e.g., RAM), and persistent storage
`(e.g., flash memory such as microSD) and (2) an operating
`system (e.g., Symbian OS, RIM BlackBerry OS, iPhone OS,
`Palm webOS, Windows Mobile, Android, Linux, etc.) that
`runs on the hardware.
`0026. Also in an example embodiment, personal comput
`ing device 102 might include a web browser as an application
`program or part of an operating system. Examples of web
`browsers that might execute on personal computing device
`102 if it is a laptop or other personal computer include Inter
`net Explorer, Mozilla Firefox, Safari, and Google Chrome.
`Examples of browsers that might execute on personal com
`puting device 102 if it is a Smartphone, tablet computer, or
`other mobile device include Safari, Mozilla Firefox, Android
`Browser, and Palm webOS Browser. It will be appreciated
`that users of personal computing device 102 might use brows
`ers to communicate with Software running on the servers at
`website 103 and at website 106. Alternatively, users of per
`Sonal computing device 102 might use other application pro
`grams to communicate with Software running on the servers
`at website 103 and at website 106. For example, if the per
`Sonal computing device 102 is a Smartphone, tablet computer,
`or other mobile device, users might use an app or a hybrid app
`(e.g., an app written in Objective C or Java that includes
`embedded HTML5) to communicate with software running
`on the servers at website 103 and at website 106. It will be
`appreciated that an application program for a mobile device is
`often referred to as an “app'.
`0027 FIG. 2A is a functional software modularization, in
`accordance with an example embodiment. As depicted in this
`figure, a player is using a web browser or app 201 on a mobile
`device (e.g., a Smartphone or a tablet computer) to interact
`with server software 203 (e.g., transmit or receive game data)
`running on a website hosting an MMO game (e.g., running on
`the servers at website 103 in FIG. 1). In an example embodi
`ment, server software 203 might be implemented using a
`public, private, or hybrid cloud platform, e.g., a hybrid cloud
`platform whose public cloud is Amazon Electric Compute
`Cloud (EC2) and whose private cloud is built using Cloud.
`com’s CloudStack software. In an alternative example
`embodiment, server software 203 might be implemented
`using other public clouds and/or other private clouds that
`
`Supercell
`Exhibit 1011
`Page 17
`
`

`

`US 2014/0024.462 A1
`
`Jan. 23, 2014
`
`provide similar functionality. Or, server software 203 might
`be implemented without resort to third-party cloud platforms,
`e.g., using load balancing and virtualization Software (e.g.,
`Citrix XenServer, VMware, Microsoft, or Xen), distributed
`computing software (such as Hadoop, which implements
`Map-Reduce and/or the Google Filesystem), distributed
`memory-caching software (such as memcached), distributed
`key-value database software (such as Couchbase Server nee
`Membase Server), NoSQL database-management software,
`structured database-management Software (such as MySQL).
`etc. Parenthetically, it will be appreciated that SQL is an
`acronym which stands for Structured Query Language.
`0028. Returning to FIG. 2A, server software 203 includes
`load balancers 204 (e.g., the load balancing and virtualization
`software provided by Citrix, VMware, Microsoft, or Xen)
`that balance the load between the servers (e.g., Apache HTTP
`servers) in an elastic (or dynamic) array 205. It will be appre
`ciated that the array is elastic because its size can be increased
`to accommodate additional servers and decreased to accom
`modate fewer servers. As further depicted in FIG. 2A, the
`servers in the elastic array 205 transmit (e.g., using HTTP)
`data to and receive data from (a) the web browser or app 201
`and (b) the servers on a social networking website 202 such as
`Facebook. In an example embodiment, the servers might read
`data from and write data to memory cache 206 (e.g., a
`memory cache created with memcached and managed with
`Couchbase Server), which, in turn, is backed by database 208,
`which might be MySQL. In an alternative example embodi
`ment, the database 208 might be NoSQL. It will be appreci
`ated that performance latencies can be significantly reduced
`by Such a caching arrangement, which exploits locality of
`reference. It will also be appreciated that memory cache 104
`in FIG. 1 corresponds to the memory cache 206 in FIG. 2 and
`the persistent storage 105 in FIG. 1 corresponds to the data
`base 208 in FIG. 2A. In an example embodiment, synch
`queue 207 might receive the data from memory cache 206 to
`be written asynchronously to the database 208. As indicated
`on FIG. 2A, the functional software modularization depicted
`in the figure might be implemented as a LAMMP (Linux,
`Apache, Memcache, MySQL, PHP) architecture, in an
`example embodiment.
`0029 FIG.2B is an alternative functional software modu
`larization, in accordance with an example embodiment. As
`depicted in this figure, a player is using a web browser or app
`201 on a mobile device (e.g., a Smartphone or a tablet com
`puter) to interact with server software 203 running on a web
`site hosting an MMO game. In an example embodiment,
`server software 203 might be implemented using a public,
`private, or hybrid cloud platform. In an alternative example
`embodiment, server software 203 might be implemented
`using other public clouds and/or other private clouds that
`provide similar functionality. Or, server software 203 might
`be implemented without resort to third-party cloud platforms,
`e.g., using load balancing and virtualization Software, distrib
`uted computing software, distributed memory-caching soft
`ware, distributed key-value database software, NoSQL data
`base-management
`software,
`structured
`database
`management (e.g., SQL) software, etc.
`0030. In FIG. 2B, server software 203 includes load bal
`ancers 204 that balance the load between the servers in an
`elastic array 205. As further depicted in this figure, the servers
`in the elastic array 205 transmit data to and receive data from
`(a) the web browser or app 201 and (b) the servers on a social
`networking website 202 such as Facebook. In an example
`
`embodiment, the servers might read data from and write data
`to a hybridin-memory database 206a and 206b which persists
`data (e.g., a hybrid in-memory database Such as Membase/
`Couchbase Server).
`0031
`FIG. 3 is a flowchart diagram that illustrates a pro
`cess for replacing a player on team performing a collaborative
`game task in an MMO game, in accordance with an example
`embodiment. In an example embodiment, one or more of the
`operations in this process might be performed by Software
`(including software 203) running on servers at a website 103.
`e.g., a website such as Zynga hosting an MMO game. In an
`alternative example embodiment, one or more of the opera
`tions in these processes might be performed by Software
`running on personal computing device 102, e.g., instructions
`in a webpage read by a browser supporting HTML5, CSS3,
`and JavaScript or instructions in a hybrid app with embedded
`HTML5 executing on a smartphone. In another alternative
`example embodiment, one or more of the operations in these
`processes might be performed by an Adobe Flash application
`(e.g., a Small Web Format or SWF file) running on personal
`computing device 102.
`0032. As depicted in FIG. 3, software running on one or
`more servers at website 103 (e.g., Zynga) creates a team or
`group (e.g., virtual cooking team) to perform a collaborative
`game task (e.g., virtual meal) in an MMO game (e.g., virtual
`cooking game), in operation 301. In an example embodiment,
`the collaborative game task is composed of set of individual
`game tasks (e.g., dishes). In operation 302, the Software
`assigns an individual game task (e.g., dish) to each player on
`the team. It will be appreciated that operations 301 and 302
`might be performed at the same time, in an example embodi
`ment. If an existing player on a team is not participating, the
`software removes the player from the team, in operation 303.
`In operation 304, the software assigns a new player to the
`team. Then in operation 305, the software determines that the
`team has satisfactorily completed the collaborative game task
`(e.g., virtual meal), according to the game mechanics associ
`ated with the collaborative game task. And in operation 306,
`the Software provides a game reward (e.g., virtual currency,
`other virtual game resource, experience points, other measure
`of player level or game status, etc.) to each player on the team.
`As described below, the experience points awarded to a player
`might be used to determine player level, in an example
`embodiment. It will be appreciated that the process described
`in FIG.3 replaces a non-participating player without resort to
`any communications that might be considered unpleasant by
`either the non-participating player or by the other members of
`that player's team.
`0033. In operation 301, the software creates a team. In an
`example embodiment, teams of a specified size might be
`created from queues of players (1) who have opted to play the
`MMO game (e.g., by clicking on a controlina game graphical
`user interface (GUI)), and (2) who share similar attributes,
`Such as age, gender, language, geo-location (e.g., as deter
`mined by IP address, device GPS coordinates, etc.), player
`level (e.g., greater than 72, as measured interms of experience
`points or in terms of points in a reputation system based on
`both experience and Social activity with other players), and
`gaming activity (e.g., recently inactive, recently casual,
`recently active, recently hardcore, etc.). In an example
`embodiment, the queues might be load balanced, e.g., by the
`addition of a new queue with attributes similar to an existing
`queue that has grown too long. Also, when assigning players
`to queues, the Software might make a determination as to
`
`Supercell
`Exhibit 1011
`Page 18
`
`

`

`US 2014/0024.462 A1
`
`Jan. 23, 2014
`
`whether players share similar attributes using clustering
`analysis, e.g., clustering analysis that depends on a distance
`between objects (where the objects are players). Such as con
`nectivity-based clustering or hierarchy clustering. Some orall
`of the data as to the player attributes might have been received
`from a website hosting a social network, e.g., through an
`application programming interface (API) exposed by that
`website, in an example embodiment. Or some or all of the
`data as to player attributes might have come from player
`profiles maintained by the software at the website hosting the
`MMO game, including data received from a website hosting
`a social network. In an alternative example embodiment,
`teams might be composed of players with dissimilar
`attributes, e.g., as determined by clustering analysis. For
`example, a team might include a player with a low player level
`and a player with a high player level, if data in the player
`profiles indicates that both players would enjoy being on Such
`a team.
`0034. Also, in an example embodiment, the players on the
`same queue might not be otherwise connected by a social
`graph; that is, to say, they might be not be “friends” or “neigh
`bors” (e.g., as determined by an access control list (ACL)) on
`a social network maintained by a website hosting a social
`network or the website hosting the MMO game. However, in
`an alternative example embodiment, all the players on the
`same queue might also be “friends' or “neighbors” (e.g., as
`determined by an access control list (ACL)) on a Social net
`work. Or the software at the website hosting the MMO game
`might apply a filter to the player queue to only select players
`for a team who are “friends” or “neighbors’ on a social
`network. (Similar filters might be used for other attributes
`Such as recency of gaming activity or to avoid players who
`have already been removed from the team.) In another
`example embodiment, the team might be composed of
`“friends” or “neighbors’ on a social network without resort to
`player queues. For example, Software at the website hosting
`the MMO game might facilitate the creation of a team through
`GUIs that enable a founder of a team to send invitations (e.g.,
`electronic messages) to his/her “friends' or “neighbors” on a
`Social network, e.g., through an API exposed by website
`hosting the Social network or via a messaging protocol.
`0035. In an example embodiment, the software perform
`ing the operations shown in FIG.3 might store the data for the
`team in a group blob (binary large object) that is separate from
`other blobs, e.g., the blob that stores the data for players or
`users. In an example embodiment, the group blob for the team
`might be identified by a globally unique identifier (GUID)
`that is a string. It will be appreciated that storing data in blobs
`facilitates the non-relational (e.g., NoSQL) processing of data
`using (1) distributed computing Software such as Hadoop
`(which implements Map-Reduce), (2) distributed memory
`caching software (such as memcached), and/or (3) distributed
`key-value database software (such as Membase/Couchbase
`Server). In an alternative example embodiment, the data for
`the team or each player might be stored in relational database
`tables (e.g., SQL tables) that can be distributed across server
`clusters.
`0036. In operation 302, the software assigns an individual
`game task (e.g., dish) to each player on the team. In an
`example embodiment, the game mechanics of the MMO
`game might allow a player to purchase completion of an
`individual game task can with virtual currency or other virtual
`game resources. For example, a player might use virtual cur
`rency to hire a non-player character (NPC) to help with an
`
`individual game task. It will be appreciated that such a game
`mechanic might be attractive to a player who is a casual gamer
`who has fallen behind in the performance of his/her indi
`vidual game task but does not want to prevent his/her team
`from timely completing their collaborative game task.
`0037 FIG. 4 is a flowchart diagram that illustrates a pro
`cess for obtaining a new player on a team performing a
`collaborative game taskin an MMO game, in accordance with
`an example embodiment

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