Electronic Message Reply Criteria Tracking and Compensation Initiation System
20220394006 · 2022-12-08
Inventors
Cpc classification
International classification
Abstract
Systems and methods for incentivizing responses to messages via compensation. A method comprises using machine readable instructions to: (a) receive a receiving message; (b) identify in a system database a compensation message that: (i) has a reply compensation deadline time that is greater than or equal to a receiving message time; and (ii) a recipient of said receiving message is the same as a sender of said compensation message; (c) adjust a compensation amount based on a difference between said reply compensation deadline time and said receiving message time; and (d) trigger a compensation to a recipient of said compensation message.
Claims
1. A method, comprising: using machine readable instructions to: (a) receive a receiving message; (b) identify in a system database a compensation message that: (i) has a reply compensation deadline time that is greater than or equal to a receiving message time; and (ii) a recipient of said receiving message is the same as a sender of said compensation message; (c) adjust a compensation amount based on a difference between said reply compensation deadline time and said receiving message time; and (d) trigger a compensation to a recipient of said compensation message.
2. A method, comprising: using machine readable instructions to: (a) receive a receiving message; and (b) identify in a system database a compensation message that: (i) has a reply compensation deadline time that is greater than or equal to a receiving message time; and (ii) a recipient of said receiving message is the same as a sender of said compensation message.
3. The method of claim 2, further comprising initiating a compensation if no compensation has previously been made in association with said compensation message between said recipient of said receiving message and a recipient of said compensation message.
4. The method of claim 3, wherein said recipient of said receiving message and said recipient of said compensation message are different.
5. The method of claim 2, further comprising evaluating each of said recipient of said receiving message, a recipient of said compensation message, said compensation deadline time, and an amount of compensation.
6. The method of claim 3, wherein said compensation is adjusted based on a difference between said reply compensation deadline time and said receiving message time.
7. The method of claim 4, wherein said compensation is adjusted based on a difference between said reply compensation deadline time and said receiving message time.
8. The method of claim 2, further comprising creating a message record, said message record comprising a field for each of a compensation history associated with said compensation message, a message identifier, a message content, a deadline, a deadline amount value, a file name, a compensation adjustment function, and a payment satisfaction indicator.
9. The method of claim 2, further comprising creating a message record comprising a deadline amount value.
10. The method of claim 2, further comprising creating a message record comprising a deadline.
11. The method of claim 2, further comprising creating a message record comprising a payment indicator indicating a payment between said recipient of said receiving message and a recipient of said compensation message.
12. The method of claim 2, further comprising creating a message record comprising a payment indicator indicating a payment between said recipient of said receiving message and a recipient of said compensation message based on an adjustable payment function.
13. The method of claim 2, wherein said receiving message time is associated with a time said receiving message is received at a computer.
14. The method of claim 2, wherein said receiving message time is associated with a time said receiving message is received at a computer and saved in a database.
15. The method of claim 2, wherein said receiving message time is a time said receiving message is sent by a recipient of said compensation message.
16. A method, comprising: using machine readable instructions to receive messages each having a reply deadline and a deadline amount value.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The figures described below depict various aspects of systems and methods disclosed therein. It should be understood that each figure depicts an embodiment of a particular aspect of the disclosed systems and methods, and that each of the figures is intended to accord with a possible embodiment thereof. Further, wherever possible, the following description refers to the reference numerals included in the following figures, in which features depicted in multiple figures are designated with consistent reference numerals.
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022] Unless otherwise indicated, the figures provided herein are meant to illustrate features of embodiments of this disclosure. These features are believed to be applicable in a wide variety of systems comprising one or more embodiments of this disclosure. As such, the figures are not meant to include all conventional features known by those of ordinary skill in the art to be required for the practice of the embodiments disclosed herein.
DETAILED DESCRIPTION OF THE DISCLOSURE
[0023] The following detailed description of embodiments of the invention references the accompanying figures. The embodiments are intended to describe aspects of the invention in sufficient detail to enable those with ordinary skill in the art to practice the invention. The embodiments of the invention are illustrated by way of example and not by way of limitation. Other embodiments may be utilized, and changes may be made without departing from the scope of the claims. The following description is, therefore, not limiting. The scope of the present invention is defined only by the appended claims, along with the full scope of equivalents to which such claims are entitled.
[0024] As used herein, the term “database” includes a body of data, a relational database management system (RDBMS), a nonrelational database system and/or other database system. As used herein, database includes, and without limitation, a collection of data, including one or more database types, for example, hierarchical database, relational database, flat file database, object-relational database, object oriented database, network database, centralized database, cloud database, commercial database, distributed database, end-user database, graph database, NoSQL database, open-source database, operational database, personal database, decentralized database, blockchain database, and any other structured and/or unstructured collection of data that is stored. Examples of RDBMS's include, for example, and without limitation, Amazon® Relational Database Service (Amazon® is a registered trademark of Amazon.com Inc, of Seattle, Wash.), Oracle® Database (Oracle is a registered trademark of Oracle Corporation, Redwood Shores, Calif.), MySQL, IBM® DB2 (IBM is a registered trademark of International Business Machines Corporation, Armonk, N.Y.), Microsoft® SQL Server (Microsoft is a registered trademark of Microsoft Corporation, Redmond, Wash.), Sybase® (Sybase is a registered trademark of Sybase, Dublin, Calif.), and PostgreSQL. However, any database or collection of databases may be used that enable the systems and methods to operate as outlined herein. As used herein, the term “server” includes, without limitation, one or more computing machines, one or more computing systems, computer, server, server system, computer network, virtual machine, virtual server, virtual network, Erlang Open Telecom Platform, Erlang Runtime System, Google® Cloud Platform (Google® is a registered trademark of Google Inc, of Mountainview, Calif.), AWS® (AWS® is a registered trademark of Amazon.com Inc, of Seattle, Wash.), IBM® Cloud (IBM® is a registered trademark of International Business Machines Corporation, of Armonk, N.Y.), and/or network.
Network System
[0025]
[0026] In the example embodiment, the communications network 18 includes, for example, and without limitation, one or more of a local area network (LAN), a wide area network (WAN) (e.g., the Internet, etc.), a mobile network, a virtual network, an intranet and/or any other suitable public and/or private network capable of facilitating communication among the computing devices 20, 22, the mobile computing devices 24, 26, and/or the messaging service system 12. In some embodiments, the network 18 includes more than one type of network, such as a private transaction network provided between the messaging service system 12 and the payment processor 32, and separately, the public Internet, which may facilitate communication between the computing devices 20, 22 and/or mobile computing devices 24, 26 and the messaging service system 12.
[0027] With continued reference to
[0028] In the exemplary embodiment, the computing devices 20, 22, 24, and 26 communicate with the messaging service system 12, for example, via the network 18, to transmit and/or receive electronic messages to one or more other users (e.g., users 28 and 30) that are participants of a messaging service offered by the messaging service system 12. The computing devices 20, 22, 24, and 26 can be any computing device capable of interconnecting to the network 18, such as the Internet, including a desktop computer, laptop, tablet, mobile web-based device, smartphone, PDA, or other web-based connectable equipment. The computing devices 20, 22, 24, and 26 are interconnected to a network, for example, and without limitation, the Internet, through one or more interfaces including a network, such as a local area network (LAN), a wide area network (WAN), intranet, dial-in-connections, cable modems, wireless modems, special high-speed ISDN lines, Global System for Mobile communications (GSM), 3G, 4G, and 5G mobile communications, and/or other networks.
[0029] The messaging service system 12 includes, for example, and without limitation, a computer, a server, a network of multiple computing devices, a virtual server, virtual machine, virtual network, virtual computing device, or the like. The messaging service system 12 includes, for example, and without limitation, an application, a downloadable software application, a web application, an application programming interface (API) server, computer, server, network, virtual machine, virtual server, virtual network, and/or a memory device enabling the computing devices 20, 22 and/or mobile computing devices 24, 26 to be in communication with the messaging service system 12 using, for example, and without limitation, the Internet, an intranet, and/or any other network. As described above, the computing devices 20, 22 and/or mobile computing devices 24, 26 are interconnected via a network, for example, and without limitation, to the Internet through one or more interfaces including a network, as detailed above.
[0030] Furthermore, as discussed above, the messaging service system 12 includes, for example, and without limitation, the message server 14, which is connected to the database 16. In one embodiment, the database 16 is stored on the message server 14. In an alternative embodiment, the database 16 may be stored remotely from the message server 14 and may be non-centralized. The database 16 is configured to receive and store system data, for example, and without limitation, user account information, message data, rules and monetary values associated with those accounts, and/or message entries.
[0031] In the exemplary embodiment, a user, such as the user 28 (the “sender”), participates in the message service by recording or processing an electronic message, and selecting one or more recipients. The message may come in any form of communication. And the communications and message may be split into parts that are collectively used as part of the communications system. A user may be a person, a computer, a virtual computer, virtual machine, virtual network, machine, or other entity capable of facilitating an action. In the exemplary embodiment, the user initiates a compensation message to an intended recipient, that contains data, namely a reply compensation value, reply deadline, and message content, to be associated with the recorded message. The message does not need to be recorded, so long as it effectively communicates and processes the data accordingly. In another embodiment, the compensation message may contain only a reply compensation value and an intended recipient. And still another embodiment may contain a compensation message comprising of a varied payment condition based on the time of the reply, for example, a compensation message may include, without limitation, a reply compensation value that adjusts between the time a user initiates the compensation message and the time associated with the recipient replying to the compensation message, and information about how the reply compensation would be calculated. The messaging service system 12 may notify each user selected to receive the recorded message (the “recipients”), using a communications network, such as the Internet, an intranet and/or other network, as detailed above. The notification may include part or all of the compensation message data. And the message to the recipient may include for example, and without limitation, sender data, message compensation data, and/or a notice that they received a message. For example, without limitation, each recipient may be notified via email, SMS, text, a web application, messaging application that is installed on their computing device 20, 22, 24, or 26, or any other communications system. In the exemplary embodiment, the recipient opens a messaging application and is provided data regarding the compensation message, namely, the message content, the reply compensation value, and the reply deadline associated with the compensation message. If the recipient selects to reply to the message, the messaging service system 12 records the reply message and the time of the reply. Based on the time of the reply and the reply compensation value, the messaging service system 12 determines a total reply compensation amount owed to the recipient and makes available payment transaction data to the payment processor 32 to process the transaction accordingly. The reply time used can include the time the server records the reply, the time the user initiates the reply message, and/or any time related to the time a recipient replies to the sending user.
Exemplary Computer Systems
[0032]
[0033] In the example embodiment, the message server 14 includes one or more processors 202 for executing instructions. In some embodiments, the computer executable instructions are stored in a memory device 204. The processor 202 includes, for example, and without limitation, one or more processing units arranged, for example, in a multi-core configuration for executing the instructions. The instructions may be executed within a variety of different operating systems on the message server 14, such as UNIX®, Microsoft Windows®, CentOS®, Community Enterprise Operating System®, Linux®, Amazon® Elastic Compute Cloud®, Amazon® EC2®, IBM® Z® mainframes, IBM® z/OS®, Linux®, IBM® z/VM®, IBM® z/VSE® and IBM® z/TPF Fire®, macOS®, iOS®, Android, Fire OS®, Android®, Android TV®, tvOS®, Web, Windows®, UWP®, and VR, etc. More specifically, the instructions may cause various data manipulations on data stored in database 16 (e.g., create, write, read, edit, save, sort, find, compute, update, and delete procedures). It should also be appreciated that upon initiation of a computer-based method, various instructions may be executed during initialization and some computer executable instructions may come from one or more different sources used to instruct one or more parts of the system. Some operations may be required to perform one or more processes described herein, while other operations may be more general and/or specific to a programming language (e.g., Erlang, Elixir, programming languages on top of the BEAM, bytecode, OCaml, Perl, Swift, PHP, Python, BASIC, Kotlin, Go, Golang, JavaScript, Objective-C, Ruby, Flutter® (Flutter® is a registered trademark of Google Inc, of Mountainview, Calif.) React Native® (React Native ° is a registered trademark of Meta Platforms Inc, of Menlo Park, Calif.), C, C#, C++, Java, or other capable programming languages, etc.). The memory device 204 is any device allowing information such as the executable instructions, data, computer executable instructions, and/or written works to be stored and retrieved. The memory device 204 includes one or more computer readable media. In the exemplary embodiment, the processor 202 is operable to execute the executable instructions, contained in program instructions, operations, and/or steps described herein, so as to control the message server 14 to provide desired functionality. In another embodiment, the processor may be computer executable instructions powered by a computer processor, and/or computer executable instructions working with the computer processor.
[0034] The message server 14 also may include at least one media output component 206 for presenting information to a user, such as a server administrator (not shown). The media output component 206 is any component capable of conveying information to the user. In some embodiments, the media output component 206 includes an output adapter such as a video adapter and/or an audio adapter. An output adapter is operatively coupled to the processor 202 and operatively connectable to an output device, including for example, and without limitation, a display device, a liquid crystal display (LCD), light emitting diode (LED) display, organic light emitting diode (OLED) display, “electronic ink” display, etc. and/or an audio output device, such as a speaker, or headphones.
[0035] In certain embodiments, the message server 14 includes an input device 208 for receiving input from the user. The input device 208 includes, for example, and without limitation, a touch sensitive panel, a touch pad, a touch screen, a stylus, a keyboard, a pointing device, a mouse, and/or an audio input device. A single component such as a touch screen may function as both an output device of the media output component 206 and the input device 208.
[0036] The message server 14 also includes a transceiver 210 (broadly, a communication interface), which is communicatively connectable to one or more remote devices such as the computing devices 20, 22, the mobile computing devices 24, 26, and/or any other computing devices via, for example, the network 18 (shown in
[0037] Stored in the memory device 204 are, for example, and without limitation, computer readable instructions for providing a user interface 207 to the user via the media output component 206 and, optionally, receiving and processing input from the input device 208. The user interface 207 may include, among other possibilities, a web browser and various software applications. Web browsers enable users to display and interact with media and other information typically embedded on a web page or a website via the Internet and/or other networks. The various software applications allow the user to interact with the message server 14 to further communicate with the computing devices 20, 22, the mobile computing devices 24, 26, etc. to facilitate providing various services to the users 28, 30 (shown in
[0038] The memory device 204 includes, for example, and without limitation, random access memory (RAM) such as dynamic RAM (DRAM) or static RAM (SRAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), non-volatile RAM (NVRAM) and/or other memory systems able to perform the task. The above memory types are exemplary only and are thus not limiting as to the types of memory usable for storage of a computer program.
[0039] The database 16 includes, for example, and without limitation, any computer-operated hardware suitable for storing and/or retrieving data. In certain embodiments, the database 16 is integrated into the message server 14. The message server 14 includes, for example, and without limitation, one or more hard disk drives that function as the database 16. In other embodiments, the database 16 is external to the message server 14 and may be accessed, for example, by one or more database servers. For example, the database 16 includes multiple storage units such as hard disks or solid-state disks in a redundant array of inexpensive disks (RAID) configuration. The database 16 includes, for example, and without limitation, a storage area network (SAN) and/or a network attached storage (NAS) system.
[0040] In some embodiments, the processor 202 is operatively coupled to the database 16 via a storage interface 212. The storage interface 212 is any component capable of providing the processor 402 with access to the database 16. The storage interface 212 includes, for example, and without limitation, an Advanced Technology Attachment (ATA) adapter, a Serial ATA (SATA) adapter, a Small Computer System Interface (SCSI) adapter, a RAID controller, a SAN adapter, a network adapter, and/or any component providing the processor 202 with access to the database 16.
[0041] In certain embodiments, it is contemplated that the message server 14 is implemented as a software application, virtual machine, virtual server and/or virtual network. In such embodiments, the hardware described above, such as the processor 202, the memory device 204, the transceiver 210, and/or the storage interface 212 may be shared with the hardware components of another database server (not shown).
[0042] The message server 14 may also include a message module 214, that is configured to monitor the network connections with the computing devices 20, 22 and the mobile computing devices 24, 26, for example, via the transceiver 210, to identify message exchanges and compensation message requests received from users, such as the users 28, 30. The message module 214 is used to write records corresponding to the messages and compensation message requests to the database, for example, and without limitation to one or more tables stored on the database 16, such as a message table 220. In the example, each message is associated with a message record. In one suitable embodiment, the message table 220 includes, for example, a plurality of rows or records, such as message records R.sub.1, R.sub.2, R.sub.3. Each of the message records R.sub.1, R.sub.2, R.sub.3 is associated with a respective user identifier (ID) and includes, for example, a plurality of data fields (e.g., columns of the table), as described further herein. The data fields include, for example, and without limitation, at least a field for the user ID, unique message ID, time of the message request, and the option to include a message text and/or message data file pointer. It is noted that the message records and/or data fields of the message records (e.g., columns of the table) can be stored in one or more databases and/or database tables, and can span one or more databases and/or database tables, and the like. For example, in one embodiment, the data fields associated with the message records may be split into two or more databases and/or database tables, and the message records may be written to different databases, and/or database tables.
[0043] A registration module 216 may be configured to communicate with the computing devices 20, 22 and/or mobile computing devices 24, 26 to receive user information from the user 28, 30 during a registration process. The registration module 216 writes the received user information to one or more tables stored on the database 16, such as a user table 222. In one suitable embodiment, the user table 222 includes, for example, a plurality of rows or records, such as user records UR.sub.1, UR.sub.2, UR.sub.3. Each of the user records UR.sub.1, UR.sub.2, UR.sub.3 is associated with a respective user identifier (ID) and includes, for example, a plurality of data fields (e.g., columns of the table). The data fields include, for example, and without limitation, at least a field for the user ID, user payment information (e.g., payment token), payment sender identification, payment receiver identification, and total compensation amount owed, minus any service fees.
[0044] The message server 14 may also include a compensation determination module 218 configured to determine a compensation amount owed to a user, such as the user 30 (the “recipient”) for replying to a compensation message. As described above, a user, such as the user 28 (the “sender”), may transmit a compensation message to the recipient. The compensation message is associated with a reply compensation value and reply deadline. As described further herein, the reply compensation value can be a fixed value, payable in full to a user that replies to the compensation message at any time before and/or equal to the reply deadline, or a variable value that changes as the reply deadline approaches.
[0045] In addition, the compensation determination module 218 may function as a transaction processing application for executing tokens of value, currencies, cryptocurrencies, points, ratings, NFT, credits, and/or any other payment transactions to the recipient. The transaction processing application may receive payment device details from the sender, for example, from the user table 222 or via his or her computing devices 20, 22, 24, or 26, for compensating the recipient for replying to his or her compensation message. For example, in one embodiment, the transaction processing application may read payment card account details from the user table 222 or the user's digital wallet stored on the computing device 20, 22, 24, or 26, and transmit payment transaction data to the payment processor 32 to process a transaction between the sender and the recipient, for example, by generating one or more payment authorization requests that are routed to an appropriate payment system (not shown).
[0046] In the exemplary embodiment, the compensation determination module 218 is configured to provide the payment transaction data to the payment processor 32 upon receipt of a reply message to which compensation is owed, and may include a required authorization and acceptance from the message sender and/or the service provider. Alternatively, the payment transaction data may be provided to the payment processor 32 at predetermined and/or random intervals, such as one (1) second, one (1) minute, five (5) minutes, sixty (60) minutes, daily (once per twenty-four (24) hours), etc. In an example embodiment, the total compensation amount owed may be written to memory device 204, for example, is a user accessible portion, so that a user can quickly analyze the transaction data, such as determining the total compensation amount owed per user, total number of transactions between users, etc. Alternatively, or in addition, the compensation determination module 218 may be configured to write the payment transaction data to a historical data file 224.
[0047] In the exemplary embodiment, the database 16 and/or memory device 204 stores one or more programs for controlling the processor 202. The programs include program instructions, operation, and/or steps (which may be referred to as computer-readable instructions) that contain executable operations of the message server 14. When the processor 202 executes the computer-readable instructions, it causes the message server 14 to function as described herein.
[0048] The programs may include, for example, one or more conventional operating systems with machine executable instruction (not shown) that control the processor 202 so as to manage and coordinate activities and sharing of resources in the wallet message server 14, and to serve as a host for application programs that run on the message server 14. The one or more conventional operating systems include, for example, and without limitation, UNIX®, Microsoft Windows®, CentOS®, Community Enterprise Operating System®, Linux®, Amazon® Elastic Compute Cloud®, Amazon® EC2®, IBM® Z° mainframes, IBM® z/OS®, Linux®, IBM® z/VM®, IBM® z/VSE® and IBM® z/TPF®, Fire macOS®, iOS®, Android, Fire OS®, Android®, Android TV tvOS®, Web, Windows®, UWP®, and VR, etc. More specifically, the computer readable instructions may cause various data manipulations on data stored in the database 16 (e.g., create, write, read, edit, save, sort, find, compute, update, and delete procedures). It should also be appreciated that upon initiation of a computer-based method, various computer-readable instructions may be executed during initialization. Some operations may be required to perform one or more processes described herein, while other operations may be more general and/or specific to a programming language (e.g., Erlang, Elixir, programming languages on top of the BEAM, bytecode, OCaml, Perl, Swift, PHP, Python, BASIC, Kotlin, Go, Golang, JavaScript, Objective-C, Ruby, Flutter® (Flutter® is a registered trademark of Google Inc, of Mountainview, Calif.) React Native® (React Native ° is a registered trademark of Meta Platforms Inc, of Menlo Park, Calif.), C, C#, C++, Java, or other capable programming languages, etc.).
[0049] The database 16 and/or memory device 204 may include, for example, a user registration application (not shown) that, when executed by the processor 202, enables the message server 14 to handle requests from users, such as the users 28, 30 (shown in
[0050] The user 28, 30 may register for a messaging account with the messaging service system 12 by interacting with a webpage that is hosted by the messaging service system 12. After the user 28, 30 has established his or her account via the webpage, he or she may add payment details for sending/receiving payments for interacting with the messaging service system 12. For example, the user 28, 30 may add one or more of his or her payment cards and/or accounts to his or her messaging account. In one suitable embodiment, the user 28, 30 authorizes the messaging service system 12 work with the payment processor 32 to contact card issuers of the payment card accounts to initiate a process of inputting the relevant payment account data into a digital wallet stored with the user's messaging account.
[0051]
[0052] The client system 300 may also include at least one media output component 308 for presenting information to the user 301. The media output component 308 may be any component capable of conveying information to the user 301. In some embodiments, the media output component 308 may include an output adapter such as a video adapter and/or an audio adapter. An output adapter may be operatively coupled to the processor 302 and may be operatively connectable to an output device such as a display device, a liquid crystal display (LCD), organic light emitting diode (OLED) display, and/or “electronic ink” display, or an audio output device, a speaker, or headphones.
[0053] In some embodiments, the client system 300 may include an input device 310 for receiving input from the user 301. The input device 310 may include, for example, touch sensitive panel, touch pad, touch screen, stylus, photographic element and/or camera, optical sensor, gyroscope, accelerometer, position detector, keyboard, pointing device, mouse, and/or audio input device. A single component such as a touch screen may function as both an output device of the media output component 308 and the input device 310. The client system 300 may also include a transceiver 312 (broadly, a communication interface), which is communicatively connectable to a remote device such as the message server 14 (shown in
[0054] Stored in the memory device 304 may be, for example, computer readable instructions for providing the user interface 34 to the user 301 via the media output component 308 and, optionally, receiving and processing input from the input device 310. The user interface 34 may include, among other possibilities, a web browser and various software applications. Web browsers may enable users to display and interact with media and other information typically embedded on a web page or a website. The various software applications may allow the user 301 to interact with the client system 300 to further communicate with the message server 14, other user mobile devices, other computing systems, payment systems, etc. to facilitate transmitting and/or receiving compensation messages and reply messages provided by the messaging service system 12, and optionally, execute a transaction upon delivery of such services.
[0055]
[0056] The processor 402 may be operatively coupled to a communication interface 406 such that the server system 400 can communicate with a remote device such as the computing devices 20, 22, 24, and/or 26, the message server 14, a client system 300, or another server system. For example, the communication interface 406 may receive communications from the user computing devices 20, 22, 24, and/or 26 and the message server 14.
[0057] The processor 402 is operatively coupled to the storage device 410. The storage device 410 is any computer-operated hardware suitable for storing and/or retrieving data. In some embodiments, the storage device 410 is integrated in the server system 400. In other embodiments, the storage device 410 is external to the server system 400 and is like a transaction database. For example, the server system 400 may include one or more hard disk drives as the storage device 410. In other embodiments, the storage device 410 is external to the server system 400 and may be accessed by a plurality of server systems 400. For example, the storage device 410 may include multiple storage units such as hard disks or solid-state disks in a redundant array of inexpensive disks (RAID) configuration. The storage device 410 may include a storage area network (SAN) and/or a network attached storage (NAS) system.
[0058] In some embodiments, the processor 402 is operatively coupled to the storage device 410 via a storage interface 408. The storage interface 408 is any component capable of providing the processor 402 with access to the storage device 410. The storage interface 408 may include, for example, an Advanced Technology Attachment (ATA) adapter, a Serial ATA (SATA) adapter, a Small Computer System Interface (SCSI) adapter, a RAID controller, a SAN adapter, a network adapter, and/or any component providing the processor 402 with access to the storage device 410.
[0059] The memory area 404 may include, but is not limited to, random access memory (RAM) such as dynamic RAM (DRAM) or static RAM (SRAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and/or non-volatile RAM (NVRAM). The above memory types are exemplary only and are thus not limiting as to the types of memory usable for storage of a computer program.
[0060] In some embodiments, it is contemplated that the server system 400 may be implemented as a software application. In such embodiments, the hardware described above, such as the processor 402, the memory area 404, the communication interface 406, and/or the storage interface 408 may be shared with the hardware components of the message server 14, such as the processor 202, the memory device 204, and/or the transceiver 210.
Exemplary Table Records
[0061]
[0062] In the exemplary embodiment, the compensation message record R.sub.1 may be allocated a Message ID of 100 by the message module 214 (shown in
[0063] The compensation message record R.sub.1 may include a Sender ID associated with the sender of the message. The Sender ID may be mapped to the User ID of the user generating the message. The User ID may be assigned to a user during registration with the messaging service system 12 (shown in
[0064] The compensation message record R.sub.1 may include one or more Recipient IDs. The Recipient ID may be associated with the User ID of users that the sender wishes to transmit the compensation message to. In some embodiments, the user sending the message may select one or more users (i.e., recipients) from a list of users presented via the messaging application displayed by the user interface 34 on the user's (i.e., sender's) computing device 20, 22, 24, or 26. The message module 214 may enter the selected Recipient IDs into the compensation message record R.sub.1.
[0065] In the exemplary embodiment, the date and time that the message is generated or recorded is entered into the Massage Date/Time data field. The Message Text and Message Datafile Pointer data fields include the plain text and/or pointers to datafiles, respectively, to be included in the message transmitted to the one or more Recipient IDs.
[0066] Furthermore, as described above, when a user records a compensation message, the user may input reply compensation value, reply deadline, and optionally, message text content, message image content, and/or reply compensation calculation function. The compensation message record R.sub.1 includes the Reply Compensation Value data field for the reply compensation value entered by the user, the Reply Deadline field for holding the date and time entered by the user, and the Scaling Deadline Value field for holding the reply compensation calculation function. As used herein, a scaled reply compensation value or “scaling” of the reply compensation value includes applying a function to the total compensation amount owed based, in part, on reply message time relative to reply deadline.
[0067] In the exemplary embodiment, the data fields Scaling Amount Owed and Reply Message ID may be blank and/or null when and if the compensation message record R.sub.1 is recorded by the user. These fields may be updated by the message module 214 when and if a reply message is received from one or more of the message recipients.
[0068]
[0069] In the exemplary embodiment, the reply message record R.sub.2 is allocated a Message ID of 200 by the message module 214 (shown in
[0070] In the exemplary embodiment, the reply message record R.sub.2 may include a Sender ID associated with the sender of the message. As described above, the Sender ID is mapped to the User ID of the user generating the message. In addition, for a reply message, the reply message record R.sub.2 includes the recipient ID, which is equal to the one or more recipients designated in the reply message. For example, the message may be in reply to a single sender or part of a group message. As such, the Recipient ID data field is filled with the User IDs of each recipient of the reply message.
[0071] In the exemplary embodiment, the reply message record R.sub.2 may include the date and time that the message is generated, which is entered into the Massage Date/Time data field. The Message Text and Message Datafile Pointer data fields may include plain text and/or pointers to datafiles, respectively, that were included in the reply message.
[0072] In the exemplary embodiment, the compensation message record R.sub.1 may be updated to include a function for calculating total compensation amount owed including a regressive scaling function Scaling Amount Owed data field, which is determined by the message server 14, as described further herein. The Reply Message ID field may be updated to include the unique Message ID assigned to the reply message by the message module 214.
Exemplary Computer-Implemented Methods
[0073] The operations for the computer implemented methods described herein may be performed in the order shown in the respective figures, or according to certain inventive aspects, may be performed in a different order. Furthermore, some operations may be performed concurrently as opposed to sequentially, and/or some operations may be optional, unless expressly stated otherwise or as may be readily understood by one of ordinary skill in the art.
[0074] The computer implemented methods are described below, for ease of reference, as being executed by exemplary devices and components introduced with the embodiments illustrated in
[0075] One or more computer readable medium(s) may also be provided. The computer readable medium(s) may include one or more executable programs stored thereon, wherein the program(s) instruct one or more processors or processing units to perform all or certain of the steps outlined herein. The program(s) stored on the systems's computer readable medium(s) may instruct the processor or processing units to perform additional, fewer, or alternative actions, including those discussed elsewhere herein.
[0076]
[0077] More particularly, upon receipt of a compensation message request by a user, such as the user 28 (the “sender”), the message server 14 may collect various information from sender, database 16, and/or the messaging service system 12 (shown in
[0078] At operation 704, the recipient receives the compensation message from the messaging service system 12, and more particularly, from the message server 14. In one suitable embodiment, the message server 14 transmits an audible and/or visual message notification or alert to the recipient, for example, via the messaging application installed on the user computing device 20, 22, 24, or 26, via email, SMS message, and the like. The notification or alert may include, for example, a graphical display change, icon change, icon flash, audible tone, tone sequence, etc. In the exemplary embodiment, the recipient may be presented with the sender information (e.g., name, etc.), the reply compensation value, and the reply deadline. The recipient may select to open the compensation message, for example, within the messaging application, to view the message content and to, optionally, reply to the compensation message. In one example, opening the compensation message includes reading the information or data contain in the compensation message record.
[0079] At operation 706, the message server system 14 determines whether the message recipient has replied to the compensation message, and at operation 708, determines whether the reply message is received by the deadline specified by the sender of the compensation message. In particular, if the recipient replies to the compensation message, the message module 214 identifies the incoming reply message (e.g., a reply message request) and writes a reply message record R.sub.2 to the message table 220. For example, the message server 14 collects a message ID (e.g., allocated by the message server 14), sender ID, recipient ID, message date/time (e.g., from an internal clock of the message server 14), message text and/or message datafile pointer, and optionally, a reply compensation value and reply deadline. If a reply compensation value and reply deadline are collected, the message server 14 may optionally collect a scaling deadline value from the recipient as well. In one embodiment, the sender ID and recipient ID may be obtained, for example, from the user table 222 by matching the reply sender (e.g., user 30) and recipient to the associated user records, such as user records UR.sub.1, UR.sub.2, and UR.sub.3 (shown in
[0080] In one example embodiment, the message module 214 searches the message table 220 to identify instances (e.g., message exchanges) where the reply message record R.sub.2 has a message date/time that is equal to or less than the Reply Deadline of a previous message record (e.g., the compensation message record R.sub.1), the Sender ID of the reply message record R.sub.2 includes a Recipient ID of the previous message record, the Recipient ID of the reply message record R.sub.2 includes the Sender ID of the previous message record, and the reply message compensation has not been satisfied (e.g., the Reply Message ID data field is NULL). In such instances, the messages (i.e., the reply message record R.sub.2 and the identified previous message record matching the criteria) are associated as compensation message/replay message.
[0081] If the Message Date/Time data field of the reply message record R.sub.2 is less than or equal to the Reply Deadline data field of the previous message record, such as the compensation message record R.sub.1, the message module 214 updates the Reply Message ID data field of the compensation message record R.sub.1 with the Message ID of the reply message record R.sub.2, and the method 700 continues to operation 712. However, if the Message Date/Time data field of the reply message record R.sub.2 is greater than the Reply Deadline data field of the compensation message record R.sub.1, the method 700 ceases to process a compensation amount at operation 710, and no compensation is owed to the recipient.
[0082] At operation 712, the message server 14 may initiate the compensation process and determine the total compensation amount owed to the message recipient. In particular, the compensation determination module 218 (shown in
[0083] In certain embodiments, after a total compensation amount owed is calculated, the message server system 14, and/or the compensation determination module 218, may transmit payment transaction data to the payment processor 32 (shown in FIG. 1), including, for example, a payment sender identification, payment receiver identification, token information, any data necessary to initiate the payment process and/or total compensation amount owed, total compensation amount owed minus one or more fees and/or any data necessary to initiate compensation to the benefit of message recipient and/or from the compensation message sender. The transaction includes, for example, payment account data of the sender and/or the recipient, and a total compensation value with or without fees subtracted, to be paid to the benefit of message recipient and/or payment by and/or from message sender.
[0084]
[0085] At operation 804, the sender selects one or more recipients to receive the compensation message, or in some embodiments, replies to one or more users. In the exemplary embodiment, the sender selects recipients from a list of active users of the messaging service system 12. Alternatively, or additionally, the sender may add one or more recipients that are not active users. For example, and without limitation, the sender may input a telephone number that can receive SMS messages, an email address, or other electronic communication method, for the additional recipients that are to receive the compensation message.
[0086] At operation 806, the sender inputs the compensation message content, such as a text message, an emoji, and/or a datafile. In addition, the sender inputs the reply compensation value and the reply deadline. In certain embodiments, the sender may include additional details such as a scaling deadline value indicating that the reply compensation value is scaled, for example, with time.
[0087] In particular, the message server 14 collects various information from the sender, the database 16, and/or the messaging service system 12 (shown in
[0088]
[0089] In the example, if the compensation message includes an associated reply compensation calculation function, at operation 906, the compensation determination module 218 calculates the total compensation amount owed to the recipient using the conditions of the reply compensation calculation function. For example a diminishing value function. In the exemplary embodiment, the diminishing value function is a linear regression function. In an example illustrated in
Plugging in the values gives the following:
[0090] Thus, in the example linear regression formula and for the values given above, a recipient that replies thirty (30) minutes after the compensation message time, which has a reply period of sixty (60) minutes, will receive a total compensation amount owed of $50. It is noted that the above described formula is just an example and that many different functions can be used to determine the total compensation amount owed, minus any service fees.
[0091] In one example embodiment, the compensation determination module 218 updates the total compensation amount owed for the compensation message record R.sub.1 with the calculated, scaled total compensation value determined above.
[0092] At operation 908, the message server 14 initiates the compensation to the recipient. For example, in one suitable embodiment, the compensation determination module 218, transmits payment transaction data to the payment processor 32 (shown in
Additional Considerations
[0093] In this description, references to “one embodiment,” “an embodiment,” or “embodiments” mean that the feature or features being referred to are included in at least one embodiment of the technology. Separate references to “one embodiment,” “an embodiment,” or “embodiments” in this description do not necessarily refer to the same embodiment and are also not mutually exclusive unless so stated and/or except as will be readily apparent to those skilled in the art from the description. For example, a feature, structure, act, etc. described in one embodiment may also be included in other embodiments but is not necessarily included. Thus, the current technology can include a variety of combinations and/or integrations of the embodiments described herein.
[0094] Although the present application sets forth a detailed description of numerous different embodiments, it should be understood that the legal scope of the description is defined by the words of the claims and equivalent language. The detailed description is to be construed as exemplary only and does not describe every possible embodiment because describing every possible embodiment would be impractical. Numerous alternative embodiments may be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims.
[0095] Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order recited or illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein. The foregoing statements in this paragraph shall apply unless so stated in the description and/or except as will be readily apparent to those skilled in the art from the description.
[0096] Certain embodiments are described herein as including logic or a number of routines, subroutines, applications, or instructions. These may constitute either software (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware. In hardware, the routines, etc., are tangible units capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., a standalone, client or server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as computer hardware that operates to perform certain operations as described herein.
[0097] In various embodiments, computer hardware, such as a processor, may be implemented as special purpose or as general purpose. For example, the processor may comprise dedicated circuitry or logic that is permanently configured, such as an application-specific integrated circuit (ASIC), or indefinitely configured, such as a field-programmable gate array (FPGA), to perform certain operations. The processor may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement the processor as special purpose, in dedicated and permanently configured circuitry, or as general purpose (e.g., configured by software) may be driven by cost and time considerations.
[0098] Accordingly, the term “processor” or equivalents should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. Considering embodiments in which the processor is temporarily configured (e.g., programmed), each of the processors need not be configured or instantiated at any one instance in time. For example, where the processor comprises a general-purpose processor configured using software, the general-purpose processor may be configured as respective different processors at different times. Software may accordingly configure the processor to constitute a particular hardware configuration at one instance of time and to constitute a different hardware configuration at a different instance of time.
[0099] Computer hardware components, such as transceiver elements, memory elements, processors, and the like, may provide information to, and receive information from, other computer hardware components. Accordingly, the described computer hardware components may be regarded as being communicatively coupled. Where multiple of such computer hardware components exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the computer hardware components. In embodiments in which multiple computer hardware components are configured or instantiated at different times, communications between such computer hardware components may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple computer hardware components have access. For example, one computer hardware component may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further computer hardware component may then, at a later time, access the memory device to retrieve and process the stored output. Computer hardware components may also initiate communications with input or output devices, and may operate on a resource (e.g., a collection of information).
[0100] The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
[0101] Similarly, the methods or routines described herein may be at least partially processor implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented hardware modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processors may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other embodiments the processors may be distributed across a number of locations.
[0102] Unless specifically stated otherwise, discussions herein using words such as “processing,” “computing,” “calculating,” “determining,” “presenting,” “displaying,” or the like may refer to actions or processes of a machine (e.g., a computer with a processor and other computer hardware components) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information.
[0103] As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
[0104] Although the disclosure has been described with reference to the embodiments illustrated in the attached figures, it is noted that equivalents may be employed, and substitutions made herein, without departing from the scope of the disclosure as recited in the claims.
[0105] Having thus described various embodiments of the disclosure, what is claimed as new and desired to be protected by Letters Patent includes the following: