WO2016139536A1 - Apparatus, system, and method for applications with enticements - Google Patents

Apparatus, system, and method for applications with enticements Download PDF

Info

Publication number
WO2016139536A1
WO2016139536A1 PCT/IB2016/000331 IB2016000331W WO2016139536A1 WO 2016139536 A1 WO2016139536 A1 WO 2016139536A1 IB 2016000331 W IB2016000331 W IB 2016000331W WO 2016139536 A1 WO2016139536 A1 WO 2016139536A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
application
benefit
invitee
ticket
Prior art date
Application number
PCT/IB2016/000331
Other languages
French (fr)
Inventor
Michael Stein
Neil Laycock
Rupert LYWOOD
Christopher Lewis
Original Assignee
Tengi Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tengi Limited filed Critical Tengi Limited
Publication of WO2016139536A1 publication Critical patent/WO2016139536A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management

Definitions

  • the Internet is a global system of interconnected computer networks, i.e., a network of networks, that links billions of devices worldwide. It comprises millions of private, public, academic, business, and government networks of local to global scope, linked by a broad array of electronic, wireless, and optical networking technologies.
  • the Internet provides access to an extensive range of information resources and services such as inter-linked hypertext documents and databases, and applications such as World Wide Web (“web”) browsers, electronic mail, and the like.
  • the information, resources and services are most commonly accessed using personal computers (PCs), smartphones, tablets, and the like.
  • IP Internet Protocol
  • the present invention relates generally to apparatus, systems, and methods for enticing users of computing devices to use a new network-enabled application, to continue using an existing application (rather than switching to a competing application), or to switch from an existing network-enabled application to a new, competing application that provides one or more substantially identical functions.
  • the application may be a social networking application, such as a chat/messaging application, although the invention may be applied to any Internet- or other network-enabled application.
  • Incentives are provided for ordinary usage of the new, existing, or replacement application, and for inviting others to use it.
  • the invention automatically keeps track of application usage, invitations, and incentives. (In this context, the term "new application” indicates the application has not been used before by this user or the user is not currently registered; it does not mean the application has only recently become available for use.)
  • a computer-implemented method of enticing a user to use a new, existing, or replacement application includes the steps of: offering, to a user, at least one award that may be earned by the user solely for using the application to perform at least one application function; monitoring usage of the application by the user; storing usage information of the usage in association with an application user account; providing to the user at least one benefit for the usage when the usage satisfies at least one predetermined benefit accrual criterion; storing benefit information of the at least one benefit in association with the application user account;
  • a system for enticing users to use a new, existing, or replacement application includes: a user interface for accessing the application; a network; and a server processor communicatively coupled to the user interface via the network, the server processor further operatively coupled to a non- transitory computer readable medium, comprising instructions stored thereon, which, when executed by the server processor, perform the steps of:
  • FIG. 1 A depicts a schematic view of an exemplary client-server network environment in which various described embodiments may be practiced.
  • FIG. IB depicts a schematic view of an exemplary peer-to-peer network in which various embodiments may be practiced.
  • FIG. 2 depicts an exemplary computing device or server, such as those depicted in FIGS. 1A and IB.
  • FIG. 3A is a flowchart of a method for enticing network users to use a new application, to continue using an existing application (rather than switching to a competing application), or to switch from an existing application to a new replacement application, in accordance with the disclosure;
  • FIG. 3B is a flowchart of a method for enticing network users to use a new application, to continue using an existing application (rather than switching to a competing application), or to switch from an existing application to a new replacement application, in accordance with the disclosure in which the benefits are provided in the form of tickets;
  • FIG. 3C is a flowchart of a method for enticing network users to use a new application, to continue using an existing application (rather than switching to a competing application), or to switch from an existing application to a new replacement application, in accordance with the disclosure in which users who begin using an application in response to an invitation from an existing application user receive invitee benefits;
  • FIG. 3D is a flowchart of a method for enticing network users to use a new application, to continue using an existing application (rather than switching to a competing application), or to switch from an existing application to a new replacement application, in accordance with the disclosure in which application users who successfully invite new users to begin using the application receive inviter benefits;
  • FIGS. 4-7 depict exemplary elements and procedures for implementing methods such as those depicted in FIGS. 3A-3D, in accordance with the disclosure;
  • FIGS. 8A-8G are exemplary screenshots available to an application user via a user computing device
  • FIGS. 9A-9N are exemplary screenshots available to an administrator via an administrator computing device
  • FIGS. 10A-10B are exemplary tables for use in choosing a winning ticket among 10 users.
  • FIGS. 1 lA-1 ID shows an exemplary tree structure diagram and examples of its use in three illustrative scenarios for choosing a winning ticket
  • the herein disclosed apparatus, systems, and methods provide for enticing network users (e.g., Internet users) to begin using a new application, to continue using and remain loyal to an existing application (rather than switching from the existing application to a competing application), or to switch from an existing application to a new replacement application.
  • the application may be a social networking application, such as a chat or messaging application, although the invention may be included in or used in conjunction with any network-enabled application.
  • the term "network-enabled" indicates that a user's use of an application can be monitored and information of the use can be stored, and the stored information may be accessed remotely via a network or the like. Incentives are provided for ordinary usage of the application, and/or for inviting others to use it, and application usage, invitations, and incentives are
  • a computing device for example a PC or a networked mobile device, may have access via one or more networks to a computer-based instant messaging system to which it is communicatively coupled.
  • the computing device runs an instant messaging application, although other applications may be used, provided they have a network-enabled aspect by which they can communicate with one or more servers or other network-enabled devices over one or more networks.
  • the instant messaging application provides the user with an interface to a server-based or peer-to-peer messaging service, although other types of services may also be used.
  • the application also provides an interface to a server-based or peer-to-peer "tickets and prize draw” (TPD) service, although other incentives may be used.
  • TPD tickets and prize draw
  • an instant messaging service that incorporates free-to-enter "prize draws” with cash and other prizes as incentives to use the system and also invite others to use it.
  • the invention is described herein as server-based, non- server-based systems are also envisioned including, without limitation, peer to peer systems.
  • the invention is described herein with the incentive service being formed simultaneously with and integral to the application service, alternate embodiments are envisioned in which the incentive service is added to an existing application service after such service has been in use for some period of time.
  • the incentive service may be standalone but operating in conjunction with the existing application service or the existing application service may be modified as needed to newly incorporate the incentive service.
  • FIGS. 1 A, IB, and 2 depict exemplary networked computing environments in which the invention may be practiced.
  • the depicted computing environments are only two examples of a suitable computing environment and are not intended to suggest any limitation as to the scope of use or functionality. Numerous other general purpose or special purpose computing system environments or configurations may be used. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use include, but are not limited to, personal computers (“PCs"), server computers, handheld or laptop devices, multi-processor systems, microprocessor-based systems, network PCs,
  • PCs personal computers
  • server computers handheld or laptop devices
  • multi-processor systems multi-processor systems
  • microprocessor-based systems network PCs
  • minicomputers mainframe computers, cell phones, tablets, embedded systems, distributed computing environments that include any of the above systems or devices, and the like.
  • the embodiments may include computer-executable instructions, such as program modules stored in a storage device and executed by a computing processor operatively coupled to the storage device.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular data types.
  • Distributed computing environments may be used where tasks are performed by remote processing devices that are linked through a communications network or other data transmission medium.
  • program modules and other data may be located in both local and remote computer storage media including memory storage devices.
  • FIGS. 1 A and IB depict exemplary systems in which embodiments of the present invention may be implemented. These exemplary systems include, inter alia, one or more computing devices 102. In FIG. 1A the computing devices and server 108 interface to each other via network 106. In contrast, the system depicted in FIG. IB has a peer-to-peer configuration, in which the computing devices 102 interface to each other directly via the network 106, without a dedicated server. [0034] In its most basic configuration, as depicted in FIG. 2, each computing device 102 includes at least one processing unit 202 and at least one memory 204 operatively coupled thereto. The processing unit and memory may be tangible elements in a computing device.
  • computing device 102 may be any web-enabled handheld device (e.g., cell phone, smart phone, or the like) or personal computer including those operating using Android, Apple, and/or Windows mobile or non-mobile operating systems.
  • web-enabled handheld device e.g., cell phone, smart phone, or the like
  • personal computer including those operating using Android, Apple, and/or Windows mobile or non-mobile operating systems.
  • Computing device 102 may have additional features/functionality.
  • computing device 102 may include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape, thumb drives, and external hard drives as applicable.
  • additional storage is illustrated in FIG. 2 by removable storage 208 and non-removable storage 210.
  • Computing device 102 typically includes or is provided with a variety of computer- readable media.
  • Computer-readable media can be any available media that can be accessed by computing device 102 and may be any type of non-volatile media, and removable and non-removable media.
  • Memory 204, removable storage 208, and non-removable storage 210 are all examples of computer storage media.
  • Computer storage media may include, but is not limited to, RAM, ROM, electrically erasable programmable read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • flash memory or other memory technology
  • CD-ROM compact disc-read only memory
  • DVD digital versatile disks
  • magnetic cassettes magnetic tape
  • magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computing device 102. Any such computer storage media may be part of computing device 102 as applicable.
  • Computing device 102 may also contain communications connection 212, such as a wired interface or a wireless air interface that allows the device to communicate with other devices.
  • communications connection 212 is an example of communication media.
  • Communication media typically conveys computer-readable instructions, data structures, program modules and/or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
  • modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
  • communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as radio frequency (“RF"), infrared, and other wireless media.
  • RF radio frequency
  • computer-readable media as used herein includes both storage media and communication media.
  • Computing device 102 may also have input device(s) 214 such as keyboard, mouse, pen, voice input device, touch screen, etc.
  • Output device(s) 216 such as a graphical display, speakers, printer, etc. may also be included. All these devices are well known and may not be discussed in further detail herein if it does not clarify the description.
  • computing device 102 may be one of a plurality of computing devices 102 inter-connected by network 106.
  • network 106 may be any appropriate network and each computing device 102 may be connected thereto by way of connection 212 in any appropriate manner, and each computing device 102 may communicate with one or more of the other computing devices 102 via network 106 in any appropriate manner.
  • network 106 may be a wired network, wireless network, or a combination thereof within an organization or home or the like, and may include a direct or indirect coupling to an external network such as the Internet or the like.
  • network 106 may be such an external network including, without limitation, the Internet.
  • computing device 102 may connect to server 108 via such an internal or external network.
  • FIG. 1 depicts computing device 102 located in close proximity to server 108, this depiction is not intended to define any geographic boundaries.
  • network 106 is the Internet
  • computing device 102 can have any physical configuration and location able to access the Internet.
  • computing device 102 may be a mobile or stationary tablet, cell phone, personal computer, or the like located at a user's office, home, or other convenient location.
  • computing device could be located proximate to server 108 without departing from the scope hereof.
  • FIG. 1 depicts computing device 102 located in close proximity to server 108, this depiction is not intended to define any geographic boundaries.
  • network 106 is the Internet
  • computing device 102 can have any physical configuration and location able to access the Internet.
  • computing device 102 may be a mobile or stationary tablet, cell phone, personal computer, or the like located at a user's office, home, or other convenient location.
  • computing device could be located proxi
  • FIG. 1A depicts computing devices 102 coupled to server 108 via network 106
  • computing devices may be coupled to server 108 via any other compatible networks including, without limitation, an intranet, local area network, or the like.
  • FIG. IB the foregoing may be applied in any appropriate peer-to-peer network configuration.
  • system 100A uses a standard client server technology architecture, which allows users of system 100A to access information stored in databases 110 and database tables 112, 114, 116, and 118, via custom user interfaces.
  • the application may be provided by server 108 (such as by free or paid download), or hosted on a server such as server 108 which is accessible via the Internet using a publically addressable Uniform Resource Locator ("URL").
  • URL Uniform Resource Locator
  • users can access exemplary system 100A using any web-enabled device equipped with a web browser.
  • Communications between software components and sub-systems may be achieved by a combination of direct function calls, publish and subscribe mechanisms, stored procedures, direct SQL queries, and the like. However, alternate components, methods, and/or sub-systems may be substituted without departing from the scope hereof.
  • system 100B uses a standard peer-to-peer technology architecture, which allows users of system 100B to access information stored in database 110 via custom user interfaces.
  • a secure distributed ledger e.g. a block chain
  • the database may be stored in pieces that reside on some of the computing devices 102. Data stored in such a database may then be accessed via the Internet or other network using, for example, public and private block chain ledgers, as is known in the art. Users can access exemplary system 100B and thence to any distributed database or other distributed entity stored in computer devices 102.
  • Communications between software and/or database components and sub-systems may then be achieved by a combination of direct function calls, publish and subscribe mechanisms, stored procedures, direct SQL queries, and the like.
  • the systems and methods disclosed herein in connection with a client-server configuration may alternatively be realized using a system configured for peer-to-peer operation.
  • alternate components, methods, and/or sub-systems may be substituted without departing from the scope hereof.
  • computing devices 102 are equipped with a protocol stack such as TCP/IP to allow them to interact with server 108 via the network.
  • a protocol stack such as TCP/IP to allow them to interact with server 108 via the network.
  • an application operating on computing device 102 may use TCP/IP to interact with one or more applications executed by server 108.
  • the application on device 102 may be a "client" application and may submit and/or return messages to the server.
  • Server 108 which provides resources and services or performs other functions for or on behalf of the client application, may likewise submit or return messages to the client application.
  • the messages may contain requested information or other content, status information, and the like.
  • alternate methods of computing device/server communications may be substituted without departing from the scope hereof.
  • application database 110 stores information and data pertaining to one or more applications, such as installation files that may be downloaded to computing device 102 and installed thereon.
  • Database 110 may also include or be operatively coupled to one or more data tables that receive, store, and return information in response to requests from server 108. Relationships between data stored in different tables may be established, such as through the use of key fields, as is known in the art
  • Database 110 may be any appropriate database capable of storing data and may be included within or connected to server 108 or any plurality of servers similar to 108 in any appropriate manner without departing from the scope hereof.
  • database 110 may be function as a relational database management system (RDBMS) using structured query language (“SQL”) or the like.
  • RDBMS relational database management system
  • SQL structured query language
  • Database 110 may be resident within and/or accessible to server 108, and may be internal or external to server 108. Also, server 108 may be embodied as any number of servers located in one or more locations to implement the systems and methods of the present invention. That is, the functions and/or databases associated with server 108 may be split between a plurality of servers, as is known in the art.
  • the computing device 102 generally includes a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device.
  • One or more programs may implement or utilize the processes described in connection with the presently disclosed subject matter, for example, through the use of an application-program interface ("API"), reusable controls, or the like.
  • API application-program interface
  • Such programs may be implemented in a high-level procedural or object-oriented programming language.
  • the applications and other programs described herein may be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language, and combined with hardware implementations.
  • exemplary embodiments may refer to utilizing aspects of the presently disclosed subject matter in the context of one or more stand-alone computer systems, the subject matter is not so limited, but rather may be implemented in connection with any computing environment such as system 100A, or in a distributed computing environment or 100B. Still further, aspects of the presently disclosed subject matter may be implemented in or across a plurality of processing chips or devices, and storage may similarly be effected across a plurality of devices in system 100A or 100B. Such devices might include personal computers, network servers, and handheld devices (e.g., cell phones, tablets, smartphones, etc.), for example.
  • the system may include one or more servers, such as server 108, and one or more associated databases, such as database 110. These may be programmed to execute a plurality of processes, discussed in greater detail below, which may entice a user to try a new program, entice a user to continue using an existing program, or entice a user of a first ("old") application to switch to a second ("replacement") application. If switching to a replacement application, from the user's standpoint, the replacement application provides some or all of the functionality provided by the old application. In particular, at least one function of the replacement application is substantially identical to a corresponding function of the old application.
  • the user may be enticed to switch to the replacement application because it provides benefits such as awards that may be obtained simply by using the replacement application to perform the same or similar tasks, using essentially the same or substantially similar functions, as those performed and provided by the old application.
  • the user may be enticed to continue using an existing application because the application is enhanced such that it begins providing benefits such as awards that may be awarded to the user simply for continuing to use the existing application in the same manner with which it was previously used. That is, the existing application may be modified such that the user is eligible to receive awards for doing nothing other than continuing to use the existing application to perform the same functions performed by the user prior to modification of the existing application.
  • FIGS. 3A-3D are flow diagrams that illustrate computer-implemented methods of enticing a user to try a new application, enticing a user to continue using an existing application (rather than switching to a competing application), and/or enticing a user of a first ("old") application to switch to a second ("replacement") application, and exemplary embodiments pertaining thereto.
  • method 300 begins by offering to a user at least one award that may be earned by the user solely for using the application to perform at least one application function, 302.
  • the new or replacement application may be offered in any convenient way known in the art, such as a free software download over the Internet, or an installation disk such as an optical disk such as a CD or DVD.
  • the user may, but need not, be a user of a first "old" application that provides similar functionality as the new "replacement" application.
  • the replacement application includes at least one function that is substantially identical to at least one function of the old application.
  • the old and replacement applications may include chat functionality that is substantially the same in both applications.
  • the replacement application also provides for predetermined awards that may be obtained by the user solely for using the replacement application to perform the application's stated function(s).
  • the user After setting up the new or replacement application on the user's computing device or user interface, the user establishes a user account and registers with the new or replacement application.
  • Such account setup and registration is performed as is known in the art and may include entry of the user's information (e.g., first name, last name, and e-mail address) and selection by the user of a login name and password.
  • the registering user may enter a phone number on computing device such as computing device 102 and send it to the server, then receive an SMS from the server with a verification code, and enter the verification code into the computing device and send it to the server.
  • the information is saved in a database such as database 110 in a database table such as User Info table 112 (FIG. 1).
  • the user's account is activated and a confirmation e-mail is sent to the user to confirm same.
  • the user logs in by entering, for example, the username and password as is known in the art. This information is validated via accessing the Users Info table 112 as is also known in the art.
  • the user is able to use the new or replacement application.
  • a replacement application may, but need not, work in substantially the same way, to achieve substantially the same result, as if an old application had been used.
  • the replacement application not necessarily because it is operationally superior, but rather because it includes the prospect of obtaining an award for doing nothing more than using the new application for its stated use.
  • the new application may indeed be operationally superior without departing from the scope hereof.
  • a new installation will not necessarily be required. Rather, the user may update the existing application in order to implement the incentive portion thereof or the incentive portion may be automatically updated by the existing application without any action on the part of the user.
  • the user will simply see information regarding the incentives being offered and the criterion for receiving benefits when the user accesses the application in the normal course of using the application. Also, access to the application will be performed via the user's pre-existing login and password.
  • the application monitors the user's use thereof, 306, and stores the usage information in association with the user's application user account, 308, for example in Usage Info table 114 (FIG. 1 A).
  • a user benefit is provided to the user automatically when the user's usage of the application satisfies at least one predetermined benefit accrual criterion, 310.
  • the benefit may be a soft ticket for an automated raffle.
  • Information of the benefit may be stored in association with the application user account, 312.
  • information of one or more benefit criterion such as a frequency or duration of using the application
  • information of the user benefit provided such as a number of tickets obtained
  • an award may be provided automatically to the user, 314 (for example, money, a gift card, a donation on behalf of the user). If so, information of the award may be stored in association with the application user account, 316. Information of one or more award criterion (e.g., an automated raffle selects as a winner a ticket associated with an identified user), as well as information of the award provided, may be stored in Award Info table 118 (FIG. 1). An exemplary implementation of this process is discussed in greater detail below with respect to FIGS. 4 - 11D.
  • the application may be a social networking application, a chat application, or the like. Other applications and types of applications may be used, provided that the application allows its usage to be tracked and reported via a network or some other tracking mechanism. Exemplary types of usage (whether user usage or third party usage) that may be evaluated in accordance with at least one predetermined benefit accrual criterion to determine whether ticket(s) or other benefit(s) should be provided as described in the example above may include, but are not limited to, one or more of the following: the user establishing one or more new user accounts to use the application; the user entering an initial list of current users of the application that the user already knows, as a user's known member list; the user using the application in one or more predetermined application-use time period(s) (e.g., a day or a portion of a day); the user using one or more specific functions of the application and/or the user using one or more specific functions of the application during one or more predetermined application-use time period(s).
  • predetermined application-use time period(s)
  • the predetermined benefit accrual criterion that is utilized to determine whether the usage is sufficient to provide benefit(s) to the user may include, a predefined benefit (e.g., a quantity of tickets) to be provided to the user based upon, but not limited to, the following aspects of the usage: the quantity of user accounts established by the user to use the application (e.g., a predetermined number of tickets may be provided for each new user account or the user may be required to open a predetermined quantity of user accounts before a benefit is conferred); the quantity of users entered upon the user's member list; the number of times or duration of time that the user opens or uses, respectively, the application in one or more predetermined application-use time periods (e.g., a day or portion thereof, a week, etc.); the number of times or duration of time that the user uses one or more functions of the application in one or more predetermined application-use time periods; the user being present on an award winning user's known members list; and, a frequency at which the user regularly uses the application
  • FIG. 3B begins when the usage information of the user's use of the application is stored in association with the user's user account, 308 as described in more detail above with respect to FIG. 3A.
  • the user benefit may include one or more tickets, each ticket providing a chance to win one or more awards. Tickets may be automatically provided for a user's usage of the application based on one or more predetermined ticket accrual criterion, 324, as will be disclosed below in more detail. Ticket information of the user's tickets may be stored in association with the user's user account, 326, as discussed above with respect to 312 of FIG. 3A.
  • an ID number for each ticket, and a number of tickets obtained may be stored.
  • the user's tickets may be grouped with the tickets of a plurality of other users of the application, 328, in order to create a ticket pool for a prize draw.
  • One or more tickets may automatically be randomly selected as winning tickets, 330.
  • the award may then be provided automatically to the user associated with the winning ticket, 332.
  • the award may be monetary. although other awards may be added or substituted, for example gift cards, or contributions to a charity on behalf of the user.
  • Information of the award may be stored in association with the winner's application user account, 334, as discussed above with respect to 334.
  • award information may include, but is not limited to, the nature of the award, the date it was won, and the like, to be used, for example, with regard to future awards. For example, winning an award may disqualify a user from winning another award during the same prize draw and/or for a predetermined period of time.
  • the usage information stored at 308 may be information regarding the usage of a messaging group (as performed, for example, via a group chat screen) formed by one of the application users.
  • Such messaging group usage may include formation of a new messaging group by a user, the duration of time users are messaging from a messaging group screen, the number of users added to the messaging group in a specific time period, and the like.
  • tickets may be provided for such messaging group usage based upon predetermined benefit accrual criterion.
  • ticket information may be stored in association with the user accounts of each user in the messaging group or in association with a group user account administered by a group owner.
  • an award may be provided to the messaging group at a step such as 332.
  • the award is distributed to the group in accordance with the criteria set by the group owner. For example, the group owner can elect to have the group award donated to charity on behalf of the group members. Or, the group owner can elect to have a monetary award shared evenly between the members of the messaging group without departing from the scope hereof.
  • FIGS. 3C and 3D pertain to embodiments in which the user (as an inviter) may invite others who do not currently use the application (as invitees) to use the application, and benefits and awards may be provided based on either or both of the inviter's and invitee's usage of the application and/or awards or benefits provided to the inviter or invitee via the application,
  • this aspect of the invention begins by a first user, the inviter, inviting another, the invitee, to use the application, and the invitee accepting the invitation, 342.
  • an invitee user account is established for the invitee to use the application, 344, as discussed above with respect to FIG. 3A.
  • the invitee user may then be provided with an invitee benefit based upon at least one predetermined invitee benefit criterion, such as a frequency or duration of program usage by the invitee.
  • the invitee benefit criterion may include at least one characteristic or benefit of the inviter's use of the application, 346, instead of or in addition to the invitee's use. For example, a ticket may be provided to the invitee when his or her inviter wins an award.
  • information of the invitee benefit provided may be stored in association with the invitee user account, 350.
  • An invitee award may then be provided when the invitee benefit information satisfies a predetermined invitee award criterion, 352.
  • Information of the invitee award may then be stored in association with the invitee's user account, 354.
  • the invitee benefit may be a ticket to the invitee for a future drawing, and the predetermined invitee benefit criterion for award of such a benefit may be that the inviter won an award in a completed drawing.
  • the inviter invites the invitee to use the application, and the invitee accepts, 342, and an invitee user account is established, 344.
  • the inviter user may be provided with an inviter benefit based upon at least one predetermined inviter benefit criterion.
  • the inviter benefit criterion may include at least one characteristic or benefit of the invitee's use of the application in lieu of or in addition to the benefits provided to the inviter based upon the inviter's use.
  • the invitee's usage of the new application is monitored, 366, and the inviter may then be provided with an inviter benefit based on one or more criterion that include a characteristic or benefit of the invitee's usage of the new application, 368.
  • These inviter benefits may be in lieu of or in addition to the inviter's usage benefits as discussed with respect to FIG. 3A, 310.
  • the inviter may be provided a ticket based on the frequency and/or duration of one or more of their invitees' use of the application.
  • information of the inviter benefit provided may be stored in association with the inviter's user account, 370.
  • An inviter award may then be provided when the inviter benefit information satisfies a predetermined inviter award criterion, 372.
  • Information of the inviter award may then be stored in association with the inviter's user account, 374.
  • the inviter benefit may be a ticket to the inviter for a future prize draw
  • the predetermined inviter benefit criterion for award of such a benefit may be based on a characteristic or benefit of the invitee's usage of the application.
  • the inviter may get a ticket for a draw when the invitee's usage exceeds a predetermined frequency and/or duration.
  • a system for enticing a user to begin using a new application, to entice a user to continue using an existing application (rather than switching to a competitive application), and/or to entice a user to switch from a first "old" application to a second "replacement" application may comprise a user interface for accessing the new application.
  • the user interface may be a computing device 102.
  • the system also includes a network 106, and a server 108 communicatively coupled to the user interface via the network
  • the server comprises a processing unit 202, such as a tangible microprocessor, operatively coupled to a non-transitory computer readable medium 204.
  • the medium has instructions stored thereon which, when executed by the server processor, perform one or more methods previously described.
  • the instant messaging service may be designed to work on user devices such as smart phones, for example running iOS or Android operating systems, and may be a new competitor to entrenched services such as WhatsApp, Viber and WeChat, for example.
  • the new application and system of rewards, and its associated infrastructure will be referred to hereinafter as the Tengi application.
  • the Tengi application comprises two capabilities that work in conjunction with each other: Messaging and TPD.
  • Messaging and TPD Although the TPD application is described in conjunction with a messaging application, other types of programs, applications, and capabilities may be similarly enhanced to provide incentives for switching to, beginning use thereof, or continuing use thereof by adding the TPD application to them, including the ability to monitor use of the application by application users over one or more networks.
  • the TPD application may be added, for example, by incorporating it directly into a new or existing application.
  • the TPD application may be provided by a separate program that monitors and interacts with a new or existing application, running either locally or remotely from the new or existing application.
  • the Messaging application is implemented by a customized version of Mongoose Instant Messenger (Mongoose IM), an open source application based on the XMPP standard.
  • Mongoose IM Mongoose Instant Messenger
  • the TPD application may run as part of and within the Messaging application, or may run separately from and in operative communication with the Messaging application.
  • the messaging application is adapted to provide the TPD application
  • adaptations may be in the form of new modules, minor tweaks or "hooks" into existing messaging functionality to provide data required for the TPD application, and/or further minor detailed changes as described herein.
  • the TPD application may provide a compelling incentive for very large numbers of people to join Tengi (i.e., begin using the Tengi application), and to use it over time as a preferred messaging service, thereby replacing the messaging services they currently use, if any.
  • the TPD application may also be added to an existing application to provide a compelling incentive for existing application users to continue using the existing application.
  • the TPD application provides users of the Messaging application with automatic benefits (e.g., chances to win prizes in the form of tickets or the like), wherein the benefits are provided according to the nature and extent of the user's usage in accordance with predetermined benefit accrual criterion.
  • the nature and extent of the user's usage may also include the growth of the user's personal networks within the Tengi application (i.e., the type and quantity of users added to the user's member list). In general, the more a user uses the Tengi application and signs up new users to the application, the more chances the user will have to win awards/prizes.
  • the TPD application may be engineered for robustness and performance at very large scales. Both capabilities may run on the same infrastructure, for example, the cloud infrastructure provided by Amazon Web Services (AWS), although other configurations and infrastructure may be used.
  • AWS Amazon Web Services
  • the TPD application is implemented by a combination of standalone modules and functions (hereinafter collectively, "applications"), as well as
  • FIG. 4 is a block diagram illustrating aspects of this exemplary embodiment
  • the symbols identified by reference indicators are explained in detail below.
  • the arrows between the symbols represent operative and/or communicative couplings by which data is accessed or passed between the blocks.
  • This embodiment may be realized using a client-server network configuration, as illustrated in FIG. 1 A. If so, relevant data such as user information, usage information, and benefit and award information, is stored in tables, such as tables 112, 114, 116, and 118, within a database such as database 110.
  • the data may be stored, for example, in at least one server 108 or in network attached storage (not shown) accessible to the server 108.
  • the server stores and retrieves data to and from the database, performs operations, and communicates with the user and administrative computing devices 102.
  • the server and database constitute silos in which relevant functionality and data are concentrated, and the computing devices 102 generally do not communicate directly among themselves.
  • the exemplary embodiment may be realized using a peer-to-peer network configuration, as illustrated in FIG. IB.
  • Relevant data is stored in one or more parsed tables within one or more parsed databases, and data are distributed to, stored in, and retrieved from at least a portion of the plurality of user computing devices 102.
  • the user devices 102 communicate directly among themselves; there are no functional or data storage silos.
  • FIG. 4 illustrates aspects of the exemplary embodiment
  • the application in the description above and referred to in FIG. 3A, 302 includes a Messaging application accessed using mobile or non-mobile computing devices such as smart phones, PCs, tablets, and the like, the application including a TPD application to entice users to use the new application.
  • the Messaging and TPD applications are implemented with the software applications, modules, and modifications described below. However, other modules and configurations may be used in conjunction with, or alternative to, those illustrated and described. Furthermore, other applications with functionality different than the described "Tengi" messaging system may be used instead of, or in addition to, that described herein without departing from the scope hereof.
  • the application and the TPD are integrated and they are implemented via a MongooselM platform ("Mongoose Platform") distributed by Erlang Solutions.
  • Mongoose Platform The core services architecture of the Mongoose Platform transfers data between the server and clients using the integral client handlers of the Mongoose Platform.
  • the Mongoose multi-user chat module (A01 ) is configured to perform functions including, but not limited to: sending and receiving messages and other data (hereinafter "IQs") between users; facilitating one on one and group chat conversations; and enabling broadcast messages from the server to all users, to all users on a specific user's member list, or to a selected subset of the user's member list
  • IQ is a type of XMPP message used to transfer non-user message information between clients and servers.
  • one or more functions may be omitted or new functions may be added without departing from the scope hereof.
  • alternate platforms may be substituted for the MongooselM platform without departing from the scope hereof.
  • the multi-user chat module A01 includes prize, points, and AMQP sub-modules.
  • the prizes sub-module allows user computing devices to check the results of a prize draw, to claim prizes, and it also facilitates communication of prize awards to the winning users.
  • the sub-module is triggered to send prize award information to winning users by the PD module A10 once a prize draw has been completed. It also facilitates prize related communications from users back to the application, for example, when a winning user is claiming his or her prize(s).
  • the points sub-module communicates the current benefit status and prize draw settings to the users.
  • the points period sub-module manages information related to the prize draw time periods and the corresponding application-use time periods.
  • the AMQP module listens for TPD-related events from database/storage S03 and passes them to the events sub-module.
  • the events sub-module receives events from the AMQP module and processes them specifically for the purpose of providing benefits (e.g., providing a benefit directly in response to an event or incrementing values (e.g. time spent messaging/chatting) that may contribute to providing a benefit in the future.
  • Each benefit accrual criterion has its own bespoke logic implemented in this module, which also uses the benefit accrual criterion configuration variables set by prize draw administrators via the administrator panel and the settings sub-module of the PD module A 10.
  • the events sub- module generates prize draw related events and sends them to storage such as storage S03 as described in greater detail herein. This sub-module may also be used to notify PD module A10 when awards or prizes are claimed by the winning user.
  • the settings sub-module handles all of the configurable settings for prize draws, and it is also responsible for swapping old settings for new settings when one prize draw ends and a new prize draw begins.
  • This module also manages the list of users that are banned from participation in the prize draws (e.g., user that do not meet the user qualification criteria such as employees of Tengi, their families and employees of businesses associated with the provision of the Tengi application and any users found to have been abusing the prize draw).
  • the depicted embodiment utilizes the MongooselM roster module (A02) (hereinafter “Contacts”) to maintain the address books or roster of each user of the new
  • the roster is the list of Tengi application users that are on the current user's friends or members list, and therefore the Tengi users with whom the current user can initiate messaging or add to messaging groups.
  • a user's roster may include the list of phone numbers in his/her address book that are also verified users of the Tengi messaging application (i.e. that user's network of people that he/she can chat with via the Tengi messaging application - also referred to above as members).
  • roster module A02 includes a reverse address book sub-module that manages the "reverse address book” (RAB) and/or reverse roster (RR) data for each user account. That is, the RAB and/or RR details which other users have this user in their member or friends list, and it is used to provide such other users with "friends joined" benefits as discussed herein.
  • RAB reverse address book
  • RR reverse roster
  • the registration module (A03) manages the process of registering new users for the Tengi application including, without limitation, receiving the necessary data (e.g., name, address, telephone number, email address, logon ID, password).
  • the registration module also verifies that the user is using a Subscriber Identity Module (“SIM”) based device, when applicable.
  • SIM Subscriber Identity Module
  • the depicted embodiment of the invention utilizes the "SIM" to verify the identity of the user, however, alternate verification methods may be substituted without departing from the scope hereof. As shown in FIG.
  • the registration module (A03) interacts with a third party Short Message Service (“SMS”) (E01) to send SMS messages to prospective users of the Tengi application to verify that the user is in possession of the SIM-based device having the phone number entered by the user during the registration process.
  • SMS module (E01) also interacts with the Cabot alerting module (A21) to send alerts to system administrators via SMS.
  • the Cabot alerting module (A21) also interacts with an email module (E02) to send alerts to system administrators via email.
  • the SMS service is provided by AQL, a provider of wholesale integrated communications services. However, alternate services may be substituted without departing from the scope hereof.
  • the media module (A04) manages the handling of non-text messages (e.g., image, video, and audio files) which have been sent by users of the Tengi application. It stores and retrieves such files in a network-accessible database (S04).
  • S04 database is used a long term file based storage used to store media files and message archives. It is provided via an Amazon Simple Storage Service (Amazon S3) provided via the Amazon Web Services (AWS).
  • the Amazon S3 provides secure, durable, highly scalable cloud storage, although alternate storage and/or databases may be substituted for S04 without departing from the scope hereof.
  • the push notifications module (A05) handles the delivery of message notifications to third party services when messages cannot be immediately delivered within the Tengi application (e.g., because the recipient is offline).
  • Push notification services are used by the push notifications module (A05) to let users of the Messaging application know that they have received messages.
  • Third party services may include, for example, the Apple Push Notification Service and the Google Cloud Messaging service, although alternate or additional push services may be used without departing from the scope hereof.
  • the Message Archive Management (MAM) Cleaner module (A06) removes old messages from high performance data storage (SOI) and archives them to longer term storage (S04) via one or more AWS Application Program Interfaces ("APIs")- In FIG.
  • SOI high performance data storage
  • APIs Application Program Interfaces
  • the high performance storage is Riak storage, a high performance NoSQL / key value pair database for short term persistent data, provided by Basho Technologies. Riak is the primary storage for non-media data.
  • Storage (S03) is Rabbit MQ storage, distributed by Erlang Solutions. RabbitMQ is message brokering software (also called message-oriented middleware) that implements the Advanced Message Queuing Protocol (AMQP).
  • Storage S03 stores event type data (for example, data that the PP module uses to calculate when awards should be granted to users). Also, storage S03 maintains separate queues for the following event types: award of benefits/tickets; award or prize draw (e.g. award notification and claiming); push notifications; and account deletion.
  • Storage is a high performance Redis storage for ephemeral data which is also used for tasks requiring high-speed execution (e.g., session and cluster management).
  • alternate storage solutions may be substituted for S01, S02, S03 and/or S04 without departing from the scope hereof.
  • the administrative panel module (A07.1) enables portions of the application to be controlled externally by non-developer administrators to perform functions including, but not limited to, composing and sending broadcast messages to all application users and managing various aspects of the system configuration.
  • the administrator panel modules may be provided as an in-application administrative panel via A07.1 or an Internet-based administrative panel via module (A07.2).
  • An administrator may access the administrative panel via an administrative computing device similar to the computing devices 102 as described above with respect to FIGS. 1A and IB.
  • the in-application administrative panel may be downloaded and executed directly by the administrative computing device, whereas the Internet-based administrative panel may be accessed through an Internet-browser executed by the administrative computing device.
  • the administrator panel modules enable interfaces between an administrative user and, inter alia, the settings, winners and charities sub-modules within the PD module Al 0.
  • the PD module has an HTTP API which enables these modules to communicate with the administrator panel front end.
  • the administrator panel backend also communicates with parts of the application that aren't related to the TPD application.
  • the charities sub-module manages the setup of charities within the application, obtains donation events from the events sub-module, prepares donation data for CSV export, and produces the CSV export file when triggered by the watcher sub-module.
  • the charities sub-modules also sends user confirmation notifications to multi user chat module AOl when donation events have been processed.
  • the winners sub-module prepares prize draw reports by iterating over winner users to collect data, performs confirmation of the prize draw reports by performing functions such as replacing winners when necessary, and initiates a Localytics data export once the prize draw report is confirmed.
  • This sub-module also initiates the process of giving "Friends won” benefits to all users in the Reverse Roster of the award winners and maintains statuses (e.g. new, claimed, etc.) of all prizes awarded within all prize draw reports.
  • the winners sub-module enables download of the prize draw report in CSV format and enables the sending of bulk messages to prize winners (including filtering by draw, status, country, etc.).
  • the system shown in FIG. 4 also includes a plurality of elastic load balancers including Media ELB, XMPP ELB, HTTP ELB, and Registration ELB.
  • ELBs may be omitted or alternate ELBs may be substituted or added without departing from the scope hereof.
  • computing device such as computing device 102 as illustrated in, and described above, with respect to FIGS. 1 A and IB.
  • computing device may be a mobile device having an operating system such as Apple iOS) or Android.
  • Apple iOS Apple iOS
  • Android mobile devices using other mobile operating systems may be used, as well as other mobile and non-mobile devices including, without limitation, tablets, PCs, and alternate desktop devices using other operating systems, without departing from the scope hereof.
  • the TPD application may be implemented using the following modules as new, standalone applications and/or as enhancements and/or modifications to the Messaging or other application and its
  • the profile points (PP) module (A09) provides benefits such as providing tickets to users of the Tengi application according to certain predetermined benefit accrual criterion (i.e., predefined rules and configurable parameters) based on the usage (e.g., activities) of users and their application friends.
  • PP module A09 parses ongoing events in order to provide benefits to users. For example, the user's friends may be added to the user's known members list, which may be stored as the user's contact list as controlled by roster module (A02) as discussed above.
  • Settings of the PP module including, without limitation, the predetermined benefit accrual criterion may be controlled by an administrator via an integral or Internet- based administrative panel as described herein.
  • the PP module may also be broken out as a separate application for performance management reasons depending upon the number of application users being served by the application and/or PP module.
  • the prize draw (PD) module (A10) manages the prize draws (e.g., the selection of a winning ticket or other benefit),
  • the PD module selects the winning rickets (i.e., tickets that have been provided to users in the form of benefits) and the selected tickets are analyzed in conjunction with the predetermined award criterion to determine an associated award, if any.
  • the PD module also handles award distribution (e.g., payment, delivery, and donation) as well as the distribution of benefits for those associated with the award winner.
  • the PD module may award benefits such as tickets for the next or future draws to those users connected to the award winners (e.g., the users in the award winner's member list).
  • award activities may be omitted, substituted, and/or added without departing from the scope hereof.
  • the Mongoose multi-user chat module (A01) may be customized to send award related messages and data to users and to create special prize draw-related events for subsequent assessment by the PP module.
  • the rosters module (A02) can be customized to maintain specific contact lists that are not required for messaging but are required for the prize draw (e.g. Reverse Roster, Reverse Address Book, as described in greater detail herein).
  • the rosters module can also create special prize draw related events for subsequent assessment by the PP module.
  • the registration module (A03) can be customized so that at the end of the registration process, the benefit configuration data is read from storage S01 and sent to the user computing device such that during the "welcome sequence" of registration screens, the user will be shown how many benefits are provided for each usage and/or activity.
  • the administrative panel modules (A07.1, A07.2) enable the modules shown operatively coupled thereto to be controlled externally by non-developer or developer administrators to configure prize draws, including managing various aspects of configuration of the draw and available award payment (e.g., payment options, donation options, etc.).
  • the user computing device provides the user interface between Tengi application users and the prize draw or award information.
  • the TPD application executed by the user computing device can be configured to display award information including, but not limited to, the overall status of the draw or awards, the number of tickets or other benefits held, the details of awards won, and associated data such as the award rules.
  • the Messaging and TPD applications together use all four of the data storage depicted in FIG. 4, namely, S01 through S04.
  • data storage may be omitted or alternate storage may be added or substituted without departing from the scope hereof.
  • Messaging and TPD applications together may also use the following external third party services.
  • An Amazon Gift Code module (E03) interacts with the PD module (A10) so that award winners may receive awards in the form of an Amazon Gift Code, redeemable in a specific Amazon online store (e.g., for UK users, codes are redeemable at
  • Amazon Gift Code module E03 for each Amazon store, although the API is common across all Amazon stores.
  • the Amazon Gift Code module E03 gets Amazon events from the events sub-module, gets gift codes from the Amazon API, and assigns the gift codes to awards, thereafter sending the assigned gift codes to the award winners via multi chat user module A01 or via SMS or Email services E01 and E02, respectively.
  • Localytics module E04 interacts with the PD module A10 and collects specific data from storage S01 on a per user basis, iterates the data over a set of users and sends the iterated data to a Localytics API.
  • the user computing devices may also incorporate one or more Localytics software development kits ("SDKs"), which also send data to Localytics.
  • SDKs software development kits
  • Localytics is an analytics and messaging service which enables aggregate monitoring and display of activity across the Tengi application and directs communication with groups of users defined by their activity (e.g., the functions of the Tengi application that they have used/not used, prizes the users have won, etc.).
  • the Crittercism module (E05) incorporates SDKs in the user computing device to send data to Crittercism.
  • Crittercism is a performance monitoring service that enables recording and analysis of application crashes and other related data to help optimize the Tengi application and its overall capabilities. However, other performance monitoring tools may be substituted without departing from the scope hereof.
  • the Flurry module (E06) incorporates SDKs in the user computing device to provide advertisements for display to users during use of the Tengi application.
  • the Fiksu module incorporates SDKs in the user computing devices to provide attribution data for the Tengi application's outbound marketing campaigns so that a new user that installs the Tengi application can be attributed to a particular advertising campaign, website or network.
  • the Adjust module incorporates SDKs in the user computing devices to provide attribution data for the Tengi application's outbound marketing campaigns and to monitor the user's subsequent behavior. This allows a new user that installs the Tengi application to be attributed back to a particular advertising campaign, website or network, and to assess the value of the new user in correlation to the campaign, website, or network from which the user was derived.
  • Graphite is a tool for monitoring and graphing the performance of computer systems. Here, it gathers metrics from the server hardware and software applications used by the Tengi application, although an alternate monitoring tool may be used without departing from the scope hereof.
  • Cabot is a monitoring and alerting server that monitors Graphite metrics and can send alerts related thereto via SMS or email as discussed above (via the interaction of the Cabot software with SMS module E01 and Email module E02). It can be used to enable alerts based on one or more metrics passing predefined thresholds, and it manages the communication of alerts to system administrators, although other monitoring and alerting tools may be substituted without departing from the scope hereof.
  • Grafana (A22) is a general purpose Graphite dashboard that enables easy metric and function editing, and fast client side rendering. Here, it can be used to provide visualization of metric data for manual checking and analysis. However, alternate metric data visualization tools may be substituted without departing from the scope hereof.
  • Management server (A23) that creates awards and manages their data flow within storage S01 when the prize draw report has been confirmed by an administrator.
  • the system also comprises other aspects, such as server clustering, load balancing, and inter-application or inter-server communications protocols. But because those aspects are well known in the art and do not serve to explain the herein disclosed systems and methods, they will not be discussed further here. [00109] Further aspects of the exemplary Messaging and TPD application will now be disclosed in greater detail. As used hereinafter, the term "benefit" signifies something of value that is given to a user based on their ordinary usage of the application for its stated purpose.
  • a benefit may also or alternatively be obtained by a user based on a characteristic of the user's own usage of the system and/or on a characteristic or benefit of the user's contact list friends' usage or benefits.
  • the benefit to the user is realized as tickets that represent chances to obtain an award in a prize draw.
  • the tickets of a plurality of users are included in a prize draw, and one or more of the tickets are randomly selected as the winning ticket(s).
  • the award(s) are prize(s) won by the user associated with the winning ticket(s).
  • the prizes may include money, gift cards, donations to charity on behalf of the user, or anything else that provides value to the winner.
  • the Tengi application is capable of running single discrete prize draws, a series of contiguous repeating prize draws, or multiple instances of one or both types simultaneously, all with differing configurations and rules.
  • the depicted embodiment of the present invention includes prize draws for individuals.
  • Each user of the Messaging application is automatically entered into the main prize draw, subject to certain criterion.
  • the main prize draw runs on a weekly repeating basis, with start and finish times at 7pm on Fridays, for example.
  • Each entrant in the draw can have one or more chances to win benefits (e.g., tickets). These benefits are given according to certain configurable rules or predetermined benefit accrual criterion. Each benefit has an equal chance of winning a prize.
  • the prize draw for an individual user incentivizes the user to grow his or her network of Tengi friends and to use the Messaging application because tickets are given based on these activities.
  • the Tengi application requires users to declare which state and country they "belong to" as a condition of membership. Illustratively, one can be deemed to belong to a state or country if it is his or her domicile, or if he or she have a residence there. Once a country is declared, the award values are shown in the currency of the selected country, and the rules and agreements are shown in the local language, with appropriate modifications made as necessary to satisfy local regulations. These settings override any regional settings on the user's computing device. Award payment methods are set individually for each country, as some claim methods may not be available in some countries.
  • Additional aspects of the present invention may include prize draw for groups.
  • users of the Messaging application may also be enabled to set up groups, and then send and receive messages to and from the whole group.
  • Group messaging is an important driver of application activity, and it is a reason for users to stay loyal to an application once using it (as it is much harder to encourage a whole group to use a different messaging application as compared to an individual user). Therefore, in addition to the prize draw for individuals, the Tengi application may include a prize draw for groups.
  • Group tickets may function in a way similar to individual tickets, but with some important differences. Each group ticket will have an equal chance of winning a prize, but the inclusion criterion for entry and rules for giving group tickets will differ from those for individual tickets. Group draws may also have special mechanisms for payment of prizes as described in greater detail below.
  • the Tengi application may also include special prize draws for other friends of users of the Messaging application with shared characteristics. For example, in addition to the main prize draw for individual users, the Tengi Application also provides the capability to enter specific friends of users into special draws, for example for specific promotional or motivational purposes, or to have different draws for different countries. These special draws may have their own configurations, rules, etc. and can run in parallel with other prize draws. All variables that apply to regular draws may also apply to special draws or such variables may be altered without departing from the scope hereof.
  • the setup of prizes in the main prize draw may be as follows.
  • the number and value of prizes (hereinafter “Prize bands") may be set up in advance of the draw.
  • the award values within each prize band may be preset for the currency of each country in which the prize draw is running.
  • the number of awards may be global, i.e., a predetermined quantity of awards may be issued for all countries participating in the prize draw(s). For example, if the predetermined awards are four (4) £250 awards, 1 winner might come from Germany, 2 from the UK and 1 from USA, but there will always be exactly 4 winners.
  • the awards will be displayed in the currency of the corresponding country.
  • the prize bands might appear as: 1 x £10,000 award, 4 x£50 awards, and 900 x £5 awards, whereas for a Tengi user based in Germany, the same prize bands would display, but with the award values in Euros rather than Pounds Sterling, e.g., 1 x €13,600 award, 4 x €340 awards, and 900 x €7 awards.
  • each prize draw may also have a "reserve list", which is a non-winning prize band which forms a list of users to whom awards can be awarded if they are not claimed within the required period or if the original winner breached the predetermined award criterion (e.g. by collecting suspiciously large numbers of benefits, by being below the minimum age, etc.).
  • Each prize band may also have a set of allowed award payment methods. Exemplary methods include: manual or in person delivery (for large value awards), issuance of Amazon credits or gift cards, automatic transfer of monetary awards into the user's bank account via wire transfer or the like, and donation of the award to a charity on behalf of the winning user.
  • a specific charity may be nominated for each prize draw or the charity may be selected by the winning user. For the former, all awards donated for that specific prize draw will be transferred to the single nominated charity.
  • a different charity can be nominated separately for each prize draw.
  • a different charity may also be nominated for each country in which the prize draw operates.
  • the prize draw parameters and/or predetermined award criterion may be altered without departing from the scope hereof.
  • Additional prize draw aspects may include the following.
  • Prize bands or all prize bands
  • awards could be any item of value, rather than cash.
  • different payment methods may be introduced depending on what is both popular and technically feasible in the countries in question.
  • Award distribution methods may be enabled on a per country basis. More than one charity can be nominated for each prize draw, so that users can choose at the point of donation which charity they wish to receive their donation.
  • group prize draws may also have prize bands similar to the individual prize bands described above.
  • the main prize draw period may be configured to be one (I) week and it may repeat sequentially without lapse (i.e. the moment that one prize draw period concludes, the next prize draw period starts).
  • each successive prize draw inherits by default all the settings from the one preceding it.
  • These settings can be edited by an administrator for the next prize draw at any time prior to the start of that prize draw's application-use time period (i.e., the time period during which the user's usage accrues benefits or tickets for entry into the corresponding prize draw).
  • the settings for that prize draw can no longer be edited, but simultaneously the next scheduled prize draw is created and is available for editing prior to its start.
  • the start- finish time for the main prize draw periods should be consistent, for example, Fridays at 7pm GMT, and shall remain consistent until it is changed, for example, by an administrator. In the United States, for example, the duration of the draw period may be adjusted twice per year to take account of daylight saving time.
  • the start and finish time for the main draw is set by an administrator user with the appropriate permissions via the administrator panel.
  • Additional aspects of the prize draws may include the following.
  • a plurality of different prize draws can be run concurrently with different arrangements. For example, a one time draw may be set up (i.e., a single draw with a specific start and end time, which does not automatically repeat). Concurrent repeating draws can be set up to repeat with the same or different periods/durations and/or to execute the prize draw at the same time or different times. Alternatively, conditional draws can be set up to start and finish based on
  • predetermined conditions rather than at a set time (e.g., when a certain number of users have started using the Tengi application).
  • the Tengi application prize draw is only available to users of the application, which may be made freely available to anyone with a computing device.
  • the application may be downloadable from the Google Play store, Windows store, or the ITunes application store.
  • the user may accrue benefits that may be entered into the prize draw automatically each prize draw period.
  • a user may accrue benefits in accordance with predetermined benefit accrual criterion.
  • the benefits and the user must meet certain predetermined benefit qualification criterion and user qualification criterion, respectively.
  • predetermined benefit accrual criterion includes, but is not limited to: one (1) ticket per prize draw for keeping the Tengi application installed during the corresponding application-use time period; one (1) ticket for each day that the user uses the Tengi application during the corresponding application-use time period; eight (8) tickets for each member in the user's member list that started using the Tengi application during the corresponding application-use time period; two (2) tickets for each Tengi "friend" on the user's member list that won a prize in the previous prize draw; and one (1) ticket for every fifteen (15) minutes that the user uses the Tengi application (i.e.
  • the numerical variables for each of the predetermined benefit accrual criterion can be changed on a per prize draw basis and may be set by an administrative user who has the appropriate permissions via, for example, an administrative panel as discussed in greater detail above.
  • a predetermined quantity of tickets or other benefits may also be provided to a user for activities such as first time registration with the Tengi application or actions performed via the messaging application including, but not limited to, sending a message (of any type or a specific type), receiving a message (of any type or a specific type), starting a messaging group, being added to a messaging group, and inviting someone to register with the Tengi application.
  • the predetermined benefit accrual criterion also includes criterion for awarding benefits to users in a messaging group.
  • benefits may be summed from the benefits given to the individual members of the group for their individual activities and/or may be given for activities related to the messaging group including, without limitation: time spent by individual group members in the group chat or profile screens; quantity of messages sent within the group (messages of any type or a specific type); forming a group; adding a user to the group; and increasing the size of the group relative to the application-use time period associated with the prior prize draw.
  • the predetermined benefit qualification criterion include the requirement that the user must log into the application at least once during the a predetermined application-use time period associated with the prize draw to qualify the benefits for participation in the prize draw, otherwise any benefits or tickets awarded to the user will not qualify for participation in the current or future prize draws and will be permanently forfeited. That is, a user must login to the application (that is, have an authenticated session open with the Tengi application server or a peer computer) at least once within the application-use time period associated with the current prize draw in order for the user's benefits or tickets to qualify for inclusion in that prize draw.
  • any tickets or other benefits given to the user for use in the current prize draw e.g., tickets or benefits received from friends on the user's member list winning awards in the previous prize draw
  • any tickets or other benefits given to the user for use in the current prize draw e.g., tickets or benefits received from friends on the user's member list winning awards in the previous prize draw
  • excess tickets that exceed a predetermined maximum ticket quantity as determined by the benefit qualification criteria will not qualify for the current prize draw but may be carried over into the next prize draw.
  • excess tickets are forfeited and/or the quantity of excess tickets is limited.
  • users must also meet predetermined user qualification criterion in order to enter benefits into a prize draw and/or receive awards from a prize draw.
  • these user qualification criterion include, but are not limited to: users who do not have at least one (1) Tengi "friend" cannot win a high value prize; employees of the provider of the Tengi application and their families and employees of businesses associated with providing the Tengi application cannot participate in prize draws; users who request account deletion are no longer eligible for participation in prize draws and any tickets or other benefits previously provided to the user will be invalidated.
  • predetermined user qualification criterion and rules for participation are merely exemplary and individual criteria may be omitted or new criteria may be added or substituted without departing from the scope hereof.
  • a user may be required to have any number of Tengi friends in the user's friend/member list and/or may have been required to send at least one message during the application-use time period associated with the prize draw in order to collect an award .
  • predetermined benefit accrual criterion is also defined in order to determine how many benefits will be provided for meeting predefined accrual criterion. That is, in the depicted embodiment, in order to win an award, the user must meet both the predetermined qualification criterion and the predetermined benefit accrual criterion; however, alternate embodiments are envisioned in which the user may win an award by meeting only the predetermined qualification criterion or the predetermined benefit accrual criterion.
  • application users can check benefit status at any time via the Tengi application. More specifically, when a user logs in and begins an authenticated messaging "session" through the application, the current benefit status is sent from the server or peer computer to the application for display on the user's computing device.
  • Current benefit status information and related information displayed to the user may include, but is not limited to: the total number of benefits the user currently has; the number of benefits accrued in each category (see predetermined benefit accrual criterion above for categories); the number and value of the different awards available, typically presented in the currency of the user's chosen country; the total number of award winners; the total amount awarded; the date when the Tengi application began providing awards; and the time remaining until the current prize draw finishes.
  • the screen of current benefit status information and related information may depend on the configuration of the current, ongoing prize draw, and can vary between prize draws.
  • the criterion for giving benefits including both the rules for giving benefits and the number of benefits given in each category, can also vary between prize draws as discussed above.
  • the application will regularly update current benefit status information and related information while the user has an authenticated session open with the server or a peer computer.
  • This information listed above is merely exemplary and information may be omitted or alternate information may be added or substituted without departing from the scope hereof.
  • the messaging application sends users automated messages as a result of the following events: winning an award; one or more friends winning an award (thus, the notified user is provided with benefits for the next draw); and a user's friend registering with the Tengi application (thus, the notified user is provided with "Friends joined" benefits for the next or current prize draw).
  • notifications are merely exemplary and notifications may be omitted or alternate notifications may be added or substituted without departing from the scope hereof. For example, notifications could be sent to notify users that they have new benefits in other categories than those originally listed or as a result of other events or circumstances (e.g. time countdown to the prize draw).
  • the TPD application automatically processes all tickets that were given during the corresponding application-use time period to be included in the prize draw (bearing in mind that ticket-processing is implemented via a queuing system and is therefore not instantaneous). Once all tickets that should have been given within the prize draw's corresponding application-use time period have been processed, the winning tickets are selected at random according to the specific configuration of prizes previously set for this draw (i.e., the "prize bands" as described above).
  • the specific configuration of prizes previously set for this draw i.e., the "prize bands" as described above.
  • winning benefits or tickets are chosen for the prize bands in decreasing order of value (i.e., the tickets associated with the largest prizes are selected first).
  • Each ticket has one chance of winning a prize, and each user can win more than one prize within a single prize draw. Once a ticket has won one prize, it cannot subsequently win another.
  • the application compiles data regarding the winning tickets in a "draft prize draw report" for review by an
  • the draft prize draw report is confirmed and the results are communicated to the winning users.
  • This method of selecting winning benefits is merely exemplary and steps thereof may be omitted or alternate steps may be added or substituted without departing from the scope hereof.
  • users could be restricted to winning only one (1) prize per prize draw (i.e., once the user associated with the winning ticket has won a prize, the user's remaining tickets (if any) are invalidated and removed from the prize draw, and prizes could be picked in any order, or in a random order, rather than in order of decreasing value).
  • Data about the prize draw (e.g., the total amount awarded and the total number of winners) is updated and communicated to users via the application or SMS or email messages sent via the application. And, award winners will see special screens when using the application that enables them to claim their awards as described in greater detail below.
  • This method of communicating prize draw results is merely exemplary and steps thereof may be omitted or alternate steps may be added or substituted without departing from the scope hereof.
  • details regarding the award winners can be published externally (e.g., on a website or via other channels that comply with local regulations), and such publication may be for all winners or for only those that meet certain criterion (e.g., winners from a specific country, or state or region within a country). And, non-winners could also receive a message regarding the prize draw results.
  • the depicted embodiment of the present invention provides benefits or tickets to users who are connected to the award winners ("friend winners") in accordance with the predetermined benefit accrual criterion discussed above. These tickets may be entered in the then current prize draw. And, the benefit recipients may receive messages from the application in a similar manner as the award winners as discussed above. In an alternate embodiment, users who are connected to the friend winners may also receive benefits.
  • large value awards are provided manually to allow award administrators to collect more information about the winners prior to providing the winners with the corresponding awards. For example, this information may be acquired by contacting the winners directly via telephone or the like rather than through the application. In such scenarios, the winning users simply have to confirm through the application that they expect a phone call from personnel associated with the application provider.
  • the method of distribution may be via issuance of Amazon credits or gift cards, automatic transfer of monetary awards into the user's bank account via wire transfer or the like, and donation of the award to a charity on behalf of the winning user.
  • These smaller value prizes can be collected by users by following a sequence of screens within the application, the availability of which depends on the payment methods previously configured for the prize band in question. Users have the option to choose a payment method for each prize won. Once the user has made this initial choice, the process proceeds in accordance with the method chosen.
  • the Amazon payment method enables the user to receive an Amazon Gift Code valid in the user's country, via a message from the Tengi application (e.g., SMS or email message).
  • a message from the Tengi application e.g., SMS or email message.
  • United Kingdom users will receive a code valid for Amazon.co.uk; German users will receive a code valid for Amazon.de; French users will receive a code for Amazon.fr; U.S. users will receive a code for Amazon.com; and so on for each country in which Amazon runs its service and has a Gift Code API available.
  • the user will immediately receive a message from the Tengi application containing the Gift Code and instructions for how to redeem it.
  • the bank transfer payment method enables the user to receive award payment directly into his or her bank account and it is implemented by a bank transfer sub-module, which obtains bank payment events from the events sub-module, prepares bank transfer data for CSV export, and produces the CSV export file when triggered by the watcher sub- module.
  • the bank transfer sub-module also sends bank transfer confirmation notifications to multi user chat module A01 for transmission to the associated user when bank transfer events have been processed.
  • the user After selecting the bank transfer method, the user is asked to enter his or her bank account details (e.g., in the UK, these details include sort code and account number in the standard formats) and confirm same. The user then receives a confirmation message from the application.
  • the application produces an output file each day (shortly after midnight) which contains details of each user that has selected this payment method, together with the user's bank account details, a unique reference number, and the payment amount.
  • the output file is in a standard SAGE format (comma separated values, with standard columns and data fields enclosed by double quotes).
  • Bank transfer formats will vary depending on the country selected by the user.
  • the bank account detail screen within the application is configured according to the country designated by the user during account registration, and an output file is generated for each country each day. However, alternate methods and/or time periods may be substituted without departing from the scope hereof.
  • the donation payment method enables the user to donate his or her award to a selected charity. After selecting this method, more details of the charity are displayed, along with the option for the user to enter his or her email address to receive follow-up information from the charity to which the award will be issued. The user is asked to confirm the choice to donate his or her prize. The user then receives a confirmation message from the application (e.g., from a server or a peer computer). The application produces an output file each day (shortly after midnight) which contains details of each user that has selected to donate his or her prize to the specified charity, together with his or her contact details and preferences (e.g., whether it is ok to contact the user via email for follow-up information).
  • the application e.g., from a server or a peer computer.
  • the application produces an output file each day (shortly after midnight) which contains details of each user that has selected to donate his or her prize to the specified charity, together with his or her contact details and preferences (e.g., whether it is ok to contact the
  • This output file is then passed on to the charity for its records and for processing.
  • the selected charity may vary depending upon the country selected by the user.
  • An output file is generated for each charity each day (if multiple charities are enabled). However, alternate methods and/or time periods may be substituted without departing from the scope hereof.
  • the application may provide export formats to banks or the like capable of processing the formats into prepaid debit cards, which are then distributed to award winners.
  • Group Prizes may also be awarded to the individual user members of messaging groups and such prizes can either be shared among the members of the group (that is, those users who belonged to the group at any point during the application-use time period associated with the prize draw) or donated to a charity on behalf of the group users.
  • the award option is set by the group owner and is determined by the setting in effect at the end of the application-use time period associated with the prize draw. In the depicted embodiment, this option can be changed at any time, but the choice in effect at the end of the application- use time period associated with the prize draw will govern distribution of the award.
  • the group owner (and possibly the other members of the group, depending on the option selected) see screens and perform processes similar to those described above for individual user who win awards, similarly depending on the payment method selected for the group prize band.
  • Uncollected awards can be reassigned to people from the reserve list as discussed above, after the collection time period for those awards has expired.
  • the duration of the collection time period is defined in the prize draw rules.
  • prize draws are regulated by law in most, if not all, countries worldwide, mostly at a national level but sometimes at a state or regional level. In some jurisdictions, prize draws of the type described herein are illegal, In such scenarios, the TPD application will be disabled but the messaging or other application may still be provided to users in jurisdictions in which the TPD prize draws are not allowed.
  • a prize draw is set up and edited by an administrator prior to activation.
  • An access control system is implemented via the application's administrative panel which restricts modification of the prize draw parameters and configuration functions to those administrators with the necessary security clearance.
  • the executor sub-module within the Prize Draw (PD) module manages the whole prize draw, iterates data over a plurality of users to create a data file containing a list of qualifying users and their associated benefits, then calls the draw sub- module to pick the winning benefits. Once the executor sub-module has the prize draw results, it passes them to the winners sub-module. During this process, the executor sub- module checks the qualifying credentials of users and removes any user accounts mat are locked or banned from participation in the prize draw. The executor sub-module also reads prize draw settings and creates new prize draws and scheduled prize draws.
  • a special prize draw this is created by request of an administrator.
  • the administrator can determine the following prize draw characteristics: the type of draw (e.g., one-off or repeating); initiation criterion may be set for starting of the application-use time period to be associated with the prize draw (e.g., time-based or conditional); inclusion criterion may be set (e.g., which users may participate in the prize draw); benefit accrual criterion may be set (the criterion for receiving benefits may be selected from the available options, which options may be determined by the type of prize draw); benefit qualification criterion may be set (the criterion for determining which benefits are eligible for inclusion in a prize draw, which may be selected from the available options, which options may be determined by the type of prize draw); user qualification criterion may be set (the criterion for determining which users are eligible to enter his or her benefits for inclusion in a prize draw, which may be selected from the available options, which options may be determined by the type of prize draw);
  • the settings for a new scheduled prize draw begin as a copy of the settings for a previous prize draw.
  • the administrator sets or amends the various settings for the scheduled prize draw via the administrator panel as discussed above.
  • These prize settings can include the following: start and end date and time; ticket limit per user; prize level settings (e.g., quantity of prize levels, quantity of winners in each prize level; prize values in each prize level on a per country basis; currency to display for each country; and available payment methods for each prize level.
  • the administrator also has the ability to modify settings related to benefits via the administrator panel such as, but not limited to, excess benefit (i.e., the quantity of benefits in excess of the maximum allowed in a particular prize draw); excess benefit carry over enabled? (Yes / No); maximum number of excess benefits allowed to carry over from previous draw; quantity of tickets issued to a user when a friend registers for the application; quantity of tickets issued to a user for a list member winning an award; quantity of tickets issue to a user for accessing the application for the first time each day; quantity of tickets issued for duration of time of use of the application by a user as measured in seconds;
  • the user computing devices may be equipped with client software that enables the following set of TPD related features at the user computing device: display of current benefit status (e.g., total benefits available to the user, benefits by category, or the like), which may be visible to the user in the form of a counter displayed on the main navigation screen, the prize draw screen, and/or the benefit details screen; display of benefit accrual criterion for earning tickets for one, some or all categories, which may be visible on welcome screens; display of 'Tell people about Tengi" displays which may be included in chat list, contacts, prize draw and/or settings screens; display of "Tell people about Tengi” method choice screens; display of 'Tell people about Tengi” confirmation screens; display of "Ways to get tickets” screens; display of "How we keep score” screens; implementing the prize draw configuration which is visible to the user on the Prize Draw screen; displaying the "Tell people about Tengi" pre-filled invitation text and images which are visible to a user in screens provided by other communication applications;
  • FIG. 5 depicted is a flow chart showing how, once a prize draw has started, benefits are provided via a process 500.
  • the flow begins at 500, at which the application-use time period begins. Once the application-use time period has begun, the application will generate benefit-related events at 502, including, without limitation:
  • User_session_duration (with parameter “starting") - triggered when multi user chat module A01 receives the "chatting started” IQ sent from the user computing device when a user enters a chat screen (either the chat list or the chat pane).
  • this event is processed by PP module A09, it begins tracking time for use of the messaging application and it triggers checking for user activity in the current prize draw in order to provide benefits for use such as duration of use of the messaging application and days of use of the messaging application;
  • User_session_duration (with parameter “stopping") - triggered when multi user chat module A01 receives the "chatting stopped” IQ, sent from the user computing device when a user leaves a chat screen for a non-chat screen.
  • PP module A09 When these types of events are processed by PP module A09, it adds time for use of the messaging application;
  • PP module A09 When these types of events are processed by PP module A09, it results in the providing of "Friends Joined” benefits (subject to certain conditions being met as otherwise discussed herein);
  • Amazon sub-module within the PD module A10 it results in the delivery of a valid gift code in a message sent back to the requesting user;
  • the bank transfer sub-module within the PD module A 10 it results in the addition of a payment request item (including the bank details provided by the user) to the appropriate daily export file; and
  • the charity sub-module within the PD module A 10 it results in the addition of a donation record item (including any contact preferences and details provided by the user) to the appropriate daily export file.
  • the benefit-related events are stored in storage such as storage S03 (FIG. 4).
  • an AMQP sub-module of the PP module A09 registers the events generated at step 502 and passes them to an Events sub-module of the PP module A09 (FIG. 4), which processes the events at 508 to create benefits according to the predetermined benefit accrual criterion such as those discussed above and as set by an administrator for the current prize draw.
  • the triggers listed above do not create benefits but they will still be passed to the events sub-module of the PP module A09 (FIG. 4) for processing.
  • the event sub-module processing also takes account of the prize draw application- use time period events which occurred during the prize draw application-use time period and will result in benefits being provided for that prize draw. Once a prize draw application-use time period concludes, all events that occurred within that application-use time period will be processed, and event processing will pause until the benefits for prior prize draws have been collected by the executor sub-module of the PD module A10 and a new prize draw has been fully initiated. Benefits are written to a "user points map" table which may be stored in storage S01.
  • a winners sub-module within the PD module A 10 provides tickets (according to the predetermined benefit accrual criterion as set for the previous prize draw) to the friends of the award winners confirmed at 503. Thereafter, at 510 (which may be accessed from 505 or 508), benefit data is stored in storage such as storage S01 (FIG. 4).
  • FIG. 6 depicted is a flow chart showing a method of concluding a prize draw once its application-use time period has ended.
  • the method begins at 602 when the watcher sub-module of the PD module A10 (FIG. 4) determines that the application-use time period associated with the prize draw has ended.
  • the watcher sub- module is also responsible for determining when a prize draw should be run (i.e., for the end of the period) and when Comma-Separated Value (“CSV”) data for bank transfers and donations should be generated.
  • CSV Comma-Separated Value
  • the executor sub-module of the PP module A09 obtains all benefits and processes the queue of benefits (also ensuring that the queue of old events has been fully processed).
  • process 600 proceeds to 606, at which the executor sub-module of the PD module A10 (FIG. 4) iterates the processed benefits over all users and assembles a data file containing the benefit details of all qualifying users.
  • the executor sub-module of the PD module A10 (FIG.4) works in conjunction with the settings module of the PD module A10 (FIG. 4) to read the settings of the scheduled PD, create a new PD, and then copy the read settings to the newly scheduled PD.
  • the draw sub-module of the PD module A10 processes the data file created at 606 including the user and ticket information, and selects as many winners as are specified by the PD settings.
  • the winners are selected via execution of an interval tree algorithm as described herein, but alternate methods may be substituted without departing from the scope hereof.
  • the interval tree algorithm may be written external to the messaging or TPD applications, for example, in a programming language such as C.
  • the draw sub-module stores the details of the winners to storage such as storage SOI (FIG. 4).
  • the winners sub-module of PD module A10 (FIG. 4) prepares the draft prize draw report and communicates same to the PD administrator and manages the interaction between the PD administrator (via the administrator panel computing device FIG. 4) and the draft prize draw report, until the point of confirmation of the report by the administrator.
  • the management sub-module of PD module A10 creates the awards and writes their details to storage such as storage S01 (FIG. 4) at 616.
  • the winners sub-module of PD module A10 transmits award data to award winners and benefit data to benefit recipients.
  • This data may be sent via multiuser chat module A01 and it may include awards being awarded to award winners as well as benefits provided to the friends of the award winners (e.g., those users in the reverse roster of the prize winners, de-duplicating as necessary).
  • the awarding of benefits to friends of award winners is completed by the events sub-module of PD module A10 (FIG. 4), which also writes the data to storage such as storage S01 (FIG.4) at 618.
  • Step 618 also triggers the Localytics module to send data from the confirmed prize draw report to Localytics via the Localytics API E04 (FIG. 4).
  • the AMQP sub-module of PD module AIO (FIG. 4) then monitors storage such as storage S03 (FIG.4) at 620 for prize-related events and passes such events to the events sub- module of PD module AIO (FIG.4) for processing.
  • This processing includes delivering events to other modules or sub-modules and writing new "Friends Won" benefits to the user points map stored in storage S01.
  • the winners sub-module of the PD module AIO (FIG. 4) responds to prize events to change statuses of prize awards.
  • the Amazon, bank payments, and charities sub-modules of the PD module AIO (FIG.
  • the PD administrator can continue to interact with the confirmed PD report via the administrator panel and the winners sub-module of the PD module A 10 (FIG. 4) to control the statuses of specific prizes, and to send messages to all prize winners or other benefit recipients.
  • FIG. 7 depicted is a diagram of a process 700 of adding data about a new contact to a user's address book or roster, and the process that occurs when this new contact subsequently registers with the Tengi application as a friend of the current user, and subsequently wins an award.
  • Process 700 begins at 702 at which user A of the new application adds person C to his or her phone contacts, wherein person C is not necessarily a user of the application.
  • the address of person C is added to user A's address book and thereafter, at 706, user A is added to person C's reverse address book or RAB as discussed above since person C is in user A's address book.
  • person C is added to user A's roster and thereafter, at 710, user A is added to person C's reverse roster or RR as discussed above since person C is in user A's roster.
  • person C joins Tengi (i.e., creates a user account with the Tengi application).
  • the event of person C registering with the application triggers the PP module A09 to parse the reverse roster for person C and to award benefits to those users in the reverse roster (i.e M users A and B).
  • this event triggers the winners sub-module of PD module A10 to parse the reverse roster for person C and to award benefits to those users in the reverse roster (i.e., users A and B).
  • FIGS. 8A-8G depict exemplary screenshots showing some of the TPD related displays displayed on the user's computing device as described herein.
  • FIG. 8A depicts display 802 of prize draw related official communications issued by the provider of the Tengi application (e.g., news or status updates related to the application) and display 804 of current benefit status (e.g., quantity of tickets earned).
  • FIG. 8B depicts display 806, an in-context display of benefit accrual criterion or a portion thereof.
  • FIG. 8C depicts display 808 of prize draw configuration data or a portion thereof including, without limitation, time remaining until the next prize draw, prize values and quantities, and total value of all awards given away since the first award.
  • FIG. 8A depicts display 802 of prize draw related official communications issued by the provider of the Tengi application (e.g., news or status updates related to the application) and display 804 of current benefit status (e.g., quantity of tickets earned).
  • FIG. 8B depicts display 806, an in-context
  • FIG. 8D depicts display 810 of current benefit status and a breakdown of benefits per category.
  • FIG. 8E depicts display 812 of prize draw configuration data or a portion thereof including, without limitation, benefit accrual criterion.
  • FIG. 8F depicts display 814 of a notification of an award win to the winning user and display 816 of an icon that the winning user selects to initiate collection or payment of the award won.
  • FIG. 8G depicts display 818 of options for payment or other distribution of an award and display 820 of a donation option for donating an award to charity.
  • FIGS. 9A-9N depicted are examples of screens available to an administrator via an administrator panel.
  • FIG. 9A shows prize draw settings for a current prize draw that cannot be changed since the application-use time period associated with the current prize draw has already started.
  • FIG. 9B shows prize draw settings for future prize draws that can be edited up to the moment that the previous prize draw completes and the new prize draw time period begins.
  • FIG. 9C shows a list of available prize draw reports.
  • FIG. 9D shows a prize draw report that has been confirmed by an administrator.
  • FIG. 9E shows the section of a prize draw report depicting the reserve list as described in greater detail above.
  • FIG. 9F shows a data entry screen for sending a bulk message to all award winners from the prize draw that match certain criterion.
  • FIG. 9G shows an edit screen for editing prize draw information or settings.
  • FIG. 9H shows a data entry screen for enabling and disabling prize payment methods on a per country basis.
  • FIG. 91 shows a list of users banned from participation in the prize draws.
  • FIG. 93 shows a list of charities available for award donation.
  • FIG. 9K shows a data entry screen for adding a new charity for donation thereto.
  • FIG. 9L shows a data entry screen for updating the static information associated with each country.
  • FIG. 9M shows a screen for setting automated prize draw message images on a per country basis.
  • FIG. 9N shows a list of downloadable bank transfer CSV files and action buttons that allow an administrator to send message to users associated with those files.
  • the workings of the draw sub-module of the PD module A10 will now be described.
  • the first stage of the process is for the draw sub-module to prepare a data file containing the full list of users eligible to enter their benefits or tickets into the current prize draw and the number of benefits or tickets held by each eligible user.
  • the objective of the draw sub-module is to draw one or more winning tickets in the most efficient way.
  • the prize draw configuration i.e., the prize levels and the number of winners to be chosen for each level including the reserve list
  • the settings sub-module which interacts with the draw sub-module.
  • the process of picking winning tickets is as follows. Assume user 1 has Tl tickets; user 2 has T2 tickets, and so on. The process starts by giving each ticket a number in such a way that user 1 has tickets with numbers from 1 to Tl, user 2 to has tickets with numbers from Tl +1 to Tl + T2 and so on.
  • each user ticket is assigned to an interval of tickets. We can use the assigned numbers to construct an interval tree, which will allow us later to quickly find the owner of the winning ticket.
  • the leaves in the interval tree will have the values of the current user's tickets number and all sum of all tickets for previous users. It means the value of first leaf will be Tl, of the second Tl + T2, of the third Tl +T2 +T3 etc., the last will be N.
  • the following example includes 10 users, and picks one winning ticket among the lot.
  • the same logic applies for picking winning tickets for a prize level also when picking multiple tickets/ winners for each prize level.
  • the algorithm is run sequentially to pick the winning users.
  • FIG. 10A is a table showing the number of tickets held by 10 users that will be input to the Prize Draw Algorithm to pick one winning ticket.
  • FIG. 10B shows, based on the input of FIG. 10A, the Number Generator creates "sequential numbers" to be associated to a ticket and the "Interval Tree Algorithm” creates "Intervals" and Tree Leafs to construct the Interval Tree.
  • FIGS. 11 A shows an exemplary tree structure diagram constructed using the Interval Tree algorithm.
  • the number generator generates a random winning ticket number.
  • the Interval Tree algorithm runs over the top of the Interval Tree to pick the winning ticket. The following three scenarios of winning tickets are described to explain how it works.
  • FIG. 1 IB relates to scenario I - winning ticket number "23".
  • the winning ticket value is compared to Value (B), i.e, "23” compared to "103". Because 23 ⁇ 103, the search goes to node on the left, which is D.
  • the winning ticket value is now compared to Value (D), that is, "23” compared to "46". Because 23 ⁇ 46, the search proceeds to the node on left, which is G.
  • the winning ticket value is compared to Value (G), i.e., "23” compared to "21”. Because 23>21, the search goes to node on right, which is H.
  • Winning ticket value is compared to Value (H); "23” compared to "46". Because 23 ⁇ 46, the search goes to the node on the left, which is O. If node "O" is the bottom of the tree, pick that leaf to be the winner. From the leaf, the algorithm works backward to find the tree interval and from there the user of that interval. Here, the winner is "User 3".
  • FIG. 1 IC relates to scenario ⁇ - winning ticket number "103".
  • Winning ticket value compared to Value (B). i.e., "103" compared to "103".
  • 103 103.
  • D Value
  • E Winning ticket value is compared to Value (E), "103” compared to "103".
  • 103 103. If the result is "equal”, an additional check is done to compare node on the left, which is I, to the winning ticket number.
  • FIG. 1 ID relates to scenario III - winning ticket number "113".
  • Winning ticket value compared to Value (B). i.e., "113" compared to "103". Because 113 >103, search goes to the node on right, which is C. Since C does not have node on left, the search skips to node F.
  • Winning ticket number is compared to Value (F), "113" compared to "122". Because 113 ⁇ 122, search goes to left node, which is K. Winning ticket is compared to Value (K), "113” compared to "122”. Because 113 ⁇ 122, search goes to left node, which is U. Winning ticket is compared to Value (U), "113” compared to "112".
  • search goes to right node, which is (V). If it is the last node in the tree, pick the leaf to be the winner. From the leaf, the algorithm works backward to find the tree interval and from there the user of that interval. Here the winner is "User 10".

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Systems and methods for enticing users to use a new application, for enticing users to continue using an existing application in lieu of switching to a competitive application, and/or for enticing users to switch from an old application to a new replacement application. The application may be a social networking application, such as a chat application. The system provides benefits for ordinary usage of the application and for inviting others to use the application, and automatically keeps track of usage, invitations, and incentives. The benefits may be in the form of tickets which are entered into periodic prize draws, with awards being automatically distributed to the users associated with the winning tickets.

Description

TITLE OF THE INVENTION
[0001] Apparatus, System, and Method for Applications with Enticements
COPYRIGHT NOTICE
[0002] Portions of this patent document contain material which is or may be subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyrights whatsoever.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0003] This application claims the benefit of the U.S. provisional patent application entitled "INTERNET MESSAGING AND PRIZE DRAWING SYSTEM" having serial no. 62/127,522, filed March 3, 2015, which is hereby incorporated by reference in its entirety as if fully set forth herein.
BACKGROUND OF THE INVENTION
[0004] The Internet is a global system of interconnected computer networks, i.e., a network of networks, that links billions of devices worldwide. It comprises millions of private, public, academic, business, and government networks of local to global scope, linked by a broad array of electronic, wireless, and optical networking technologies. The Internet provides access to an extensive range of information resources and services such as inter-linked hypertext documents and databases, and applications such as World Wide Web ("web") browsers, electronic mail, and the like. The information, resources and services are most commonly accessed using personal computers (PCs), smartphones, tablets, and the like.
[0005] Devices communicatively coupled to the Internet communicate using essentially the same set of protocols, collectively referred to herein as the Internet Protocol (IP) suite.
Although the IP suite has been in use by academia and the military since the early 1980s, it wasn't until the 1990s that the technology became popular with the public. In the late 1990s and 2000s, many attempts were made to commercialize and monetize the Internet, using various approaches. Very many, perhaps even most, of these attempts and approaches proved futile, and fortunes were lost and made as the Internet continued to develop. [0006] Eventually, Internet-based business models and methods were developed that proved advantageous over prior practices. Such Internet-related services and technologies have been developed for virtually every aspect of contemporary life. The many early attempts to monetize the Internet have been honed and refined, and there are now quite a few well- established and enormously profitable business models that take advantage of its capabilities. The businesses of many of the early visionaries that recognized workable, profitable ways to use the Internet have quickly developed into some of the largest and most valuable companies in the world.
[0007] Because of this, a more recent challenge has arisen. That is, it can be difficult to build and develop new businesses using well-tested profitable models. That is because the entrepreneurs that first discovered and developed such businesses have nurtured their growth and expanded their scope until now, the largest of those businesses dominate and permeate their respective business sectors. As such, they have become difficult to compete with using only the well-tested models. Moreover, new applications may have trouble gaining recognition and acceptance due to the dizzying number of applications already available. Similarly, the quantity of applications available puts pressure on existing application providers to implement systems and/or methods to help retain, and hopefully expand, their existing user base. If entrepreneurs are to continue to recognize and develop new business opportunities, and if existing businesses are to retain and grow their existing user base, new ways to profit from the vast potential and resources of the Internet by attracting and/or retaining users must be invented.
BRIEF SUMMARY OF THE INVENTION
[0008] The present invention relates generally to apparatus, systems, and methods for enticing users of computing devices to use a new network-enabled application, to continue using an existing application (rather than switching to a competing application), or to switch from an existing network-enabled application to a new, competing application that provides one or more substantially identical functions. In an exemplary embodiment, the application may be a social networking application, such as a chat/messaging application, although the invention may be applied to any Internet- or other network-enabled application. Incentives are provided for ordinary usage of the new, existing, or replacement application, and for inviting others to use it. The invention automatically keeps track of application usage, invitations, and incentives. (In this context, the term "new application" indicates the application has not been used before by this user or the user is not currently registered; it does not mean the application has only recently become available for use.)
[0009] Briefly stated, in one aspect of the present invention, a computer-implemented method of enticing a user to use a new, existing, or replacement application is provided. The method includes the steps of: offering, to a user, at least one award that may be earned by the user solely for using the application to perform at least one application function; monitoring usage of the application by the user; storing usage information of the usage in association with an application user account; providing to the user at least one benefit for the usage when the usage satisfies at least one predetermined benefit accrual criterion; storing benefit information of the at least one benefit in association with the application user account;
providing to the user one of the at least one awards when the benefit information satisfies at least one predetermined award criterion; and storing award information of the one of the at least one awards in association with the application user account
[0010] In another aspect of the present invention, a system for enticing users to use a new, existing, or replacement application is provided. The system includes: a user interface for accessing the application; a network; and a server processor communicatively coupled to the user interface via the network, the server processor further operatively coupled to a non- transitory computer readable medium, comprising instructions stored thereon, which, when executed by the server processor, perform the steps of:
offering, to the user, at least one award that may be earned by the user solely for using the application to perform at least one application function; monitoring usage of the application by the user; storing usage information of the usage in association with an application user account; providing to the user at least one benefit for the usage when the usage satisfies at least one predetermined benefit accrual criterion; storing benefit information of the at least one benefit in association with the application user account; providing to the user one of the at least one awards when the benefit information satisfies at least one predetermined award criterion; and storing award information of the one of the at least one awards in association with the application user account.
[0011] Both the foregoing general description and the following detailed description are exemplary and explanatory. They do not limit the invention to the examples described.
Rather, they are intended to provide explanation of aspects of the invention, the scope of which is determined by the appended claims. These and other features and advantages of the present invention will be described in, or will become apparent to those of ordinary skill in the art in view of, the following detailed description of certain embodiments, including the preferred embodiments.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0012] Drawings are included to illustrate various aspects of the described exemplary embodiments. The invention is not limited to the precise arrangements and instrumentalities described and shown in the drawings. As noted, the scope of the invention, and the novel features believed to be characteristic of the invention, are set forth in the appended claims. The invention, modes of use, objectives, and advantages may be understood by reference to the following drawings and detailed description of exemplary embodiments and aspects. In the drawings:
[0013] FIG. 1 A depicts a schematic view of an exemplary client-server network environment in which various described embodiments may be practiced.
[0014] FIG. IB depicts a schematic view of an exemplary peer-to-peer network in which various embodiments may be practiced.
[0015] FIG. 2 depicts an exemplary computing device or server, such as those depicted in FIGS. 1A and IB.
[0016] FIG. 3A is a flowchart of a method for enticing network users to use a new application, to continue using an existing application (rather than switching to a competing application), or to switch from an existing application to a new replacement application, in accordance with the disclosure;
[0017] FIG. 3B is a flowchart of a method for enticing network users to use a new application, to continue using an existing application (rather than switching to a competing application), or to switch from an existing application to a new replacement application, in accordance with the disclosure in which the benefits are provided in the form of tickets;
[0018] FIG. 3C is a flowchart of a method for enticing network users to use a new application, to continue using an existing application (rather than switching to a competing application), or to switch from an existing application to a new replacement application, in accordance with the disclosure in which users who begin using an application in response to an invitation from an existing application user receive invitee benefits;
[0019] FIG. 3D is a flowchart of a method for enticing network users to use a new application, to continue using an existing application (rather than switching to a competing application), or to switch from an existing application to a new replacement application, in accordance with the disclosure in which application users who successfully invite new users to begin using the application receive inviter benefits;
[0020] FIGS. 4-7 depict exemplary elements and procedures for implementing methods such as those depicted in FIGS. 3A-3D, in accordance with the disclosure;
[0021] FIGS. 8A-8G are exemplary screenshots available to an application user via a user computing device;
[0022] FIGS. 9A-9N are exemplary screenshots available to an administrator via an administrator computing device;
[0023] FIGS. 10A-10B are exemplary tables for use in choosing a winning ticket among 10 users; and
[0024] FIGS. 1 lA-1 ID shows an exemplary tree structure diagram and examples of its use in three illustrative scenarios for choosing a winning ticket
DETAILED DESCRIPTION OF THE INVENTION
[0025] Certain terminology may be used in the following description for convenience only and is not limiting. The words "lower" and "upper" and "top" and "bottom" designate directions in the drawings to which reference is made. The terminology includes the words above specifically mentioned, derivatives thereof and words of similar import.
[0026] Where a term is provided in the singular, the inventors also contemplate aspects of the invention described by the plural of that term. As used in this specification and in the appended claims, the singular forms "a", "an" and "the" include plural references unless the context clearly dictates otherwise, e.g., "a message" may include a plurality of messages. Thus, for example, a reference to "a method" includes one or more methods, and/or steps of the type described herein and/or which will become apparent to those persons skilled in the art upon reading this disclosure.
[0027] Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Although any methods and materials similar or equivalent to those described herein can be used in the practice or testing of the present invention, the preferred methods, constructs and materials are now described. All publications mentioned herein are incorporated herein by reference in their entirety. Where there are discrepancies in terms and definitions used in references that are incorporated by reference, the terms used in this application shall have the definitions given herein. [0028] The figures and descriptions provided herein may have been simplified to illustrate elements that are relevant for a clear understanding of the present invention, while eliminating, for the purpose of clarity, other elements found in typical systems and methods in the prior art. Those of ordinary skill in the art may recognize that other elements and/or steps may be desirable and/or necessary to implement the devices, systems, and methods described herein. However, because such elements and steps are well known in the art, and because they do not facilitate a better understanding of the present invention, a description of such elements and steps may not be provided herein. The present disclosure is deemed to inherently include all such elements, variations, and modifications to the disclosed embodiments and aspects that would be known to those of ordinary skill in the pertinent arts.
[0029] The herein disclosed apparatus, systems, and methods provide for enticing network users (e.g., Internet users) to begin using a new application, to continue using and remain loyal to an existing application (rather than switching from the existing application to a competing application), or to switch from an existing application to a new replacement application. In an exemplary embodiment, the application may be a social networking application, such as a chat or messaging application, although the invention may be included in or used in conjunction with any network-enabled application. As used herein, the term "network-enabled" indicates that a user's use of an application can be monitored and information of the use can be stored, and the stored information may be accessed remotely via a network or the like. Incentives are provided for ordinary usage of the application, and/or for inviting others to use it, and application usage, invitations, and incentives are
automatically tracked.
[0030] In an exemplary embodiment to be described in greater detail later, a computing device, for example a PC or a networked mobile device, may have access via one or more networks to a computer-based instant messaging system to which it is communicatively coupled. The computing device runs an instant messaging application, although other applications may be used, provided they have a network-enabled aspect by which they can communicate with one or more servers or other network-enabled devices over one or more networks. In an exemplary embodiment, the instant messaging application provides the user with an interface to a server-based or peer-to-peer messaging service, although other types of services may also be used. The application also provides an interface to a server-based or peer-to-peer "tickets and prize draw" (TPD) service, although other incentives may be used. In the exemplary embodiment, provided is an instant messaging service that incorporates free-to-enter "prize draws" with cash and other prizes as incentives to use the system and also invite others to use it. Although the invention is described herein as server-based, non- server-based systems are also envisioned including, without limitation, peer to peer systems. Furthermore, although the invention is described herein with the incentive service being formed simultaneously with and integral to the application service, alternate embodiments are envisioned in which the incentive service is added to an existing application service after such service has been in use for some period of time. The incentive service may be standalone but operating in conjunction with the existing application service or the existing application service may be modified as needed to newly incorporate the incentive service.
[0031] FIGS. 1 A, IB, and 2 depict exemplary networked computing environments in which the invention may be practiced. The depicted computing environments are only two examples of a suitable computing environment and are not intended to suggest any limitation as to the scope of use or functionality. Numerous other general purpose or special purpose computing system environments or configurations may be used. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use include, but are not limited to, personal computers ("PCs"), server computers, handheld or laptop devices, multi-processor systems, microprocessor-based systems, network PCs,
minicomputers, mainframe computers, cell phones, tablets, embedded systems, distributed computing environments that include any of the above systems or devices, and the like.
[0032] The embodiments may include computer-executable instructions, such as program modules stored in a storage device and executed by a computing processor operatively coupled to the storage device. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular data types. Distributed computing environments may be used where tasks are performed by remote processing devices that are linked through a communications network or other data transmission medium. In a distributed computing environment, program modules and other data may be located in both local and remote computer storage media including memory storage devices.
[0033] FIGS. 1 A and IB depict exemplary systems in which embodiments of the present invention may be implemented. These exemplary systems include, inter alia, one or more computing devices 102. In FIG. 1A the computing devices and server 108 interface to each other via network 106. In contrast, the system depicted in FIG. IB has a peer-to-peer configuration, in which the computing devices 102 interface to each other directly via the network 106, without a dedicated server. [0034] In its most basic configuration, as depicted in FIG. 2, each computing device 102 includes at least one processing unit 202 and at least one memory 204 operatively coupled thereto. The processing unit and memory may be tangible elements in a computing device. Or, they may be virtualized, for example as elements of a virtual machine hosted in a so- called computing cloud. Moreover, depending on the exact configuration and type of the computing device, memory 204 may be volatile (such as random access memory ("RAM")), non-volatile (such as read-only memory ("ROM"), flash memory, etc.), or some combination of the two. This most basic configuration is illustrated in FIG. 2 by dashed lines 206. In addition to that described herein, computing device 102 can be any web-enabled handheld device (e.g., cell phone, smart phone, or the like) or personal computer including those operating using Android, Apple, and/or Windows mobile or non-mobile operating systems.
[0035] Computing device 102 may have additional features/functionality. For example, computing device 102 may include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape, thumb drives, and external hard drives as applicable. Such additional storage is illustrated in FIG. 2 by removable storage 208 and non-removable storage 210.
[0036] Computing device 102 typically includes or is provided with a variety of computer- readable media. Computer-readable media can be any available media that can be accessed by computing device 102 and may be any type of non-volatile media, and removable and non-removable media. Memory 204, removable storage 208, and non-removable storage 210 are all examples of computer storage media. Computer storage media may include, but is not limited to, RAM, ROM, electrically erasable programmable read-only memory
("EEPROM"), flash memory or other memory technology, CD-ROM, digital versatile disks ("DVD") or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computing device 102. Any such computer storage media may be part of computing device 102 as applicable.
[0037] Computing device 102 may also contain communications connection 212, such as a wired interface or a wireless air interface that allows the device to communicate with other devices. Such communications connection 212 is an example of communication media. Communication media typically conveys computer-readable instructions, data structures, program modules and/or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as radio frequency ("RF"), infrared, and other wireless media. The term computer-readable media as used herein includes both storage media and communication media.
[0038] Computing device 102 may also have input device(s) 214 such as keyboard, mouse, pen, voice input device, touch screen, etc. Output device(s) 216 such as a graphical display, speakers, printer, etc. may also be included. All these devices are well known and may not be discussed in further detail herein if it does not clarify the description.
[0039] As shown in FIGS. 1 A and IB, computing device 102 may be one of a plurality of computing devices 102 inter-connected by network 106. As may be appreciated, network 106 may be any appropriate network and each computing device 102 may be connected thereto by way of connection 212 in any appropriate manner, and each computing device 102 may communicate with one or more of the other computing devices 102 via network 106 in any appropriate manner. For example, network 106 may be a wired network, wireless network, or a combination thereof within an organization or home or the like, and may include a direct or indirect coupling to an external network such as the Internet or the like. Likewise, network 106 may be such an external network including, without limitation, the Internet.
[0040] As shown in FIG. 1A, computing device 102 may connect to server 108 via such an internal or external network. Although FIG. 1 depicts computing device 102 located in close proximity to server 108, this depiction is not intended to define any geographic boundaries. For example, when network 106 is the Internet, computing device 102 can have any physical configuration and location able to access the Internet. For example, computing device 102 may be a mobile or stationary tablet, cell phone, personal computer, or the like located at a user's office, home, or other convenient location. Or computing device could be located proximate to server 108 without departing from the scope hereof. Also, although FIG. 1A depicts computing devices 102 coupled to server 108 via network 106, computing devices may be coupled to server 108 via any other compatible networks including, without limitation, an intranet, local area network, or the like. Moreover, as shown in FIG. IB, the foregoing may be applied in any appropriate peer-to-peer network configuration.
[0041] In FIG. 1A, the depicted embodiment of system 100A uses a standard client server technology architecture, which allows users of system 100A to access information stored in databases 110 and database tables 112, 114, 116, and 118, via custom user interfaces. The application may be provided by server 108 (such as by free or paid download), or hosted on a server such as server 108 which is accessible via the Internet using a publically addressable Uniform Resource Locator ("URL"). For example, users can access exemplary system 100A using any web-enabled device equipped with a web browser. Communications between software components and sub-systems may be achieved by a combination of direct function calls, publish and subscribe mechanisms, stored procedures, direct SQL queries, and the like. However, alternate components, methods, and/or sub-systems may be substituted without departing from the scope hereof.
[0042] In FIG. IB, the depicted embodiment of system 100B uses a standard peer-to-peer technology architecture, which allows users of system 100B to access information stored in database 110 via custom user interfaces. However now, instead of storing the database on server 108 the database is parsed and stored on some of the peer computing devices using a secure distributed ledger (e.g. a block chain). In effect, the database may be stored in pieces that reside on some of the computing devices 102. Data stored in such a database may then be accessed via the Internet or other network using, for example, public and private block chain ledgers, as is known in the art. Users can access exemplary system 100B and thence to any distributed database or other distributed entity stored in computer devices 102.
Communications between software and/or database components and sub-systems may then be achieved by a combination of direct function calls, publish and subscribe mechanisms, stored procedures, direct SQL queries, and the like. In this way, the systems and methods disclosed herein in connection with a client-server configuration may alternatively be realized using a system configured for peer-to-peer operation. In any case, alternate components, methods, and/or sub-systems may be substituted without departing from the scope hereof.
[0043] Referring back to FIG. 1A, computing devices 102 are equipped with a protocol stack such as TCP/IP to allow them to interact with server 108 via the network. For example, an application operating on computing device 102 may use TCP/IP to interact with one or more applications executed by server 108. In exemplary operations, the application on device 102 may be a "client" application and may submit and/or return messages to the server. Server 108, which provides resources and services or performs other functions for or on behalf of the client application, may likewise submit or return messages to the client application. The messages may contain requested information or other content, status information, and the like. However, alternate methods of computing device/server communications may be substituted without departing from the scope hereof. [0044] In exemplary system 100A, application database 110 stores information and data pertaining to one or more applications, such as installation files that may be downloaded to computing device 102 and installed thereon. Database 110 may also include or be operatively coupled to one or more data tables that receive, store, and return information in response to requests from server 108. Relationships between data stored in different tables may be established, such as through the use of key fields, as is known in the art Database 110 may be any appropriate database capable of storing data and may be included within or connected to server 108 or any plurality of servers similar to 108 in any appropriate manner without departing from the scope hereof.
[0045] In the exemplary embodiment, database 110 may be function as a relational database management system (RDBMS) using structured query language ("SQL") or the like.
Database 110 may be resident within and/or accessible to server 108, and may be internal or external to server 108. Also, server 108 may be embodied as any number of servers located in one or more locations to implement the systems and methods of the present invention. That is, the functions and/or databases associated with server 108 may be split between a plurality of servers, as is known in the art.
[0046] The various techniques, approaches, and methods described herein may be implemented in connection with hardware, or as a combination of hardware and software. Thus, the methods and apparatus of the presently disclosed subject matter, or certain aspects or portions thereof, may take the form of program code (i.e., instructions, scripts, and the like) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium wherein. When the program code is accessed and executed by a processor in a machine, such as a computer, the machine becomes an apparatus for practicing the presently disclosed subject matter.
[0047] In the case of program code execution on programmable computers, the computing device 102 generally includes a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. One or more programs may implement or utilize the processes described in connection with the presently disclosed subject matter, for example, through the use of an application-program interface ("API"), reusable controls, or the like. Such programs may be implemented in a high-level procedural or object-oriented programming language. However, the applications and other programs described herein may be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language, and combined with hardware implementations. [0048] Although exemplary embodiments may refer to utilizing aspects of the presently disclosed subject matter in the context of one or more stand-alone computer systems, the subject matter is not so limited, but rather may be implemented in connection with any computing environment such as system 100A, or in a distributed computing environment or 100B. Still further, aspects of the presently disclosed subject matter may be implemented in or across a plurality of processing chips or devices, and storage may similarly be effected across a plurality of devices in system 100A or 100B. Such devices might include personal computers, network servers, and handheld devices (e.g., cell phones, tablets, smartphones, etc.), for example.
[0049] In an exemplary embodiment, the system may include one or more servers, such as server 108, and one or more associated databases, such as database 110. These may be programmed to execute a plurality of processes, discussed in greater detail below, which may entice a user to try a new program, entice a user to continue using an existing program, or entice a user of a first ("old") application to switch to a second ("replacement") application. If switching to a replacement application, from the user's standpoint, the replacement application provides some or all of the functionality provided by the old application. In particular, at least one function of the replacement application is substantially identical to a corresponding function of the old application. Even so, the user may be enticed to switch to the replacement application because it provides benefits such as awards that may be obtained simply by using the replacement application to perform the same or similar tasks, using essentially the same or substantially similar functions, as those performed and provided by the old application. Or, the user may be enticed to continue using an existing application because the application is enhanced such that it begins providing benefits such as awards that may be awarded to the user simply for continuing to use the existing application in the same manner with which it was previously used. That is, the existing application may be modified such that the user is eligible to receive awards for doing nothing other than continuing to use the existing application to perform the same functions performed by the user prior to modification of the existing application.
[0050] FIGS. 3A-3D are flow diagrams that illustrate computer-implemented methods of enticing a user to try a new application, enticing a user to continue using an existing application (rather than switching to a competing application), and/or enticing a user of a first ("old") application to switch to a second ("replacement") application, and exemplary embodiments pertaining thereto. Referring now to FIG. 3A, method 300 begins by offering to a user at least one award that may be earned by the user solely for using the application to perform at least one application function, 302. For users that are registering for a new application or are replacing an existing application with a replacement application, the new or replacement application may be offered in any convenient way known in the art, such as a free software download over the Internet, or an installation disk such as an optical disk such as a CD or DVD. The user may, but need not, be a user of a first "old" application that provides similar functionality as the new "replacement" application. In embodiments in which a user is switching from an old to a replacement application, the replacement application includes at least one function that is substantially identical to at least one function of the old application. For example, the old and replacement applications may include chat functionality that is substantially the same in both applications. However, the replacement application also provides for predetermined awards that may be obtained by the user solely for using the replacement application to perform the application's stated function(s). After setting up the new or replacement application on the user's computing device or user interface, the user establishes a user account and registers with the new or replacement application. Such account setup and registration is performed as is known in the art and may include entry of the user's information (e.g., first name, last name, and e-mail address) and selection by the user of a login name and password. In an embodiment, the registering user may enter a phone number on computing device such as computing device 102 and send it to the server, then receive an SMS from the server with a verification code, and enter the verification code into the computing device and send it to the server. After receipt of such information by the application server, the information is saved in a database such as database 110 in a database table such as User Info table 112 (FIG. 1). In an embodiment, the user's account is activated and a confirmation e-mail is sent to the user to confirm same. Thereafter, to use the new application, the user logs in by entering, for example, the username and password as is known in the art. This information is validated via accessing the Users Info table 112 as is also known in the art. Upon a successful login, the user is able to use the new or replacement application. As noted previously, a replacement application may, but need not, work in substantially the same way, to achieve substantially the same result, as if an old application had been used. The user is enticed to use the replacement application not necessarily because it is operationally superior, but rather because it includes the prospect of obtaining an award for doing nothing more than using the new application for its stated use. However, the new application may indeed be operationally superior without departing from the scope hereof. [0051] Alternatively, in a scenario in which a user is being enticed to continue to use an existing application, a new installation will not necessarily be required. Rather, the user may update the existing application in order to implement the incentive portion thereof or the incentive portion may be automatically updated by the existing application without any action on the part of the user. In such a scenario, the user will simply see information regarding the incentives being offered and the criterion for receiving benefits when the user accesses the application in the normal course of using the application. Also, access to the application will be performed via the user's pre-existing login and password.
[0052] After login to the application, the application monitors the user's use thereof, 306, and stores the usage information in association with the user's application user account, 308, for example in Usage Info table 114 (FIG. 1 A). Thereafter, a user benefit is provided to the user automatically when the user's usage of the application satisfies at least one predetermined benefit accrual criterion, 310. For example, the benefit may be a soft ticket for an automated raffle. Information of the benefit may be stored in association with the application user account, 312. For example, information of one or more benefit criterion (such as a frequency or duration of using the application), as well as information of the user benefit provided (such as a number of tickets obtained), may be stored in Benefit Info table 116 (FIG. 1). When the user's benefit information satisfies at least one predetermined award criterion (for example, a ticket awarded as a benefit is automatically selected from a group of tickets as a winning ticket), an award may be provided automatically to the user, 314 (for example, money, a gift card, a donation on behalf of the user). If so, information of the award may be stored in association with the application user account, 316. Information of one or more award criterion (e.g., an automated raffle selects as a winner a ticket associated with an identified user), as well as information of the award provided, may be stored in Award Info table 118 (FIG. 1). An exemplary implementation of this process is discussed in greater detail below with respect to FIGS. 4 - 11D.
[0053] In an embodiment, the application may be a social networking application, a chat application, or the like. Other applications and types of applications may be used, provided that the application allows its usage to be tracked and reported via a network or some other tracking mechanism. Exemplary types of usage (whether user usage or third party usage) that may be evaluated in accordance with at least one predetermined benefit accrual criterion to determine whether ticket(s) or other benefit(s) should be provided as described in the example above may include, but are not limited to, one or more of the following: the user establishing one or more new user accounts to use the application; the user entering an initial list of current users of the application that the user already knows, as a user's known member list; the user using the application in one or more predetermined application-use time period(s) (e.g., a day or a portion of a day); the user using one or more specific functions of the application and/or the user using one or more specific functions of the application during one or more predetermined application-use time period(s).
[0054] The predetermined benefit accrual criterion that is utilized to determine whether the usage is sufficient to provide benefit(s) to the user may include, a predefined benefit (e.g., a quantity of tickets) to be provided to the user based upon, but not limited to, the following aspects of the usage: the quantity of user accounts established by the user to use the application (e.g., a predetermined number of tickets may be provided for each new user account or the user may be required to open a predetermined quantity of user accounts before a benefit is conferred); the quantity of users entered upon the user's member list; the number of times or duration of time that the user opens or uses, respectively, the application in one or more predetermined application-use time periods (e.g., a day or portion thereof, a week, etc.); the number of times or duration of time that the user uses one or more functions of the application in one or more predetermined application-use time periods; the user being present on an award winning user's known members list; and, a frequency at which the user regularly uses the application (i.e., once a day, once a week, once a month, etc.). These criterion are merely exemplary and may be added to, modified, or omitted without departing from the scope hereof.
[0055] A particular exemplary embodiment in which the benefit is provided in the form of one or more tickets is depicted in FIG. 3B. FIG. 3B begins when the usage information of the user's use of the application is stored in association with the user's user account, 308 as described in more detail above with respect to FIG. 3A. In this embodiment, the user benefit may include one or more tickets, each ticket providing a chance to win one or more awards. Tickets may be automatically provided for a user's usage of the application based on one or more predetermined ticket accrual criterion, 324, as will be disclosed below in more detail. Ticket information of the user's tickets may be stored in association with the user's user account, 326, as discussed above with respect to 312 of FIG. 3A. For example, an ID number for each ticket, and a number of tickets obtained may be stored. The user's tickets may be grouped with the tickets of a plurality of other users of the application, 328, in order to create a ticket pool for a prize draw. One or more tickets may automatically be randomly selected as winning tickets, 330. The award may then be provided automatically to the user associated with the winning ticket, 332. In an exemplary embodiment, the award may be monetary. although other awards may be added or substituted, for example gift cards, or contributions to a charity on behalf of the user. Information of the award may be stored in association with the winner's application user account, 334, as discussed above with respect to 334. For example, award information may include, but is not limited to, the nature of the award, the date it was won, and the like, to be used, for example, with regard to future awards. For example, winning an award may disqualify a user from winning another award during the same prize draw and/or for a predetermined period of time.
[0056] In an alternate version of the process depicted in FIG. 3B, the usage information stored at 308 may be information regarding the usage of a messaging group (as performed, for example, via a group chat screen) formed by one of the application users. Such messaging group usage may include formation of a new messaging group by a user, the duration of time users are messaging from a messaging group screen, the number of users added to the messaging group in a specific time period, and the like. At a step such as 324, tickets may be provided for such messaging group usage based upon predetermined benefit accrual criterion. Then, at a step such as 326, ticket information may be stored in association with the user accounts of each user in the messaging group or in association with a group user account administered by a group owner. If a winning ticket selected at a step such as 330 is associated with a messaging group, an award may be provided to the messaging group at a step such as 332. In one embodiment of the invention, the award is distributed to the group in accordance with the criteria set by the group owner. For example, the group owner can elect to have the group award donated to charity on behalf of the group members. Or, the group owner can elect to have a monetary award shared evenly between the members of the messaging group without departing from the scope hereof.
[0057] FIGS. 3C and 3D pertain to embodiments in which the user (as an inviter) may invite others who do not currently use the application (as invitees) to use the application, and benefits and awards may be provided based on either or both of the inviter's and invitee's usage of the application and/or awards or benefits provided to the inviter or invitee via the application, In FIG. 3C, this aspect of the invention begins by a first user, the inviter, inviting another, the invitee, to use the application, and the invitee accepting the invitation, 342. Upon acceptance of the invitation, an invitee user account is established for the invitee to use the application, 344, as discussed above with respect to FIG. 3A. The invitee user may then be provided with an invitee benefit based upon at least one predetermined invitee benefit criterion, such as a frequency or duration of program usage by the invitee. However, in an aspect of this embodiment, the invitee benefit criterion may include at least one characteristic or benefit of the inviter's use of the application, 346, instead of or in addition to the invitee's use. For example, a ticket may be provided to the invitee when his or her inviter wins an award. When the invitee benefit is provided to the invitee, information of the invitee benefit provided may be stored in association with the invitee user account, 350. An invitee award may then be provided when the invitee benefit information satisfies a predetermined invitee award criterion, 352. Information of the invitee award may then be stored in association with the invitee's user account, 354. For example, the invitee benefit may be a ticket to the invitee for a future drawing, and the predetermined invitee benefit criterion for award of such a benefit may be that the inviter won an award in a completed drawing.
[0058] In FIG. 3D, as described with respect to FIG. 3C, the inviter invites the invitee to use the application, and the invitee accepts, 342, and an invitee user account is established, 344. But now, the inviter user may be provided with an inviter benefit based upon at least one predetermined inviter benefit criterion. In an aspect of this embodiment, the inviter benefit criterion may include at least one characteristic or benefit of the invitee's use of the application in lieu of or in addition to the benefits provided to the inviter based upon the inviter's use. The invitee's usage of the new application is monitored, 366, and the inviter may then be provided with an inviter benefit based on one or more criterion that include a characteristic or benefit of the invitee's usage of the new application, 368. These inviter benefits may be in lieu of or in addition to the inviter's usage benefits as discussed with respect to FIG. 3A, 310. For example, the inviter may be provided a ticket based on the frequency and/or duration of one or more of their invitees' use of the application. When an inviter benefit is provided to the inviter, information of the inviter benefit provided may be stored in association with the inviter's user account, 370. An inviter award may then be provided when the inviter benefit information satisfies a predetermined inviter award criterion, 372. Information of the inviter award may then be stored in association with the inviter's user account, 374. For example, the inviter benefit may be a ticket to the inviter for a future prize draw, and the predetermined inviter benefit criterion for award of such a benefit may be based on a characteristic or benefit of the invitee's usage of the application. For example, the inviter may get a ticket for a draw when the invitee's usage exceeds a predetermined frequency and/or duration.
[0059] Apparatus and systems have been described previously with which the above methods may be practiced. More particularly, a system for enticing a user to begin using a new application, to entice a user to continue using an existing application (rather than switching to a competitive application), and/or to entice a user to switch from a first "old" application to a second "replacement" application, may comprise a user interface for accessing the new application. For example, the user interface may be a computing device 102. The system also includes a network 106, and a server 108 communicatively coupled to the user interface via the network The server comprises a processing unit 202, such as a tangible microprocessor, operatively coupled to a non-transitory computer readable medium 204. The medium has instructions stored thereon which, when executed by the server processor, perform one or more methods previously described.
[0060] One exemplary embodiment of a network-enabled application provided with features to entice new users to use it or to retain its existing users to continue using it will now be described in greater detail. The exemplary embodiment described includes an instant messaging service that incorporates free-to-enter prize draws with cash and other prizes. It is emphasized mat the following is simply an example of the disclosed apparatus, systems, and methods, and is presented for explanatory purposes, and not by way of limitation.
[0061] The instant messaging service may be designed to work on user devices such as smart phones, for example running iOS or Android operating systems, and may be a new competitor to entrenched services such as WhatsApp, Viber and WeChat, for example. The new application and system of rewards, and its associated infrastructure, will be referred to hereinafter as the Tengi application. The Tengi application comprises two capabilities that work in conjunction with each other: Messaging and TPD. Although the TPD application is described in conjunction with a messaging application, other types of programs, applications, and capabilities may be similarly enhanced to provide incentives for switching to, beginning use thereof, or continuing use thereof by adding the TPD application to them, including the ability to monitor use of the application by application users over one or more networks. The TPD application may be added, for example, by incorporating it directly into a new or existing application. Alternatively, the TPD application may be provided by a separate program that monitors and interacts with a new or existing application, running either locally or remotely from the new or existing application.
[0062] In the exemplary embodiment, the Messaging application is implemented by a customized version of Mongoose Instant Messenger (Mongoose IM), an open source application based on the XMPP standard.
[0063] The TPD application may run as part of and within the Messaging application, or may run separately from and in operative communication with the Messaging application. In embodiments in which the messaging application is adapted to provide the TPD application, such adaptations may be in the form of new modules, minor tweaks or "hooks" into existing messaging functionality to provide data required for the TPD application, and/or further minor detailed changes as described herein.
[0064] The TPD application may provide a compelling incentive for very large numbers of people to join Tengi (i.e., begin using the Tengi application), and to use it over time as a preferred messaging service, thereby replacing the messaging services they currently use, if any. The TPD application may also be added to an existing application to provide a compelling incentive for existing application users to continue using the existing application.
[0065] To provide this incentive, the TPD application provides users of the Messaging application with automatic benefits (e.g., chances to win prizes in the form of tickets or the like), wherein the benefits are provided according to the nature and extent of the user's usage in accordance with predetermined benefit accrual criterion. The nature and extent of the user's usage may also include the growth of the user's personal networks within the Tengi application (i.e., the type and quantity of users added to the user's member list). In general, the more a user uses the Tengi application and signs up new users to the application, the more chances the user will have to win awards/prizes.
[0066] Like the Messaging application, the TPD application may be engineered for robustness and performance at very large scales. Both capabilities may run on the same infrastructure, for example, the cloud infrastructure provided by Amazon Web Services (AWS), although other configurations and infrastructure may be used. In this exemplary embodiment, the TPD application is implemented by a combination of standalone modules and functions (hereinafter collectively, "applications"), as well as
modifications/enhancements to the applications that deliver the Messaging application, although other configurations may be used.
[0067] Figure 4 is a block diagram illustrating aspects of this exemplary embodiment In the figure, the symbols identified by reference indicators are explained in detail below. The arrows between the symbols represent operative and/or communicative couplings by which data is accessed or passed between the blocks. This embodiment may be realized using a client-server network configuration, as illustrated in FIG. 1 A. If so, relevant data such as user information, usage information, and benefit and award information, is stored in tables, such as tables 112, 114, 116, and 118, within a database such as database 110. The data may be stored, for example, in at least one server 108 or in network attached storage (not shown) accessible to the server 108. The server stores and retrieves data to and from the database, performs operations, and communicates with the user and administrative computing devices 102. The server and database constitute silos in which relevant functionality and data are concentrated, and the computing devices 102 generally do not communicate directly among themselves.
[0068] Alternatively, the exemplary embodiment may be realized using a peer-to-peer network configuration, as illustrated in FIG. IB. Relevant data is stored in one or more parsed tables within one or more parsed databases, and data are distributed to, stored in, and retrieved from at least a portion of the plurality of user computing devices 102. In this configuration, the user devices 102 communicate directly among themselves; there are no functional or data storage silos.
[0069] FIG. 4 illustrates aspects of the exemplary embodiment As illustrated, the application in the description above and referred to in FIG. 3A, 302, includes a Messaging application accessed using mobile or non-mobile computing devices such as smart phones, PCs, tablets, and the like, the application including a TPD application to entice users to use the new application. The Messaging and TPD applications are implemented with the software applications, modules, and modifications described below. However, other modules and configurations may be used in conjunction with, or alternative to, those illustrated and described. Furthermore, other applications with functionality different than the described "Tengi" messaging system may be used instead of, or in addition to, that described herein without departing from the scope hereof.
[0070] In the embodiment depicted in FIG. 4, the application and the TPD are integrated and they are implemented via a MongooselM platform ("Mongoose Platform") distributed by Erlang Solutions. The core services architecture of the Mongoose Platform transfers data between the server and clients using the integral client handlers of the Mongoose Platform.
[0071] The Mongoose multi-user chat module (A01 ) is configured to perform functions including, but not limited to: sending and receiving messages and other data (hereinafter "IQs") between users; facilitating one on one and group chat conversations; and enabling broadcast messages from the server to all users, to all users on a specific user's member list, or to a selected subset of the user's member list An IQ is a type of XMPP message used to transfer non-user message information between clients and servers. However, one or more functions may be omitted or new functions may be added without departing from the scope hereof. Also, alternate platforms may be substituted for the MongooselM platform without departing from the scope hereof.
[0072] The multi-user chat module A01 includes prize, points, and AMQP sub-modules. The prizes sub-module allows user computing devices to check the results of a prize draw, to claim prizes, and it also facilitates communication of prize awards to the winning users. The sub-module is triggered to send prize award information to winning users by the PD module A10 once a prize draw has been completed. It also facilitates prize related communications from users back to the application, for example, when a winning user is claiming his or her prize(s). The points sub-module communicates the current benefit status and prize draw settings to the users. The points period sub-module manages information related to the prize draw time periods and the corresponding application-use time periods.
[0073] The AMQP module listens for TPD-related events from database/storage S03 and passes them to the events sub-module. The events sub-module receives events from the AMQP module and processes them specifically for the purpose of providing benefits (e.g., providing a benefit directly in response to an event or incrementing values (e.g. time spent messaging/chatting) that may contribute to providing a benefit in the future. Each benefit accrual criterion has its own bespoke logic implemented in this module, which also uses the benefit accrual criterion configuration variables set by prize draw administrators via the administrator panel and the settings sub-module of the PD module A 10. The events sub- module generates prize draw related events and sends them to storage such as storage S03 as described in greater detail herein. This sub-module may also be used to notify PD module A10 when awards or prizes are claimed by the winning user.
[0074] The settings sub-module handles all of the configurable settings for prize draws, and it is also responsible for swapping old settings for new settings when one prize draw ends and a new prize draw begins. This module also manages the list of users that are banned from participation in the prize draws (e.g., user that do not meet the user qualification criteria such as employees of Tengi, their families and employees of businesses associated with the provision of the Tengi application and any users found to have been abusing the prize draw).
[0075] The depicted embodiment utilizes the MongooselM roster module (A02) (hereinafter "Contacts") to maintain the address books or roster of each user of the new
application/messaging service. The roster is the list of Tengi application users that are on the current user's friends or members list, and therefore the Tengi users with whom the current user can initiate messaging or add to messaging groups. A user's roster may include the list of phone numbers in his/her address book that are also verified users of the Tengi messaging application (i.e. that user's network of people that he/she can chat with via the Tengi messaging application - also referred to above as members).
[0076] In the depicted embodiment of the present invention, roster module A02 includes a reverse address book sub-module that manages the "reverse address book" (RAB) and/or reverse roster (RR) data for each user account. That is, the RAB and/or RR details which other users have this user in their member or friends list, and it is used to provide such other users with "friends joined" benefits as discussed herein.
[0077] The registration module (A03) manages the process of registering new users for the Tengi application including, without limitation, receiving the necessary data (e.g., name, address, telephone number, email address, logon ID, password). The registration module also verifies that the user is using a Subscriber Identity Module ("SIM") based device, when applicable. The depicted embodiment of the invention utilizes the "SIM" to verify the identity of the user, however, alternate verification methods may be substituted without departing from the scope hereof. As shown in FIG. 4, the registration module (A03) interacts with a third party Short Message Service ("SMS") (E01) to send SMS messages to prospective users of the Tengi application to verify that the user is in possession of the SIM-based device having the phone number entered by the user during the registration process. In addition, SMS module (E01) also interacts with the Cabot alerting module (A21) to send alerts to system administrators via SMS. The Cabot alerting module (A21) also interacts with an email module (E02) to send alerts to system administrators via email. In the depicted embodiment, the SMS service is provided by AQL, a provider of wholesale integrated communications services. However, alternate services may be substituted without departing from the scope hereof.
[0078] The media module (A04) manages the handling of non-text messages (e.g., image, video, and audio files) which have been sent by users of the Tengi application. It stores and retrieves such files in a network-accessible database (S04). In the embodiment of the invention shown in FIG. 4, the S04 database is used a long term file based storage used to store media files and message archives. It is provided via an Amazon Simple Storage Service (Amazon S3) provided via the Amazon Web Services (AWS). The Amazon S3 provides secure, durable, highly scalable cloud storage, although alternate storage and/or databases may be substituted for S04 without departing from the scope hereof.
[0079] The push notifications module (A05) handles the delivery of message notifications to third party services when messages cannot be immediately delivered within the Tengi application (e.g., because the recipient is offline). Push notification services are used by the push notifications module (A05) to let users of the Messaging application know that they have received messages. Third party services may include, for example, the Apple Push Notification Service and the Google Cloud Messaging service, although alternate or additional push services may be used without departing from the scope hereof. [0080] The Message Archive Management (MAM) Cleaner module (A06) removes old messages from high performance data storage (SOI) and archives them to longer term storage (S04) via one or more AWS Application Program Interfaces ("APIs")- In FIG. 4, the high performance storage (SOI) is Riak storage, a high performance NoSQL / key value pair database for short term persistent data, provided by Basho Technologies. Riak is the primary storage for non-media data. Storage (S03) is Rabbit MQ storage, distributed by Erlang Solutions. RabbitMQ is message brokering software (also called message-oriented middleware) that implements the Advanced Message Queuing Protocol (AMQP). Storage S03 stores event type data (for example, data that the PP module uses to calculate when awards should be granted to users). Also, storage S03 maintains separate queues for the following event types: award of benefits/tickets; award or prize draw (e.g. award notification and claiming); push notifications; and account deletion. However, other data storage configurations may be used, and/or additional or lesser event data may be stored, without departing from the scope hereof. Storage (S02) is a high performance Redis storage for ephemeral data which is also used for tasks requiring high-speed execution (e.g., session and cluster management). However, alternate storage solutions may be substituted for S01, S02, S03 and/or S04 without departing from the scope hereof.
[0081] The administrative panel module (A07.1) enables portions of the application to be controlled externally by non-developer administrators to perform functions including, but not limited to, composing and sending broadcast messages to all application users and managing various aspects of the system configuration. The administrator panel modules may be provided as an in-application administrative panel via A07.1 or an Internet-based administrative panel via module (A07.2). An administrator may access the administrative panel via an administrative computing device similar to the computing devices 102 as described above with respect to FIGS. 1A and IB. The in-application administrative panel may be downloaded and executed directly by the administrative computing device, whereas the Internet-based administrative panel may be accessed through an Internet-browser executed by the administrative computing device.
[0082] The administrator panel modules enable interfaces between an administrative user and, inter alia, the settings, winners and charities sub-modules within the PD module Al 0. The PD module has an HTTP API which enables these modules to communicate with the administrator panel front end. The administrator panel backend also communicates with parts of the application that aren't related to the TPD application. [0083] The charities sub-module manages the setup of charities within the application, obtains donation events from the events sub-module, prepares donation data for CSV export, and produces the CSV export file when triggered by the watcher sub-module. The charities sub-modules also sends user confirmation notifications to multi user chat module AOl when donation events have been processed.
[0084] The winners sub-module prepares prize draw reports by iterating over winner users to collect data, performs confirmation of the prize draw reports by performing functions such as replacing winners when necessary, and initiates a Localytics data export once the prize draw report is confirmed. This sub-module also initiates the process of giving "Friends won" benefits to all users in the Reverse Roster of the award winners and maintains statuses (e.g. new, claimed, etc.) of all prizes awarded within all prize draw reports. Further, the winners sub-module enables download of the prize draw report in CSV format and enables the sending of bulk messages to prize winners (including filtering by draw, status, country, etc.).
[0085] The system shown in FIG. 4 also includes a plurality of elastic load balancers including Media ELB, XMPP ELB, HTTP ELB, and Registration ELB. However, ELBs may be omitted or alternate ELBs may be substituted or added without departing from the scope hereof.
[0086] In FIG. 4, the system is accessed by a user via an application being executed by the user's computing device, such as computing device 102 as illustrated in, and described above, with respect to FIGS. 1 A and IB. For example, computing device may be a mobile device having an operating system such as Apple iOS) or Android. However, mobile devices using other mobile operating systems may be used, as well as other mobile and non-mobile devices including, without limitation, tablets, PCs, and alternate desktop devices using other operating systems, without departing from the scope hereof.
[0087] In the exemplary embodiment illustrated in FIG. 4, the TPD application may be implemented using the following modules as new, standalone applications and/or as enhancements and/or modifications to the Messaging or other application and its
subcomponents as described above.
[0088] The profile points (PP) module (A09) provides benefits such as providing tickets to users of the Tengi application according to certain predetermined benefit accrual criterion (i.e., predefined rules and configurable parameters) based on the usage (e.g., activities) of users and their application friends. PP module A09 parses ongoing events in order to provide benefits to users. For example, the user's friends may be added to the user's known members list, which may be stored as the user's contact list as controlled by roster module (A02) as discussed above. Settings of the PP module including, without limitation, the predetermined benefit accrual criterion, may be controlled by an administrator via an integral or Internet- based administrative panel as described herein. The PP module may also be broken out as a separate application for performance management reasons depending upon the number of application users being served by the application and/or PP module.
[0089] The prize draw (PD) module (A10) manages the prize draws (e.g., the selection of a winning ticket or other benefit), In the illustrated exemplary embodiment, the PD module selects the winning rickets (i.e., tickets that have been provided to users in the form of benefits) and the selected tickets are analyzed in conjunction with the predetermined award criterion to determine an associated award, if any. In the depicted embodiment, the PD module also handles award distribution (e.g., payment, delivery, and donation) as well as the distribution of benefits for those associated with the award winner. For example, the PD module may award benefits such as tickets for the next or future draws to those users connected to the award winners (e.g., the users in the award winner's member list). However, award activities may be omitted, substituted, and/or added without departing from the scope hereof.
[0090] The following modifications of the messaging application may also be made to support the TPD application, but they are not required in order to implement TPD.
[0091] The Mongoose multi-user chat module (A01) may be customized to send award related messages and data to users and to create special prize draw-related events for subsequent assessment by the PP module.
[0092] The rosters module (A02) can be customized to maintain specific contact lists that are not required for messaging but are required for the prize draw (e.g. Reverse Roster, Reverse Address Book, as described in greater detail herein). The rosters module can also create special prize draw related events for subsequent assessment by the PP module.
[0093] The registration module (A03) can be customized so that at the end of the registration process, the benefit configuration data is read from storage S01 and sent to the user computing device such that during the "welcome sequence" of registration screens, the user will be shown how many benefits are provided for each usage and/or activity.
[0094] The administrative panel modules (A07.1, A07.2) enable the modules shown operatively coupled thereto to be controlled externally by non-developer or developer administrators to configure prize draws, including managing various aspects of configuration of the draw and available award payment (e.g., payment options, donation options, etc.). [0095] The user computing device provides the user interface between Tengi application users and the prize draw or award information. The TPD application executed by the user computing device can be configured to display award information including, but not limited to, the overall status of the draw or awards, the number of tickets or other benefits held, the details of awards won, and associated data such as the award rules.
[0096] Moreover, in this exemplary embodiment, the Messaging and TPD applications together use all four of the data storage depicted in FIG. 4, namely, S01 through S04.
However, data storage may be omitted or alternate storage may be added or substituted without departing from the scope hereof.
[0097] The Messaging and TPD applications together may also use the following external third party services.
[0098] An Amazon Gift Code module (E03) interacts with the PD module (A10) so that award winners may receive awards in the form of an Amazon Gift Code, redeemable in a specific Amazon online store (e.g., for UK users, codes are redeemable at
www.amazon.co.uk). In the depicted embodiment, unique API implementations are provided in Amazon Gift Code module E03 for each Amazon store, although the API is common across all Amazon stores. The Amazon Gift Code module E03 gets Amazon events from the events sub-module, gets gift codes from the Amazon API, and assigns the gift codes to awards, thereafter sending the assigned gift codes to the award winners via multi chat user module A01 or via SMS or Email services E01 and E02, respectively.
[0099] Localytics module E04 interacts with the PD module A10 and collects specific data from storage S01 on a per user basis, iterates the data over a set of users and sends the iterated data to a Localytics API. The user computing devices may also incorporate one or more Localytics software development kits ("SDKs"), which also send data to Localytics. Localytics is an analytics and messaging service which enables aggregate monitoring and display of activity across the Tengi application and directs communication with groups of users defined by their activity (e.g., the functions of the Tengi application that they have used/not used, prizes the users have won, etc.).
[00100] The Crittercism module (E05) incorporates SDKs in the user computing device to send data to Crittercism. Crittercism is a performance monitoring service that enables recording and analysis of application crashes and other related data to help optimize the Tengi application and its overall capabilities. However, other performance monitoring tools may be substituted without departing from the scope hereof. [00101] The Flurry module (E06) incorporates SDKs in the user computing device to provide advertisements for display to users during use of the Tengi application.
[00102] The Fiksu module (E07) incorporates SDKs in the user computing devices to provide attribution data for the Tengi application's outbound marketing campaigns so that a new user that installs the Tengi application can be attributed to a particular advertising campaign, website or network.
[00103] The Adjust module (EOS) incorporates SDKs in the user computing devices to provide attribution data for the Tengi application's outbound marketing campaigns and to monitor the user's subsequent behavior. This allows a new user that installs the Tengi application to be attributed back to a particular advertising campaign, website or network, and to assess the value of the new user in correlation to the campaign, website, or network from which the user was derived.
[00104] The Messaging and TPD applications together use the following monitoring and reporting applications.
[00105] Graphite (A20) is a tool for monitoring and graphing the performance of computer systems. Here, it gathers metrics from the server hardware and software applications used by the Tengi application, although an alternate monitoring tool may be used without departing from the scope hereof.
[00106] Cabot (A21) is a monitoring and alerting server that monitors Graphite metrics and can send alerts related thereto via SMS or email as discussed above (via the interaction of the Cabot software with SMS module E01 and Email module E02). It can be used to enable alerts based on one or more metrics passing predefined thresholds, and it manages the communication of alerts to system administrators, although other monitoring and alerting tools may be substituted without departing from the scope hereof.
[00107] Grafana (A22) is a general purpose Graphite dashboard that enables easy metric and function editing, and fast client side rendering. Here, it can be used to provide visualization of metric data for manual checking and analysis. However, alternate metric data visualization tools may be substituted without departing from the scope hereof.
[00108] Finally, the whole system is controlled by a Management server (A23) that creates awards and manages their data flow within storage S01 when the prize draw report has been confirmed by an administrator. The system also comprises other aspects, such as server clustering, load balancing, and inter-application or inter-server communications protocols. But because those aspects are well known in the art and do not serve to explain the herein disclosed systems and methods, they will not be discussed further here. [00109] Further aspects of the exemplary Messaging and TPD application will now be disclosed in greater detail. As used hereinafter, the term "benefit" signifies something of value that is given to a user based on their ordinary usage of the application for its stated purpose. In embodiments, a benefit may also or alternatively be obtained by a user based on a characteristic of the user's own usage of the system and/or on a characteristic or benefit of the user's contact list friends' usage or benefits. In the exemplary system described, the benefit to the user is realized as tickets that represent chances to obtain an award in a prize draw. The tickets of a plurality of users are included in a prize draw, and one or more of the tickets are randomly selected as the winning ticket(s). The award(s) are prize(s) won by the user associated with the winning ticket(s). The prizes may include money, gift cards, donations to charity on behalf of the user, or anything else that provides value to the winner.
[00110] With regard to types of prize draws, the Tengi application is capable of running single discrete prize draws, a series of contiguous repeating prize draws, or multiple instances of one or both types simultaneously, all with differing configurations and rules. The depicted embodiment of the present invention includes prize draws for individuals. Each user of the Messaging application is automatically entered into the main prize draw, subject to certain criterion. In the depicted embodiment, the main prize draw runs on a weekly repeating basis, with start and finish times at 7pm on Fridays, for example. Each entrant in the draw can have one or more chances to win benefits (e.g., tickets). These benefits are given according to certain configurable rules or predetermined benefit accrual criterion. Each benefit has an equal chance of winning a prize. Each benefit only counts once in the draw, and once it has won a prize, it is made invalid for future drawings. The prize draw for an individual user incentivizes the user to grow his or her network of Tengi friends and to use the Messaging application because tickets are given based on these activities.
[00111] Because prize draw/sweepstakes laws and regulations differ from state to state and country to country, the Tengi application requires users to declare which state and country they "belong to" as a condition of membership. Illustratively, one can be deemed to belong to a state or country if it is his or her domicile, or if he or she have a residence there. Once a country is declared, the award values are shown in the currency of the selected country, and the rules and agreements are shown in the local language, with appropriate modifications made as necessary to satisfy local regulations. These settings override any regional settings on the user's computing device. Award payment methods are set individually for each country, as some claim methods may not be available in some countries. Once a prize draw has started, its settings (including duration, rules and awards) cannot be changed. [00112] Additional aspects of the present invention may include prize draw for groups. In addition to messaging each other on a one-to-one basis, users of the Messaging application may also be enabled to set up groups, and then send and receive messages to and from the whole group. Group messaging is an important driver of application activity, and it is a reason for users to stay loyal to an application once using it (as it is much harder to encourage a whole group to use a different messaging application as compared to an individual user). Therefore, in addition to the prize draw for individuals, the Tengi application may include a prize draw for groups. Group tickets may function in a way similar to individual tickets, but with some important differences. Each group ticket will have an equal chance of winning a prize, but the inclusion criterion for entry and rules for giving group tickets will differ from those for individual tickets. Group draws may also have special mechanisms for payment of prizes as described in greater detail below.
[00113] The Tengi application may also include special prize draws for other friends of users of the Messaging application with shared characteristics. For example, in addition to the main prize draw for individual users, the Tengi Application also provides the capability to enter specific friends of users into special draws, for example for specific promotional or motivational purposes, or to have different draws for different countries. These special draws may have their own configurations, rules, etc. and can run in parallel with other prize draws. All variables that apply to regular draws may also apply to special draws or such variables may be altered without departing from the scope hereof.
[00114] In an embodiment, the setup of prizes in the main prize draw may be as follows. The number and value of prizes (hereinafter "Prize bands") may be set up in advance of the draw. There can be any number of prize bands, with any number of winners and any award value (e.g., cash value, gift card value, etc.) assigned to each prize band. The award values within each prize band may be preset for the currency of each country in which the prize draw is running. The number of awards may be global, i.e., a predetermined quantity of awards may be issued for all countries participating in the prize draw(s). For example, if the predetermined awards are four (4) £250 awards, 1 winner might come from Germany, 2 from the UK and 1 from USA, but there will always be exactly 4 winners. The awards will be displayed in the currency of the corresponding country. For example, in the UK, the prize bands might appear as: 1 x £10,000 award, 4 x £250 awards, and 900 x £5 awards, whereas for a Tengi user based in Germany, the same prize bands would display, but with the award values in Euros rather than Pounds Sterling, e.g., 1 x€13,600 award, 4 x€340 awards, and 900 x€7 awards. [00115] In addition to the prize bands, each prize draw may also have a "reserve list", which is a non-winning prize band which forms a list of users to whom awards can be awarded if they are not claimed within the required period or if the original winner breached the predetermined award criterion (e.g. by collecting suspiciously large numbers of benefits, by being below the minimum age, etc.). Each prize band may also have a set of allowed award payment methods. Exemplary methods include: manual or in person delivery (for large value awards), issuance of Amazon credits or gift cards, automatic transfer of monetary awards into the user's bank account via wire transfer or the like, and donation of the award to a charity on behalf of the winning user. For the donation option, a specific charity may be nominated for each prize draw or the charity may be selected by the winning user. For the former, all awards donated for that specific prize draw will be transferred to the single nominated charity. A different charity can be nominated separately for each prize draw. A different charity may also be nominated for each country in which the prize draw operates. As noted above, in the depicted embodiment, once a prize draw has started, its settings cannot be changed. However, the prize draw parameters and/or predetermined award criterion may be altered without departing from the scope hereof.
[00116] Additional prize draw aspects may include the following. For one or more prize bands (or all prize bands), awards could be any item of value, rather than cash. In different countries, different payment methods may be introduced depending on what is both popular and technically feasible in the countries in question. Award distribution methods may be enabled on a per country basis. More than one charity can be nominated for each prize draw, so that users can choose at the point of donation which charity they wish to receive their donation. And, group prize draws may also have prize bands similar to the individual prize bands described above.
[00117] Regarding duration and repeating of prize draws, in this exemplary
implementation, the main prize draw period may be configured to be one (I) week and it may repeat sequentially without lapse (i.e. the moment that one prize draw period concludes, the next prize draw period starts). In the exemplary configuration, each successive prize draw inherits by default all the settings from the one preceding it. These settings can be edited by an administrator for the next prize draw at any time prior to the start of that prize draw's application-use time period (i.e., the time period during which the user's usage accrues benefits or tickets for entry into the corresponding prize draw). However, when a prize draw period starts, the settings for that prize draw can no longer be edited, but simultaneously the next scheduled prize draw is created and is available for editing prior to its start. The start- finish time for the main prize draw periods should be consistent, for example, Fridays at 7pm GMT, and shall remain consistent until it is changed, for example, by an administrator. In the United States, for example, the duration of the draw period may be adjusted twice per year to take account of daylight saving time. The start and finish time for the main draw is set by an administrator user with the appropriate permissions via the administrator panel.
[00118] Additional aspects of the prize draws may include the following. A plurality of different prize draws can be run concurrently with different arrangements. For example, a one time draw may be set up (i.e., a single draw with a specific start and end time, which does not automatically repeat). Concurrent repeating draws can be set up to repeat with the same or different periods/durations and/or to execute the prize draw at the same time or different times. Alternatively, conditional draws can be set up to start and finish based on
predetermined conditions, rather than at a set time (e.g., when a certain number of users have started using the Tengi application).
[00119] In this exemplary embodiment, the Tengi application prize draw is only available to users of the application, which may be made freely available to anyone with a computing device. For example, the application may be downloadable from the Google Play store, Windows store, or the ITunes application store. Once a person has established and verified a user account via the Tengi application as described above, the user may accrue benefits that may be entered into the prize draw automatically each prize draw period. A user may accrue benefits in accordance with predetermined benefit accrual criterion. However, in order for the benefits to be entered into the current prize draw and/or in order to avoid forfeiting a user's benefits, the benefits and the user must meet certain predetermined benefit qualification criterion and user qualification criterion, respectively.
[00120] Users may earn benefits such as tickets if certain conditions comply with the predetermined benefit accrual criterion. In the exemplary embodiment, predetermined benefit accrual criterion includes, but is not limited to: one (1) ticket per prize draw for keeping the Tengi application installed during the corresponding application-use time period; one (1) ticket for each day that the user uses the Tengi application during the corresponding application-use time period; eight (8) tickets for each member in the user's member list that started using the Tengi application during the corresponding application-use time period; two (2) tickets for each Tengi "friend" on the user's member list that won a prize in the previous prize draw; and one (1) ticket for every fifteen (15) minutes that the user uses the Tengi application (i.e. use may be monitored by monitoring the duration of time that the user keeps the Tengi application in the foreground of the user's computing device's screen and the Tengi application is displaying the messaging member list or the messaging pane screens, thereby assuming that the user is viewing the list or pane screens) during the application-use time period. The numerical variables for each of the predetermined benefit accrual criterion can be changed on a per prize draw basis and may be set by an administrative user who has the appropriate permissions via, for example, an administrative panel as discussed in greater detail above. These benefit criterion are merely exemplary and criteria may be omitted or alternate criteria may be added or substituted without departing from the scope hereof. For example, a predetermined quantity of tickets or other benefits may also be provided to a user for activities such as first time registration with the Tengi application or actions performed via the messaging application including, but not limited to, sending a message (of any type or a specific type), receiving a message (of any type or a specific type), starting a messaging group, being added to a messaging group, and inviting someone to register with the Tengi application.
[00121] In some embodiments of the invention such as the one depicted in FIGS. 4-1 ID, the predetermined benefit accrual criterion also includes criterion for awarding benefits to users in a messaging group. Such benefits may be summed from the benefits given to the individual members of the group for their individual activities and/or may be given for activities related to the messaging group including, without limitation: time spent by individual group members in the group chat or profile screens; quantity of messages sent within the group (messages of any type or a specific type); forming a group; adding a user to the group; and increasing the size of the group relative to the application-use time period associated with the prior prize draw.
[00122] Although a user has earned benefits such as tickets, the user must also qualify to keep those benefits and have those benefits entered into a prize draw by meeting
predetermined benefit qualification criterion and user qualification criterion. In the depicted embodiment, the predetermined benefit qualification criterion include the requirement that the user must log into the application at least once during the a predetermined application-use time period associated with the prize draw to qualify the benefits for participation in the prize draw, otherwise any benefits or tickets awarded to the user will not qualify for participation in the current or future prize draws and will be permanently forfeited. That is, a user must login to the application (that is, have an authenticated session open with the Tengi application server or a peer computer) at least once within the application-use time period associated with the current prize draw in order for the user's benefits or tickets to qualify for inclusion in that prize draw. If these criteria are not met, any tickets or other benefits given to the user for use in the current prize draw (e.g., tickets or benefits received from friends on the user's member list winning awards in the previous prize draw) will be invalidated/forfeited. Also, in the depicted embodiment, excess tickets that exceed a predetermined maximum ticket quantity as determined by the benefit qualification criteria will not qualify for the current prize draw but may be carried over into the next prize draw. However, alternate embodiments are envisioned in which excess tickets are forfeited and/or the quantity of excess tickets is limited.
[00123] In the depicted embodiment, users must also meet predetermined user qualification criterion in order to enter benefits into a prize draw and/or receive awards from a prize draw. In the depicted embodiment, these user qualification criterion include, but are not limited to: users who do not have at least one (1) Tengi "friend" cannot win a high value prize; employees of the provider of the Tengi application and their families and employees of businesses associated with providing the Tengi application cannot participate in prize draws; users who request account deletion are no longer eligible for participation in prize draws and any tickets or other benefits previously provided to the user will be invalidated. These predetermined user qualification criterion and rules for participation are merely exemplary and individual criteria may be omitted or new criteria may be added or substituted without departing from the scope hereof. For example, a user may be required to have any number of Tengi friends in the user's friend/member list and/or may have been required to send at least one message during the application-use time period associated with the prize draw in order to collect an award .
[00124] In the depicted embodiment, predetermined benefit accrual criterion is also defined in order to determine how many benefits will be provided for meeting predefined accrual criterion. That is, in the depicted embodiment, in order to win an award, the user must meet both the predetermined qualification criterion and the predetermined benefit accrual criterion; however, alternate embodiments are envisioned in which the user may win an award by meeting only the predetermined qualification criterion or the predetermined benefit accrual criterion.
[00125] Regarding receipt of benefits via the application and current benefit status, application users can check benefit status at any time via the Tengi application. More specifically, when a user logs in and begins an authenticated messaging "session" through the application, the current benefit status is sent from the server or peer computer to the application for display on the user's computing device. Current benefit status information and related information displayed to the user may include, but is not limited to: the total number of benefits the user currently has; the number of benefits accrued in each category (see predetermined benefit accrual criterion above for categories); the number and value of the different awards available, typically presented in the currency of the user's chosen country; the total number of award winners; the total amount awarded; the date when the Tengi application began providing awards; and the time remaining until the current prize draw finishes. The screen of current benefit status information and related information may depend on the configuration of the current, ongoing prize draw, and can vary between prize draws. The criterion for giving benefits, including both the rules for giving benefits and the number of benefits given in each category, can also vary between prize draws as discussed above. The application will regularly update current benefit status information and related information while the user has an authenticated session open with the server or a peer computer. This information listed above is merely exemplary and information may be omitted or alternate information may be added or substituted without departing from the scope hereof.
[00126] In the depicted embodiment, the messaging application sends users automated messages as a result of the following events: winning an award; one or more friends winning an award (thus, the notified user is provided with benefits for the next draw); and a user's friend registering with the Tengi application (thus, the notified user is provided with "Friends joined" benefits for the next or current prize draw). These notifications are merely exemplary and notifications may be omitted or alternate notifications may be added or substituted without departing from the scope hereof. For example, notifications could be sent to notify users that they have new benefits in other categories than those originally listed or as a result of other events or circumstances (e.g. time countdown to the prize draw).
[00127] With regard to picking winning benefits or, in the depicted embodiment, when the prize draw finishes, the TPD application automatically processes all tickets that were given during the corresponding application-use time period to be included in the prize draw (bearing in mind that ticket-processing is implemented via a queuing system and is therefore not instantaneous). Once all tickets that should have been given within the prize draw's corresponding application-use time period have been processed, the winning tickets are selected at random according to the specific configuration of prizes previously set for this draw (i.e., the "prize bands" as described above). One method of picking winning benefits or tickets is described in greater detail below, however, alternate methods may be substituted without departing from the scope hereof. [00128] In the depicted embodiment, winning benefits or tickets are chosen for the prize bands in decreasing order of value (i.e., the tickets associated with the largest prizes are selected first). Each ticket has one chance of winning a prize, and each user can win more than one prize within a single prize draw. Once a ticket has won one prize, it cannot subsequently win another. Once the application has picked the winning tickets, it compiles data regarding the winning tickets in a "draft prize draw report" for review by an
administrator. This manual review helps to detect and combat abuse (e.g., the administrator manually reviews users with suspiciously large numbers of tickets), however, this manual review is not required to implement the present invention. If a "draft winner" (i.e., a winner according to the draft prize draw report) seems to have been abusing the application or otherwise breaching the prize draw rules, the winner can be replaced in the draft prize draw report with a user selected at random from the "reserve list" as described above. In cases of extreme abuse, the entire process of picking winning tickets can be rerun from scratch (as long as the draft prize draw report has not yet been finalized/confirmed).
[00129] Once the administrator is satisfied that the winning tickets in the draft prize draw report are genuine, the draft prize draw report is confirmed and the results are communicated to the winning users. This method of selecting winning benefits is merely exemplary and steps thereof may be omitted or alternate steps may be added or substituted without departing from the scope hereof. For example, users could be restricted to winning only one (1) prize per prize draw (i.e., once the user associated with the winning ticket has won a prize, the user's remaining tickets (if any) are invalidated and removed from the prize draw, and prizes could be picked in any order, or in a random order, rather than in order of decreasing value). With regard to the communication of prize draw results, in the depicted embodiment, after the prize draw is complete, there is a short interim time period while the winning tickets for the prize draw are fully determined (i.e., the corresponding prize draw events are processed from the prize draw queue). During this time period, a message is displayed by the Tengi application which informs users that the application-use time period for the next prize draw is underway (i.e., the user's actions now count towards the next prize draw), and the awards for the previous prize draw are being processed. Once the prize draw report has been confirmed, messages are sent to award winners. Non-winners do not receive a message. Data about the prize draw (e.g., the total amount awarded and the total number of winners) is updated and communicated to users via the application or SMS or email messages sent via the application. And, award winners will see special screens when using the application that enables them to claim their awards as described in greater detail below. This method of communicating prize draw results is merely exemplary and steps thereof may be omitted or alternate steps may be added or substituted without departing from the scope hereof. For example, details regarding the award winners can be published externally (e.g., on a website or via other channels that comply with local regulations), and such publication may be for all winners or for only those that meet certain criterion (e.g., winners from a specific country, or state or region within a country). And, non-winners could also receive a message regarding the prize draw results.
[00130] After the award winners have been confirmed, the depicted embodiment of the present invention provides benefits or tickets to users who are connected to the award winners ("friend winners") in accordance with the predetermined benefit accrual criterion discussed above. These tickets may be entered in the then current prize draw. And, the benefit recipients may receive messages from the application in a similar manner as the award winners as discussed above. In an alternate embodiment, users who are connected to the friend winners may also receive benefits.
[00131] With regards to the payment or donation of awards, in the depicted embodiment, large value awards are provided manually to allow award administrators to collect more information about the winners prior to providing the winners with the corresponding awards. For example, this information may be acquired by contacting the winners directly via telephone or the like rather than through the application. In such scenarios, the winning users simply have to confirm through the application that they expect a phone call from personnel associated with the application provider.
[00132] For other smaller prizes, the method of distribution may be via issuance of Amazon credits or gift cards, automatic transfer of monetary awards into the user's bank account via wire transfer or the like, and donation of the award to a charity on behalf of the winning user. These smaller value prizes can be collected by users by following a sequence of screens within the application, the availability of which depends on the payment methods previously configured for the prize band in question. Users have the option to choose a payment method for each prize won. Once the user has made this initial choice, the process proceeds in accordance with the method chosen.
[00133] The Amazon payment method enables the user to receive an Amazon Gift Code valid in the user's country, via a message from the Tengi application (e.g., SMS or email message). For example, United Kingdom users will receive a code valid for Amazon.co.uk; German users will receive a code valid for Amazon.de; French users will receive a code for Amazon.fr; U.S. users will receive a code for Amazon.com; and so on for each country in which Amazon runs its service and has a Gift Code API available. After selecting this method of receiving an award, and confirming the choice, the user will immediately receive a message from the Tengi application containing the Gift Code and instructions for how to redeem it.
[00134] The bank transfer payment method enables the user to receive award payment directly into his or her bank account and it is implemented by a bank transfer sub-module, which obtains bank payment events from the events sub-module, prepares bank transfer data for CSV export, and produces the CSV export file when triggered by the watcher sub- module. The bank transfer sub-module also sends bank transfer confirmation notifications to multi user chat module A01 for transmission to the associated user when bank transfer events have been processed.
[00135] After selecting the bank transfer method, the user is asked to enter his or her bank account details (e.g., in the UK, these details include sort code and account number in the standard formats) and confirm same. The user then receives a confirmation message from the application. The application produces an output file each day (shortly after midnight) which contains details of each user that has selected this payment method, together with the user's bank account details, a unique reference number, and the payment amount. For example, in the UK, the output file is in a standard SAGE format (comma separated values, with standard columns and data fields enclosed by double quotes). Bank transfer formats will vary depending on the country selected by the user. The bank account detail screen within the application is configured according to the country designated by the user during account registration, and an output file is generated for each country each day. However, alternate methods and/or time periods may be substituted without departing from the scope hereof.
[00136] The donation payment method enables the user to donate his or her award to a selected charity. After selecting this method, more details of the charity are displayed, along with the option for the user to enter his or her email address to receive follow-up information from the charity to which the award will be issued. The user is asked to confirm the choice to donate his or her prize. The user then receives a confirmation message from the application (e.g., from a server or a peer computer). The application produces an output file each day (shortly after midnight) which contains details of each user that has selected to donate his or her prize to the specified charity, together with his or her contact details and preferences (e.g., whether it is ok to contact the user via email for follow-up information). This output file is then passed on to the charity for its records and for processing. The selected charity may vary depending upon the country selected by the user. An output file is generated for each charity each day (if multiple charities are enabled). However, alternate methods and/or time periods may be substituted without departing from the scope hereof.
[00137] These methods of payment or donation of awards are merely exemplary and steps may be omitted or alternate steps may be added or substituted without departing from the scope hereof. For example, the application may provide export formats to banks or the like capable of processing the formats into prepaid debit cards, which are then distributed to award winners. Group Prizes may also be awarded to the individual user members of messaging groups and such prizes can either be shared among the members of the group (that is, those users who belonged to the group at any point during the application-use time period associated with the prize draw) or donated to a charity on behalf of the group users. The award option is set by the group owner and is determined by the setting in effect at the end of the application-use time period associated with the prize draw. In the depicted embodiment, this option can be changed at any time, but the choice in effect at the end of the application- use time period associated with the prize draw will govern distribution of the award.
Depending on the option selected by the group owner, the group owner (and possibly the other members of the group, depending on the option selected) see screens and perform processes similar to those described above for individual user who win awards, similarly depending on the payment method selected for the group prize band.
[00138] Uncollected awards can be reassigned to people from the reserve list as discussed above, after the collection time period for those awards has expired. The duration of the collection time period is defined in the prize draw rules.
[00139] Regarding overall control over prize draws and access permissions, prize draws are regulated by law in most, if not all, countries worldwide, mostly at a national level but sometimes at a state or regional level. In some jurisdictions, prize draws of the type described herein are illegal, In such scenarios, the TPD application will be disabled but the messaging or other application may still be provided to users in jurisdictions in which the TPD prize draws are not allowed.
[00140] In jurisdictions in which prize draws are legal, they are controlled by regulations, many of which are consistent between jurisdictions. Consequently, the depicted embodiment of the present invention implements the following generally consistent rules. Once begun, the key parameters of a prize draw cannot be changed (e.g. the number and size of prizes cannot be increased or reduced, the end date cannot be changed, etc.). Employees of the application provider, members of employee's families, and employees of businesses associated with the provision of the Tengi application are not eligible for the prize draws (see user qualification criterion as discussed above). This rule is enforced within the application by the "Ban" function which maintains a list of users using the messaging application that are
automatically excluded or banned from all prize draws. Also, the picking of winning benefits or tickets is completely random. This is implemented by the use of high quality pre-generated random number files. And, there is no cost to enter the prize draw (otherwise the application would risk being regulated as a lottery). This is implemented by the application being free to download and/or use, and by tickets being freely given, not being purchased. Furthermore, tickets are "given" (never "earned") to users of the messaging application for activities that they would have done anyway on a comparable messaging platform, so that no "work" has been done by users that is then rewarded by tickets. Although these rules are present in the depicted embodiment of the present invention, alternate embodiments are envisioned in which these rules are varied dependent upon the country in which the application is being used and/or with additional features to comply with the legal requirements of the corresponding jurisdiction of use.
[00141] Regarding the set-up of the prize draw, including repeating prize draws, a prize draw is set up and edited by an administrator prior to activation. An access control system is implemented via the application's administrative panel which restricts modification of the prize draw parameters and configuration functions to those administrators with the necessary security clearance.
[00142] Once a prize draw is activated, the key parameters of a prize draw cannot be changed. For the main repeating prize draw, the application-use time period corresponding to a new prize draw starts when the application-use time period corresponding to a previous prize draw finishes.
[00143] The executor sub-module within the Prize Draw (PD) module (See FIG. 4) manages the whole prize draw, iterates data over a plurality of users to create a data file containing a list of qualifying users and their associated benefits, then calls the draw sub- module to pick the winning benefits. Once the executor sub-module has the prize draw results, it passes them to the winners sub-module. During this process, the executor sub- module checks the qualifying credentials of users and removes any user accounts mat are locked or banned from participation in the prize draw. The executor sub-module also reads prize draw settings and creates new prize draws and scheduled prize draws.
[00144] For a special prize draw, this is created by request of an administrator. The administrator can determine the following prize draw characteristics: the type of draw (e.g., one-off or repeating); initiation criterion may be set for starting of the application-use time period to be associated with the prize draw (e.g., time-based or conditional); inclusion criterion may be set (e.g., which users may participate in the prize draw); benefit accrual criterion may be set (the criterion for receiving benefits may be selected from the available options, which options may be determined by the type of prize draw); benefit qualification criterion may be set (the criterion for determining which benefits are eligible for inclusion in a prize draw, which may be selected from the available options, which options may be determined by the type of prize draw); user qualification criterion may be set (the criterion for determining which users are eligible to enter his or her benefits for inclusion in a prize draw, which may be selected from the available options, which options may be determined by the type of prize draw); and prize draw settings can be copied from a previous prize draw or left blank for manual entry.
[00145] For a repeating draw, the settings for a new scheduled prize draw begin as a copy of the settings for a previous prize draw. The administrator then sets or amends the various settings for the scheduled prize draw via the administrator panel as discussed above. These prize settings can include the following: start and end date and time; ticket limit per user; prize level settings (e.g., quantity of prize levels, quantity of winners in each prize level; prize values in each prize level on a per country basis; currency to display for each country; and available payment methods for each prize level.
[00146] These prize draw parameters are merely exemplary and parameters may be omitted or alternate parameters may be added or substituted without departing from the scope hereof. The administrator also has the ability to modify settings related to benefits via the administrator panel such as, but not limited to, excess benefit (i.e., the quantity of benefits in excess of the maximum allowed in a particular prize draw); excess benefit carry over enabled? (Yes / No); maximum number of excess benefits allowed to carry over from previous draw; quantity of tickets issued to a user when a friend registers for the application; quantity of tickets issued to a user for a list member winning an award; quantity of tickets issue to a user for accessing the application for the first time each day; quantity of tickets issued for duration of time of use of the application by a user as measured in seconds;
quantity of tickets issued for duration of time of use of the application via a group screen as measured in seconds; quantity of tickets issued to a user for registering with the application; quantity of tickets issued to a user per week for keeping the application installed on a user's computing device; and nominated charities (e.g., one charity per prize draw per country). These setting are merely exemplary and settings thereof may be omitted or alternate settings may be added or substituted without departing from the scope hereof. [00147] The user computing devices may be equipped with client software that enables the following set of TPD related features at the user computing device: display of current benefit status (e.g., total benefits available to the user, benefits by category, or the like), which may be visible to the user in the form of a counter displayed on the main navigation screen, the prize draw screen, and/or the benefit details screen; display of benefit accrual criterion for earning tickets for one, some or all categories, which may be visible on welcome screens; display of 'Tell people about Tengi" displays which may be included in chat list, contacts, prize draw and/or settings screens; display of "Tell people about Tengi" method choice screens; display of 'Tell people about Tengi" confirmation screens; display of "Ways to get tickets" screens; display of "How we keep score" screens; implementing the prize draw configuration which is visible to the user on the Prize Draw screen; displaying the "Tell people about Tengi" pre-filled invitation text and images which are visible to a user in screens provided by other communication applications; display of Prize Draw Country Selector screen which is visible to a user during the user registration process; display of the Prize Draw rules, the display of which is linked with data from the Prize Draw and Country Selector screens; display of the "You Won" screen and/or panels, the panels visible on the Prize Draw screen once a prize has been won; display of the "Friends Won" screens and/or panels visible on the Prize Draw screen, once friends have won prizes; display of the Prize payment method screen which includes the option to donate the award or prize and which becomes visible to a user once a prize has been won by the user; display of a Prize payment screen which accepts payment details and provides payment confirmation screens for all implemented payment methods (e.g., Amazon Gift Code and Bank transfer); display of prize donation details and confirmation screens; display of prize draw related messages issued by the providers of the Tengi application which are made visible in the chat list and chat pane screens and inform users about the TPD related events listed above; and display of any other TPD communications deemed necessary from time to time by the administrators of the TPD application.
[00148] Referring now to FIG. 5, depicted is a flow chart showing how, once a prize draw has started, benefits are provided via a process 500. The flow begins at 500, at which the application-use time period begins. Once the application-use time period has begun, the application will generate benefit-related events at 502, including, without limitation:
[00149] User_session_duration (with parameter "starting") - triggered when multi user chat module A01 receives the "chatting started" IQ sent from the user computing device when a user enters a chat screen (either the chat list or the chat pane). When this event is processed by PP module A09, it begins tracking time for use of the messaging application and it triggers checking for user activity in the current prize draw in order to provide benefits for use such as duration of use of the messaging application and days of use of the messaging application;
[00150] User_session_duration (with parameter "stopping") - triggered when multi user chat module A01 receives the "chatting stopped" IQ, sent from the user computing device when a user leaves a chat screen for a non-chat screen. When these types of events are processed by PP module A09, it adds time for use of the messaging application;
[00151] New_roster_item - triggered when the roster module A02 notifies multi user chat module A01 that a new user has been added to a current user's roster or messaging list When these types of events are processed by PP module A09, it results in the providing of "Friends Joined" benefits (subject to certain conditions being met as otherwise discussed herein);
[00152] Points_requested - triggered when multi user chat module A01 receives a request from a client for its current benefit status. When processed by PP module A09, it results in some checks for the user's activity in the current prize draw, and subsequent amending (if necessary) of the user's current benefit count;
[00153] Ask_for_code - triggered when multi user chat module A01 receives a request from a client residing on a user computing device for an award to be paid with an Amazon gift code. When processed by the Amazon sub-module within the PD module A10, it results in the delivery of a valid gift code in a message sent back to the requesting user;
[00154] Bank_transfer_added - triggered when multi user chat module A01 receives a request from a client residing on a user computing device for a prize to be paid via bank transfer. When processed by the bank transfer sub-module within the PD module A 10, it results in the addition of a payment request item (including the bank details provided by the user) to the appropriate daily export file; and
[00155] Donate_a_prize - triggered when multi user chat module A01 receives a request from a client residing on a user computing device for a prize to be donated to the charity specified as part of the configuration for the prize draw in question. When processed by the charity sub-module within the PD module A 10, it results in the addition of a donation record item (including any contact preferences and details provided by the user) to the appropriate daily export file.
[00156] At 504, the benefit-related events are stored in storage such as storage S03 (FIG. 4). Next, at 506, an AMQP sub-module of the PP module A09 (FIG. 4) registers the events generated at step 502 and passes them to an Events sub-module of the PP module A09 (FIG. 4), which processes the events at 508 to create benefits according to the predetermined benefit accrual criterion such as those discussed above and as set by an administrator for the current prize draw. However, it should be noted that some of the triggers listed above do not create benefits but they will still be passed to the events sub-module of the PP module A09 (FIG. 4) for processing.
[00157] The event sub-module processing also takes account of the prize draw application- use time period events which occurred during the prize draw application-use time period and will result in benefits being provided for that prize draw. Once a prize draw application-use time period concludes, all events that occurred within that application-use time period will be processed, and event processing will pause until the benefits for prior prize draws have been collected by the executor sub-module of the PD module A10 and a new prize draw has been fully initiated. Benefits are written to a "user points map" table which may be stored in storage S01.
[00158] Separately, at the moment that the award winners of the previous prize draw have been confirmed at 503, a winners sub-module within the PD module A 10 provides tickets (according to the predetermined benefit accrual criterion as set for the previous prize draw) to the friends of the award winners confirmed at 503. Thereafter, at 510 (which may be accessed from 505 or 508), benefit data is stored in storage such as storage S01 (FIG. 4).
[00159] Turning now to FIG. 6, depicted is a flow chart showing a method of concluding a prize draw once its application-use time period has ended. As shown, the method begins at 602 when the watcher sub-module of the PD module A10 (FIG. 4) determines that the application-use time period associated with the prize draw has ended. The watcher sub- module is also responsible for determining when a prize draw should be run (i.e., for the end of the period) and when Comma-Separated Value ("CSV") data for bank transfers and donations should be generated.
[00160] Next, at 604, the executor sub-module of the PP module A09 (FIG. 4) obtains all benefits and processes the queue of benefits (also ensuring that the queue of old events has been fully processed). Once the queue has been processed, process 600 proceeds to 606, at which the executor sub-module of the PD module A10 (FIG. 4) iterates the processed benefits over all users and assembles a data file containing the benefit details of all qualifying users. At 608, the executor sub-module of the PD module A10 (FIG.4) works in conjunction with the settings module of the PD module A10 (FIG. 4) to read the settings of the scheduled PD, create a new PD, and then copy the read settings to the newly scheduled PD.
Simultaneously, or nearly simultaneously, at 610, the draw sub-module of the PD module A10 (FIG. 4) processes the data file created at 606 including the user and ticket information, and selects as many winners as are specified by the PD settings. In some embodiments, the winners are selected via execution of an interval tree algorithm as described herein, but alternate methods may be substituted without departing from the scope hereof. The interval tree algorithm may be written external to the messaging or TPD applications, for example, in a programming language such as C.
[00161] Next, at 612, the draw sub-module stores the details of the winners to storage such as storage SOI (FIG. 4). Then, at 614, the winners sub-module of PD module A10 (FIG. 4) prepares the draft prize draw report and communicates same to the PD administrator and manages the interaction between the PD administrator (via the administrator panel computing device FIG. 4) and the draft prize draw report, until the point of confirmation of the report by the administrator. Once the draft PD report has been confirmed, the management sub-module of PD module A10 (FIG. 4) creates the awards and writes their details to storage such as storage S01 (FIG. 4) at 616.
[00162] Next, at 618, the winners sub-module of PD module A10 (FIG. 4) transmits award data to award winners and benefit data to benefit recipients. This data may be sent via multiuser chat module A01 and it may include awards being awarded to award winners as well as benefits provided to the friends of the award winners (e.g., those users in the reverse roster of the prize winners, de-duplicating as necessary). The awarding of benefits to friends of award winners is completed by the events sub-module of PD module A10 (FIG. 4), which also writes the data to storage such as storage S01 (FIG.4) at 618. Step 618 also triggers the Localytics module to send data from the confirmed prize draw report to Localytics via the Localytics API E04 (FIG. 4).
[00163] The AMQP sub-module of PD module AIO (FIG. 4) then monitors storage such as storage S03 (FIG.4) at 620 for prize-related events and passes such events to the events sub- module of PD module AIO (FIG.4) for processing. This processing includes delivering events to other modules or sub-modules and writing new "Friends Won" benefits to the user points map stored in storage S01. At 622, the winners sub-module of the PD module AIO (FIG. 4) responds to prize events to change statuses of prize awards. Simultaneously, at 624, the Amazon, bank payments, and charities sub-modules of the PD module AIO (FIG. 4) receive their associated events and process them to process award distribution through payment or donation of such awards. These sub-modules will also trigger automated messages to be sent at 626 by the multi-user chat module A01 or SMS and email services E01 and E02, respectively, thereby confirming payment or donation of awards to the winning users. The PD administrator can continue to interact with the confirmed PD report via the administrator panel and the winners sub-module of the PD module A 10 (FIG. 4) to control the statuses of specific prizes, and to send messages to all prize winners or other benefit recipients.
[00164] Turning now to FIG. 7, depicted is a diagram of a process 700 of adding data about a new contact to a user's address book or roster, and the process that occurs when this new contact subsequently registers with the Tengi application as a friend of the current user, and subsequently wins an award. Process 700 begins at 702 at which user A of the new application adds person C to his or her phone contacts, wherein person C is not necessarily a user of the application. At 704, the address of person C is added to user A's address book and thereafter, at 706, user A is added to person C's reverse address book or RAB as discussed above since person C is in user A's address book. Next, at 708, person C is added to user A's roster and thereafter, at 710, user A is added to person C's reverse roster or RR as discussed above since person C is in user A's roster. At 712, person C joins Tengi (i.e., creates a user account with the Tengi application). Thereafter, at 714, the event of person C registering with the application triggers the PP module A09 to parse the reverse roster for person C and to award benefits to those users in the reverse roster (i.eM users A and B). Similarly, if person C wins an award at 716, this event triggers the winners sub-module of PD module A10 to parse the reverse roster for person C and to award benefits to those users in the reverse roster (i.e., users A and B).
[00165] FIGS. 8A-8G depict exemplary screenshots showing some of the TPD related displays displayed on the user's computing device as described herein. FIG. 8A depicts display 802 of prize draw related official communications issued by the provider of the Tengi application (e.g., news or status updates related to the application) and display 804 of current benefit status (e.g., quantity of tickets earned). FIG. 8B depicts display 806, an in-context display of benefit accrual criterion or a portion thereof. FIG. 8C depicts display 808 of prize draw configuration data or a portion thereof including, without limitation, time remaining until the next prize draw, prize values and quantities, and total value of all awards given away since the first award. FIG. 8D depicts display 810 of current benefit status and a breakdown of benefits per category. FIG. 8E depicts display 812 of prize draw configuration data or a portion thereof including, without limitation, benefit accrual criterion. FIG. 8F depicts display 814 of a notification of an award win to the winning user and display 816 of an icon that the winning user selects to initiate collection or payment of the award won. FIG. 8G depicts display 818 of options for payment or other distribution of an award and display 820 of a donation option for donating an award to charity.
[00166] Referring now to FIGS. 9A-9N, depicted are examples of screens available to an administrator via an administrator panel. FIG. 9A shows prize draw settings for a current prize draw that cannot be changed since the application-use time period associated with the current prize draw has already started. FIG. 9B shows prize draw settings for future prize draws that can be edited up to the moment that the previous prize draw completes and the new prize draw time period begins. FIG. 9C shows a list of available prize draw reports. FIG. 9D shows a prize draw report that has been confirmed by an administrator. FIG. 9E shows the section of a prize draw report depicting the reserve list as described in greater detail above. FIG. 9F shows a data entry screen for sending a bulk message to all award winners from the prize draw that match certain criterion. FIG. 9G shows an edit screen for editing prize draw information or settings. FIG. 9H shows a data entry screen for enabling and disabling prize payment methods on a per country basis. FIG. 91 shows a list of users banned from participation in the prize draws. FIG. 93 shows a list of charities available for award donation. FIG. 9K shows a data entry screen for adding a new charity for donation thereto. FIG. 9L shows a data entry screen for updating the static information associated with each country. FIG. 9M shows a screen for setting automated prize draw message images on a per country basis. FIG. 9N shows a list of downloadable bank transfer CSV files and action buttons that allow an administrator to send message to users associated with those files.
[00167] The workings of the draw sub-module of the PD module A10 will now be described. The first stage of the process is for the draw sub-module to prepare a data file containing the full list of users eligible to enter their benefits or tickets into the current prize draw and the number of benefits or tickets held by each eligible user. The objective of the draw sub-module is to draw one or more winning tickets in the most efficient way. The prize draw configuration (i.e., the prize levels and the number of winners to be chosen for each level including the reserve list) is provided in the settings sub-module, which interacts with the draw sub-module.
[00168] In the depicted embodiment of the present invention, the process of picking winning tickets is as follows. Assume user 1 has Tl tickets; user 2 has T2 tickets, and so on. The process starts by giving each ticket a number in such a way that user 1 has tickets with numbers from 1 to Tl, user 2 to has tickets with numbers from Tl +1 to Tl + T2 and so on. In practice, it means that each user ticket is assigned to an interval of tickets. We can use the assigned numbers to construct an interval tree, which will allow us later to quickly find the owner of the winning ticket. The leaves in the interval tree will have the values of the current user's tickets number and all sum of all tickets for previous users. It means the value of first leaf will be Tl, of the second Tl + T2, of the third Tl +T2 +T3 etc., the last will be N.
[00169] Now we can start to draw the ticket winning numbers. For each of the X tickets to draw, we get the winning number from random number generator, and use it and values in tree leafs to find winning user. We start to search the winner in whole tree. Algorithm runs from the top of the tree to compare the winning ticket number with the value in the nodes. If the value of the winning ticket is less than the value in the node, search further happens in the left half of the tree. If the value of the winning ticket is greater than the value in the node, search further happens in the right node of the tree. This pattern goes on until we pick the leaf for the winning user.
[00170] The following example includes 10 users, and picks one winning ticket among the lot. The same logic applies for picking winning tickets for a prize level also when picking multiple tickets/ winners for each prize level. For each prize level, the algorithm is run sequentially to pick the winning users.
[00171] FIG. 10A is a table showing the number of tickets held by 10 users that will be input to the Prize Draw Algorithm to pick one winning ticket. FIG. 10B shows, based on the input of FIG. 10A, the Number Generator creates "sequential numbers" to be associated to a ticket and the "Interval Tree Algorithm" creates "Intervals" and Tree Leafs to construct the Interval Tree.
[00172] FIGS. 11 A shows an exemplary tree structure diagram constructed using the Interval Tree algorithm. The number generator generates a random winning ticket number. The Interval Tree algorithm runs over the top of the Interval Tree to pick the winning ticket. The following three scenarios of winning tickets are described to explain how it works.
[00173] FIG. 1 IB relates to scenario I - winning ticket number "23". As shown, we start with the Top node. Since it is the top of the tree, we leave it as such and move to below nodes. Then, the winning ticket value is compared to Value (B), i.e, "23" compared to "103". Because 23<103, the search goes to node on the left, which is D. The winning ticket value is now compared to Value (D), that is, "23" compared to "46". Because 23<46, the search proceeds to the node on left, which is G. The winning ticket value is compared to Value (G), i.e., "23" compared to "21". Because 23>21, the search goes to node on right, which is H. Winning ticket value is compared to Value (H); "23" compared to "46". Because 23<46, the search goes to the node on the left, which is O. If node "O" is the bottom of the tree, pick that leaf to be the winner. From the leaf, the algorithm works backward to find the tree interval and from there the user of that interval. Here, the winner is "User 3".
[00174] FIG. 1 IC relates to scenario Π - winning ticket number "103". As shown, we again start with the Top node. Winning ticket value compared to Value (B). i.e., "103" compared to "103". Here, 103=103. If the result is "equal" an additional check is done to compare node on the left, which is D, to the winning ticket number. Here, 103 is compared to Value (D), which is "46". Because 103>46, search goes to node right, which is E. Winning ticket value is compared to Value (E), "103" compared to "103". Here, 103=103. If the result is "equal", an additional check is done to compare node on the left, which is I, to the winning ticket number. Here, 103 is compared to Value (I), which is "75". Because 103>75, the search proceeds to the node on right, which is J. Winning ticket value is compared to Value (J), i.e., "103" compared to "103". Here again, 103=103. If the result is "equal" an additional check is done to compare node on the left, which is S, to the winning ticket number; that is, 103 compared to Value (S), which is "83". Because 103>83, search goes to node on right, which is T. If it is the last node in the tree, pick the leaf to be the winner. From the leaf, the algorithm works backward to find the tree interval and from there the user of that interval. Here, the winner is "User 8".
[00175] FIG. 1 ID relates to scenario III - winning ticket number "113". As before, we start with the Top node. Winning ticket value compared to Value (B). i.e., "113" compared to "103". Because 113 >103, search goes to the node on right, which is C. Since C does not have node on left, the search skips to node F. Winning ticket number is compared to Value (F), "113" compared to "122". Because 113<122, search goes to left node, which is K. Winning ticket is compared to Value (K), "113" compared to "122". Because 113<122, search goes to left node, which is U. Winning ticket is compared to Value (U), "113" compared to "112". Because 113>112, search goes to right node, which is (V). If it is the last node in the tree, pick the leaf to be the winner. From the leaf, the algorithm works backward to find the tree interval and from there the user of that interval. Here the winner is "User 10".
[00176] Although several processes have been disclosed herein as embodied in software, the same processes, functions, etc. may be performed via properly configured hardware alone, or a combination of hardware and software. Further, although the herein disclosed apparatus, systems and methods have been described and illustrated in exemplary forms with a certain degree of particularity, it is noted that the description and illustrations have been made by way of example only. Numerous changes in the details of construction and combination and arrangement of parts and steps may be made, as will be apparent to those of ordinary stall in the pertinent arts in view of the disclosure herein. Accordingly, any such changes are intended to be included within the scope the invention, as defined by the claims appended hereto.

Claims

CLAIMS What is claimed is:
1. A computer-implemented method of enticing a user to use a new, existing, or replacement application, the method comprising the steps of:
offering, to the user, at least one award that may be earned by the user solely for using the application to perform at least one application function;
monitoring usage of the application by the user;
storing usage information of the usage in association with an application user account; providing to the user at least one benefit for the usage when the usage satisfies at least one predetermined benefit accrual criterion;
storing benefit information of the at least one benefit in association with the application user account;
providing to the user one of the at least one awards when the benefit information satisfies at least one predetermined award criterion; and
storing award information of the one of the at least one awards in association with the application user account.
2. The method of claim 1, wherein the application is a social networking application or a messaging application.
3. The method of claim 1, wherein the at least one benefit includes at least one user ticket.
4. The method of claim 3, further comprising the steps of:
grouping the at least one user ticket with at least one other user ticket of other user(s) of the application to create a ticket group; and
randomly selecting one ticket of the ticket group as a winning ticket,
wherein the at least one predetermined award criterion awards one of the at least one awards to the user upon selection of the at least one user ticket as the winning ticket.
5. The method of claim 1, wherein the award is money, a credit, a gift card, or a donation to charity.
6. The method of claim 1, further comprising the steps of:
establishing an invitee user account for an invitee user to use the application, the invitee user an invitee of the user; providing the invitee user an invitee benefit based upon at least one predetermined invitee benefit accrual criterion, the at least one predetermined invitee benefit accrual criterion including at least one characteristic or benefit of the user's use of the application; and
storing invitee benefit information of the invitee benefit in association with the invitee user account.
7. The method of claim 6, wherein one of the at least one predetermined invitee benefit accrual criterion is that when the user receives the one of the at least one awards, the invitee user receives at least one invitee ticket, the invitee ticket providing a chance to win a future one of the at least one awards.
8. The method of claim 6, further comprising the steps of:
providing to the user an inviter benefit based upon at least one predetermined inviter benefit accrual criterion, the at least one predetermined inviter benefit accrual criterion including at least one characteristic or benefit of the invitee user's use of the application; and storing inviter benefit information of the inviter benefit in association with the user account
9. The method of claim 8, wherein the inviter benefit includes at least one inviter ticket, the inviter ticket providing a chance to win one of said at least one awards.
10. The system of claim 1, wherein the at least one predetermined benefit accrual criterion includes at least one of the group consisting of:
the user establishing a new user account to use the application;
the user entering an initial list of other users of the application the user already knows; the user using the application at least once in a first predetermined application-use time period;
a number of times the user uses the second application in a second predetermined application-use time period;
the user performing the at least one application function at least once in a third predetermined application-use time period;
a number of times the user performs the at least one application function in a fourth predetermined application-use time period;
the user being on an award winning user's known members list; an accrued amount of time the user spent using the application;
a frequency at which the user regularly uses the application; and
combinations thereof.
11. A system for enticing users to use a new, existing, or replacement application comprising:
a user interface for accessing the application;
a network; and
a server processor communicatively coupled to the user interface via the network, the server processor further operatively coupled to a non-transitory computer readable medium, comprising instructions stored thereon, which, when executed by the server processor, perform the steps of:
offering, to the user, at least one award that may be earned by the user solely for using the application to perform at least one application function;
monitoring usage of the application by the user;
storing usage information of the usage in association with an application user account;
providing to the user at least one benefit for the usage when the usage satisfies at least one predetermined benefit accrual criterion;
storing benefit information of the at least one benefit in association with the application user account;
providing to the user one of the at least one awards when the benefit information satisfies at least one predetermined award criterion; and
storing award information of the one of the at least one awards in association with the application user account.
12. The system of claim 11, wherein the application is a social networking application or a chat application.
13. The method of claim 11 , wherein the at least one benefit includes at least one user ticket
14. The system of claim 13, further comprising the steps of:
grouping the at least one user ticket with at least one other user ticket of other user(s) of the application to create a ticket group; and
randomly selecting one ticket of the ticket group as a winning ticket, wherein the at least one predetermined award criterion awards one of the at least one awards to the user upon selection of the at least one user ticket as the winning ticket.
15. The method of claim 11, wherein the award is money, a credit, a gift card, or a donation to charity.
16. The method of claim 11, further comprising the steps of:
establishing an invitee user account for an invitee user to use the application, the invitee user an invitee of the user;
providing the invitee user an invitee benefit based upon at least one predetermined invitee benefit accrual criterion, the at least one predetermined invitee benefit accrual criterion including at least one characteristic or benefit of the user's use of the application; and
storing invitee benefit information of the invitee benefit in association with the invitee user account.
17. The method of claim 16, wherein one of the at least one predetermined invitee benefit accrual criterion is that when the user receives the one of the at least one awards, the invitee user receives at least one invitee ticket, the invitee ticket providing a chance to win a future one of the at least one awards.
18. The method of claim 16, further comprising the steps of:
providing to the user an inviter benefit based upon at least one predetermined inviter benefit accrual criterion, the at least one predetermined inviter benefit accrual criterion including at least one characteristic or benefit of the invitee user's use of the application; and storing inviter benefit information of the inviter benefit in association with the user account.
19. The method of claim 18, wherein the inviter benefit includes at least one inviter ticket, the inviter ticket providing a chance to win one of said at least one awards.
20. The system of claim 11, wherein the at least one predetermined benefit accrual criterion includes at least one of the group consisting of:
the user establishing a new user account to use the application;
the user entering an initial list of other users of the application the user already knows; the user using the application at least once in a first predetermined application-use time period;
a number of times the user uses the second application in a second predetermined application-use time period;
the user performing the at least one application function at least once in a third predetermined application-use time period;
a number of times the user performs the at least one application function in a fourth predetermined application-use time period;
the user being on an award winning user's known members list;
an accrued amount of time the user spent using the application;
a frequency at which the user regularly uses the application; and
combinations thereof.
PCT/IB2016/000331 2015-03-03 2016-03-03 Apparatus, system, and method for applications with enticements WO2016139536A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562127522P 2015-03-03 2015-03-03
US62/127,522 2015-03-03

Publications (1)

Publication Number Publication Date
WO2016139536A1 true WO2016139536A1 (en) 2016-09-09

Family

ID=55808784

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2016/000331 WO2016139536A1 (en) 2015-03-03 2016-03-03 Apparatus, system, and method for applications with enticements

Country Status (1)

Country Link
WO (1) WO2016139536A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108446376A (en) * 2018-03-16 2018-08-24 众安信息技术服务有限公司 Date storage method and device
WO2019002427A1 (en) 2017-06-28 2019-01-03 Axtone S.A. Joint arrangement and method for energy conversion
CN109634805A (en) * 2018-11-19 2019-04-16 平安科技(深圳)有限公司 Monitoring data processing method, device, electronic equipment and storage medium
WO2023006166A1 (en) * 2021-07-26 2023-02-02 Марат Рашидович АБЕНОВ System and method for organizing a service for the sale of goods and services

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
No relevant documents disclosed *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019002427A1 (en) 2017-06-28 2019-01-03 Axtone S.A. Joint arrangement and method for energy conversion
CN108446376A (en) * 2018-03-16 2018-08-24 众安信息技术服务有限公司 Date storage method and device
CN109634805A (en) * 2018-11-19 2019-04-16 平安科技(深圳)有限公司 Monitoring data processing method, device, electronic equipment and storage medium
WO2023006166A1 (en) * 2021-07-26 2023-02-02 Марат Рашидович АБЕНОВ System and method for organizing a service for the sale of goods and services

Similar Documents

Publication Publication Date Title
Maillart et al. Given enough eyeballs, all bugs are shallow? Revisiting Eric Raymond with bug bounty programs
US20160294753A1 (en) System and Method for Implementing an Integrity-Based Social Network Filtering System and Related Environment
US10878437B2 (en) Information sharing method, client, and computer storage medium
US20160239807A1 (en) Method and system for managing an employer sponsored incentive program
WO2019034164A1 (en) Competition event voting system and method
JP6570642B2 (en) Online product reservation system
US20120226603A1 (en) Systems and methods for transactions and rewards in a social network
US20120047002A1 (en) Providing offers based on locations within virtual environments and/or the real world
EP3460736A1 (en) Point donation system
CN102279947A (en) Auditing crowd-sourced competition submissions
US20170103425A1 (en) System and method for generating challenges and awarding promotional awards through a gamified network
WO2016139536A1 (en) Apparatus, system, and method for applications with enticements
US20180158090A1 (en) Dynamic real-time service feedback communication system
US11715126B1 (en) Systems and methods to process payments for subscribership within a membership platform
US20160283983A1 (en) Method and apparatus for providing targeted advertising features to personal social networks
WO2010139915A1 (en) Method for acquiring data from a user at the time of a card payment made using a payment terminal
CN111080342A (en) Resource allocation method and device, storage medium and electronic device
US20230082860A1 (en) Managing vendor offers
US20120035943A1 (en) System and method for allocating contributions to recipients affiliated with a cause
CN109428910A (en) A kind of data processing method, apparatus and system
US20130185122A1 (en) Virtual-to-Real Good/Service System Based on User Participation or Drawing
KR102199944B1 (en) A computer program for providing meeting activity service
US20140122202A1 (en) Managing vendor offers
US20200167829A1 (en) Customizing electronic coupon system &amp; method
GB2526862A (en) Betting system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16718444

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16718444

Country of ref document: EP

Kind code of ref document: A1