WO2024205425A1 - Automated role-based dynamic transaction interfaces - Google Patents
Automated role-based dynamic transaction interfaces Download PDFInfo
- Publication number
- WO2024205425A1 WO2024205425A1 PCT/PH2024/050001 PH2024050001W WO2024205425A1 WO 2024205425 A1 WO2024205425 A1 WO 2024205425A1 PH 2024050001 W PH2024050001 W PH 2024050001W WO 2024205425 A1 WO2024205425 A1 WO 2024205425A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- components
- various
- implementations
- machine
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 description 48
- 238000004891 communication Methods 0.000 description 21
- 238000012546 transfer Methods 0.000 description 9
- 230000008878 coupling Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 7
- 238000005859 coupling reaction Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 230000006872 improvement Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000007789 gas Substances 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000003344 environmental pollutant Substances 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 231100000719 pollutant Toxicity 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/227—Payment schemes or models characterised in that multiple accounts are available, e.g. to the payer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/322—Aspects of commerce using mobile devices [M-devices]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
- G06Q40/125—Finance or payroll
Definitions
- aspects and implementations of the present disclosure relate to data processing and, more specifically, but without limitation, to automated role-based dynamic transaction interfaces.
- GUIs Graphical user interfaces
- a virtual keyboard application executing on a mobile device can enable a user to provide alphanumeric inputs to the device via the device's touchscreen.
- FIG. I illustrates an example system, in accordance with an example embodiment.
- FIGS. 2A-2D depict various example user interfaces in accordance with various embodiments.
- FIG. 3 is a block diagram illustrating components of a machine able to read instructions from a machine-readable medium and perform any of the methodologies discussed herein, according to an example embodiment.
- aspects and implementations of the present disclosure are directed to automated role-based dynamic transaction interfaces.
- Users can initiate operations and/or transactions using various methods or services. For example, to initiate an e-commerce transaction, a user can utilize payment methods such as credit card, bank transfer (e.g ., via ACH, wire, etc.), etc.
- payment methods such as credit card, bank transfer (e.g ., via ACH, wire, etc.), etc.
- bank transfer e.g ., via ACH, wire, etc.
- certain options may be unavailable or undesirable to certain users for any number of reasons.
- an application e.g., a virtual keyboard application that incorporates secure banking and payment functionality
- an application can be configured or customized to provide a user access to additional payment options, e.g., within the context of the keyboard executing on a mobile device in conjunction with other applications (e.g., messaging applications, e-commerce applications, etc.).
- the user can, for example, be provided with access to funds the user has earned (e.g., via the user's employer) but has yet to be paid.
- the described technologies can facilitate the transfer of such funds to the user (and/or the vendor with whom the user wishes to transact) and can further reconcile such transfers with the employer's payroll system/service, as described herein. Additionally, the described technologies can utilize various techniques to authenticate or validate inputs provided via the virtual keyboard, to ensure the security of the disclosed operations, as described herein.
- the described technologies are directed to and address specific technical challenges and longstanding deficiencies in multiple technical areas, including but not limited to graphical user interfaces, application configuration, and secure operations.
- the disclosed technologies provide specific, technical solutions to the referenced technical challenges and unmet needs in the referenced technical fields and provide numerous advantages and improvements upon conventional approaches.
- one or more of the hardware elements, components, etc., referenced herein operate to enable, improve, and/or enhance the described technologies, such as in a manner described herein.
- FIG. 1 illustrates an example system 100, in accordance with some implementations.
- the system 100 includes components such as devices 110A, 11 OB, etc. (collectively, “devices").
- devices 110 can be, for example, a smartphone, a mobile device, a tablet, a personal computer, a terminal, a smartwatch, a wearable device, a digital music player, a connected device, a server, and the like.
- Human users 130A, etc. can interact with respective device(s). For example, a user can provide various inputs (e.g ., via an input device/interface such as a touchscreen, keyboard, mouse, microphone, etc.) to the referenced device(s). Such device(s) can also display, project, and/or otherwise provide content to users (e.g., via output components such as a screen, speaker, etc.).
- an input device/interface such as a touchscreen, keyboard, mouse, microphone, etc.
- Such device(s) can also display, project, and/or otherwise provide content to users (e.g., via output components such as a screen, speaker, etc.).
- the referenced device(s) can include one or more application(s) 112, 114, etc.
- applications can be programs, modules, or other executable instructions that configure/enable the device to interact with, provide content to, and/or otherwise perform operations on behalf of a user.
- application(s) 112 can include but are not limited to internet browsers, mobile apps, e-commerce applications, social media applications, personal assistant applications, games, etc. These and other application(s) can be stored in memory of a device 110 (e.g., memory 330 as depicted in FIG. 3 and described below).
- One or more processor(s) of the device e.g., processors 310 as depicted in FIG. 3 and described below
- the device can be configured to perform various operations, present content to a user, etc., as described herein.
- application 112 can be a web browser or dedicated application/mobile app within which a user can access and interact with an e-commerce website/service. Such a browser/app can enable the user to initiate various operation(s) and/or transactions with respect to third-party sites, services, etc., as described herein.
- application 112 can be a messaging application or service through which a user can transmit and/or receive messages or other content (e.g., media) from other user(s).
- Such an application can enable the user to initiate various operation(s) and/or transactions, e.g., within the contextof a messaging interface, as described herein.
- device(s) 110 can be configured to execute other application(s) such as virtual keyboard 114.
- virtual keyboard 114 can be an application that executes on device 110 and enables a user 130 to provide inputs to device 110, e.g., in conjunction with the touchscreen (and/or other interfaces) of the device.
- GUIs graphical user interfaces
- a user can interact with corresponding regions of the touchscreen to provide inputs (e.g., typing text, making selections, etc.), as described herein.
- device(s) 110 can connect to and/or otherwise communicate with other machines.
- device(s) 110 can communicate with server 140 and/or various other servers, devices, services, etc., such as are described herein.
- Such communications can be transmitted and/or received via various network(s) 120 (e.g., the Internet, a wide area network (WAN), a local area network (LAN), a virtual private network (VPN), an intranet, and the like), communication protocols (e.g., Bluetooth), etc.
- network(s) 120 e.g., the Internet, a wide area network (WAN), a local area network (LAN), a virtual private network (VPN), an intranet, and the like
- communication protocols e.g., Bluetooth
- Server 140 can be, for example, a server computer, computing device, storage service (e.g., a 'cloud' service), etc. that manages and coordinates various aspects of the operation of virtual keyboard 114 (e.g., as executing on device(s) 110). As described in detail herein, server 140 can configure aspects of the operation of virtual keyboard 114 (e.g., as executing on device 110) based on determination(s) computed in relation to information originating from multiple sources.
- server 140 can configure aspects of the operation of virtual keyboard 114 (e.g., as executing on device 110) based on determination(s) computed in relation to information originating from multiple sources.
- the described technologies can, for example, configure or customize aspects of virtual keyboard 114 (e.g., with respect to aspects of the user's employer, an e-commerce vendor, third party institution(s), various operation(s)/transaction(s), and/or the user) and can authenticate or validate various inputs provided via the virtual keyboard, as described herein.
- aspects of virtual keyboard 114 e.g., with respect to aspects of the user's employer, an e-commerce vendor, third party institution(s), various operation(s)/transaction(s), and/or the user
- the described technologies can, for example, configure or customize aspects of virtual keyboard 114 (e.g., with respect to aspects of the user's employer, an e-commerce vendor, third party institution(s), various operation(s)/transaction(s), and/or the user) and can authenticate or validate various inputs provided via the virtual keyboard, as described herein.
- server 140 can include transaction coordination engine 150.
- Transaction coordination engine 150 can be an application, module, instructions, etc., that configures/enables the server to perform various operations described herein.
- transaction coordination engine 150 can configure or customize aspects of virtual keyboard 114 and can authenticate or validate inputs provided via the virtual keyboard, as described herein.
- server 140 can include various repositories including log(s) 152 and rules repository 154.
- repositories can be storage resource(s) such as object-oriented databases, relational databases, decentralized or distributed ledgers (e.g., blockchain), etc.
- transaction coordination engine 150 and/or other components can interact with such repositories to adjust the operation of virtual keyboard 114, and/or perform other operations.
- logs 152 can maintain data structures or other records containing information that includes or reflect aspects of various instances or interactions, such as those occurring with respect to one or more user(s) 130.
- log 152 can maintain records reflecting the geographic location of a user, e.g., at one or more chronological intervals.
- log 152 can maintain records reflecting interests determined or computed with respect to a user. It should be understood that the described records, logs, etc. are provided by way of example, and any number of other data items can also be stored.
- the described technologies can enable user(s) 130 to 'opt-in,' 'opt-out,' and/or otherwise configure various security parameters, settings, etc.
- the user can be able to configure what types of content should or should not be stored.
- various techniques which derive insights from collected data (while deleting the underlying data after a specified interval) and/or anonymization techniques can be employed.
- the referenced repositories and other components can utilize various types of data encryption, identity verification, and/or related technologies to ensure that the content cannot be accessed or retrieved by unauthorized parties. Doing so can ensure that the described technologies enable realization of the described benefits and technical improvements while maintaining the security and privacy of the user's data.
- Rules repository 154 can maintain data structures or other records containing rules, conditions, and/or other instructions reflecting the circumstances and/or manner in which operations of a virtual keyboard are to be adjusted, e.g., with respect to a particular site, app, user, etc.
- rules, conditions, etc. can dictate, for example, the context and manner in which various selectable options, settings, parameters, etc., are to be provided to and/or presented within such a virtual keyboard (e.g., in connection with an e-commerce site or app), as described herein.
- employer device 11 OB can utilize transaction management application 116 to configure rules repository 154 with conditions or requirements that various employees must meet to qualify for earned wage access (e.g., the ability to apply a portion of wages earned by the employee before such wages are paid out during a routine pay period).
- an employer can, for example, dictate that a user must be employed with the company for at least a week before utilizing an earned wage access payment option (as described herein).
- an employer can dictate that a user's seniority with the company can dictate the percentage of their earned wages the user can access (e.g., an employee with greater seniority can access a larger percentage of the employee's earned wages). It should be understood that such options, configurations, etc., are provided by way of example, and that any number of other options are also contemplated.
- server 140 can be configured to communicate with and/or access various external data source(s) 160.
- data sources 160 can be, for example, third-party services capable of providing information regarding user(s) 130, device(s) 110, and/or other information.
- data source(s) can include a third-party repository or service that authenticate(s) the identity of the user based on various biometric input(s), as described herein.
- Management service(s) 184 can be, for example, a third-party application or service configured to administer various services, e.g., in relation to user 130.
- service(s) 184 can be a payroll processing service.
- Such a payroll processing service can be configured, for example, by employer 110B to provide the user 130 with compensation and/or other benefits in connection with the user's employment, e.g., at defined intervals (e.g., weekly, biweekly, etc.).
- device(s) 110 and/or server 140 can be configured to communicate or otherwise interface with various services, institutions, payment networks, etc., such as third-party service(s)/institution(s) 180.
- services or institutions include but are not limited to banking institutions/services, credit card processing services, payment services, etc.
- services/institutions can include those with respect to which user 130 and/or an employer of user 130 maintain account(s), fund(s), etc.
- such service(s)/institution(s) can be those with respect to which an e-commerce website/app and/or virtual keyboard 114 (e.g., as executing at a particular device) is configured to communicate and/or otherwise interface with, e.g., to enable the initiation and/or execution of secure transactions via keyboard 114.
- an employer can maintain an account 182B at institution 180B and a user/employee 130Acan maintain account 182A at institution 180A.
- the described technologies can coordinate transaction(s) or other operation(s) between such accounts (e.g., outside the scope of a conventional payroll cycle).
- the described technologies can be configured such that information regarding the user's accounts (e.g., balances, transaction history, etc.) can be provided to/accessed by virtual keyboard 114, e.g., within the context of the user's utilization of the keyboard in relation to other application(s) 112. In doing so, the user can be presented with account balances, payment options, and/or other transaction-related information while remaining within the context of the application 112. The user can further initiate and/or execute further operation(s) or initiate other related operation(s) within interface(s) of the keyboard 114.
- information regarding the user's accounts e.g., balances, transaction history, etc.
- virtual keyboard 114 e.g., within the context of the user's utilization of the keyboard in relation to other application(s) 112.
- the user can further initiate and/or execute further operation(s) or initiate other related operation(s) within interface(s) of the keyboard 114.
- the user can initiate transaction (s) with respect to the user's employer and corresponding services/institutions through which the user can utilize wages the user has earned but not yet been paid. Doing so can further enable the user to, for example, transmit payment from their bank to another party within the context of a messaging application, and/or perform various other transactions and operations, such as are described herein.
- user 130A can maintain various accounts 182A (e.g., checking/savings accounts, credit cards, etc.) with service/institution 180A (e.g., a banking institution).
- Virtual keyboard 114 (as executing on device 110A and associated with user 130A) can be configured with respect to such accounts.
- virtual keyboard 114 (as executing on device 110A and associated with user 130A) can be configured with respect to account(s) 182A such a user 130A maintains at institution 180A.
- user 130A can initiate and/or execute transaction with respect to such account(s) through interactions occurring within virtual keyboard 114, e.g., in conjunction with application(s) 112 (e.g., social media applications, web browsers, etc.).
- application(s) 112 e.g., social media applications, web browsers, etc.
- virtual keyboard 114 as configured with respect to account(s) the user maintains at institution 180A
- server 140 and/or transaction coordination engine 150 can be configured to process various inputs to configure or customize aspects of virtual keyboard 114 and authenticate or validate inputs provided via the virtual keyboard, as described herein.
- transaction coordination engine 150 can process inputs originating from an e-commerce site 170, service, app, etc., and/or virtual keyboard 114 to configure or adjust aspects of the virtual keyboard within certain scenarios or contexts.
- Transaction coordination engine 150 can also process various inputs, e.g., to determine their authenticity (e.g., with respect to an associated user), and can further facilitate the execution of various secure operations, transactions, etc., as described herein.
- such service(s) 180 can include other third party applications or services such as food delivery services, ride sharing services, e-commerce services, websites, platforms, etc.
- the referenced services can also include various decentralized or distributed platforms or networks.
- Such platforms can include or otherwise interface with a decentralized or distributed ledger such as a blockchain (e.g., Bitcoin, Ethereum, etc.) that can be distributed/stored across multiple connected nodes.
- a decentralized or distributed ledger such as a blockchain (e.g., Bitcoin, Ethereum, etc.) that can be distributed/stored across multiple connected nodes.
- such distributed platforms may enable transferring ownership of digital tokens or cryptocurrencies, e.g., via public/private keys or and/or other cryptographic techniques.
- the referenced inputs can include or reflect other interactions or events, such as those originating from appl ication (s) 112, 114 and/or sensors of the described device 110.
- inputs corresponding to or reflecting geographic location(s) of the device e.g., originating from an integrated GPS receiver, proximity sensors, IP address geolocation, etc.
- server 140 and/or transaction coordination engine 150 can be received and/or processed by server 140 and/or transaction coordination engine 150. Doing so can further enable the described technologies to determine characteristics of the user and/or identify or project ways in which aspects of virtual keyboard 114 (as executing at the user's device) can be advantageously adjusted or configured.
- the referenced inputs can include or reflect transactions, interactions, events, or other information originating from service(s)/institution(s) 180.
- a given user can maintain various accounts (e.g., checking/savings accounts, credit cards, etc.) across one or more service(s)/institution(s) 180 (e.g., banking institutions, financial service providers, etc.).
- the described technologies can account for such account(s) and/or associated transactions, interactions, events, etc., in determining characteristic(s) of the user and/or identifying ways in which aspects of virtual keyboard 114 can be advantageously adjusted or configured (e.g., to propose or provide various transaction parameters, settings, options, etc., in relation to operations, transactions, etc., with third parties such as e- commerce vendors, etc., as described herein).
- various aspects of the described technologies can be adjusted and/or configured based on inputs or determinations originating from various sensors and/or other devices.
- inputs originating from a GPS receiver of one or more devices associated with a user can be utilized or accounted for in adjusting aspects of the configuration and/or operation of application 112A.
- determination(s) e.g., as computed based on records stored in user repository 122A
- the described technologies can adjust or configure aspects of the interfaces of the described application (e.g., to prioritize or promote such options).
- FIG. 2A depicts an example graphical user interface ("GUI") 200 showing an example interface 214 of virtual keyboard 114, e.g., as executing on device 110A.
- GUI graphical user interface
- interface 214 of virtual keyboard 114 can be presented concurrently with interface 212 of application 112 (e.g., a messaging application). As described herein, doing so can enable the user to initiate various secure operations, transaction, etc., within interface(s) of the keyboard while remaining within the context of the application 112 (e.g., a messaging application).
- interface(s) of virtual keyboard 114 can include or incorporate various selectable controls. Such controls can be icons, buttons, etc. configured to initiate various transaction-related options (e.g., when selected).
- interface 214 of virtual keyboard 114 can incorporate selectable control 218.
- selectable control 218 can be a button, icon, or other such GUI element corresponding to a transaction/payment option.
- Such a transaction option can correspond, for example, to a payment option that enables a user to initiate or execute payments using funds the user has earned (e.g., from an employer) but has yet to be paid.
- such operations can be facilitated via earned wage access provided by a service 180 (e.g., an external banking institution or service 180 with respect to which the user maintains accounts, funds, etc.).
- a service 180 e.g., an external banking institution or service 180 with respect to which the user maintains accounts, funds, etc.
- the user in a scenario in which the user wishes to initiate a transaction (e.g., a financial transaction) or other such operation with respect to another user, entity, etc., the user can be presented with various options which may correspond to different payment methods, funding sources, etc. Examples of such payment methods include but are not limited to credit cards, bank transfers, etc. Additionally, as shown in FIG. 2B, the described technologies can further enable the user to initiate and/or execute payments or other transactions utilizing funds, credits, etc., the user has earned (e.g., in connection with their employment) but has yet to be paid.
- a transaction e.g., a financial transaction
- the user can be presented with various options which may correspond to different payment methods, funding sources, etc. Examples of such payment methods include but are not limited to credit cards, bank transfers, etc.
- the described technologies can further enable the user to initiate and/or execute payments or other transactions utilizing funds, credits, etc., the user has earned (e.g., in connection with their employment) but has yet to be paid.
- the user can be presented within information including their net earnings (e.g., during the current pay period) as well as the available funds from such earnings that the user can presently apply towards a transaction. Additionally, the use can be presented with an interactive control within which the user can designate the amount of such available funds that the user wishes to utilize. As also shown in FIG. 2B, the interface can incorporate a button or control that can confirm the user's intention to utilize this payment option, the described technologies can adjust the operation of the virtual keyboard by providing a selectable notification 210. Upon selecting the referenced notification, the user can be further presented with offering(s) determined to be relevant to the user, as described herein.
- FIG. 2C depicts another example interface 226 within which user 130 can utilize funds the user has earned (but not yet been paid) to initiate transaction (s) or other operations, e.g., in relation to application 112 (e.g., a messaging application, e-commerce application, etc.).
- application 112 e.g., a messaging application, e-commerce application, etc.
- FIG. 2D is yet another example interface 228 of virtual keyboard 114.
- the described technologies can present multiple payment options to the user, e.g., credit cards, bank accounts, earned wage payments, etc.
- the described technologies can be configured with respect to multiple cards, accounts, etc. associated with the user.
- the described technologies can request and/or receive update(s) from one or more service(s) 180 and/or external data source(s) 160 which can reflect the payment options currently available to the user. For example, the user's current bank balance, month-to-date credit card charges, etc., can be shown. Doing so can, for example, enable the user to select the appropriate payment option based on the current balance(s) and other relevant information.
- the user can be presented with the option to utilize wages the user has earned (e.g., through their employment) but has yet to be paid.
- Such information can be received, for example, from management service(s) 184 (e.g., a payroll system or service that tracks the user's job performance and the wages the user is to be paid).
- server 140 and/or transaction coordination engine 150 can coordinate the transfer of funds, e.g., from account 182B (corresponding to an account maintained by the employer, e.g., at institution 180B) to account 182A (corresponding to an account maintained by the employer, e.g., at institution 180A), as shown in FIG. 1.
- keyboard 114 can further facilitate the transfer of such funds to a third party, if appropriate (e.g., when such funds are used in the context of an e- commerce transaction).
- transaction coordination engine 150 can coordinate the reconciliation of such earned wage transactions.
- transaction coordination engine 150 can provide instruction(s) to management service 184 (e.g., a payroll service) to adjust subsequent payroll transactions based on such an earned wage transaction (e.g., to reduce subsequent paychecks commensurate with the earned wage payment initiate by the user, any associated fees, etc.).
- management service 184 e.g., a payroll service
- subsequent payroll transactions e.g., to reduce subsequent paychecks commensurate with the earned wage payment initiate by the user, any associated fees, etc.
- the described technologies can be configured to implement the described adjustments to virtual keyboard 114 in specific operational contexts. For example, upon determining that a given user is likely to be receptive to utilizing an earned wage access option (e.g., based on balance(s) in the user's other accounts, the availability of other payment options, etc.), the described technologies can be further configured to prioritize or promote such an earned wage option.
- an earned wage access option e.g., based on balance(s) in the user's other accounts, the availability of other payment options, etc.
- the described technologies can prioritize or promote (e.g., within interfaces of keyboard 114, as described herein) an earned wage payment option as an alternative.
- the described technologies can prompt the user to utilize an earned wage access option based on determination(s) the user is utilizing their device in a defined context.
- the described technologies can configure virtual keyboard 114 to provide or promote an earned wage access payment option in scenarios in which the user is determined (e.g., based on the user's geolocation and/or other contextual data) to be likely to be initiating a transaction related to their employment (e.g., paying expenses during a business trip).
- utilizing an earned wage access payment can facilitate subsequent reimbursement, record keeping, etc. for the employer.
- various aspects of the described technologies can be adjusted and/or configured based on inputs or determinations originating from various sensors and/or other devices.
- inputs originating from a GPS receiver of one or more devices associated with a user can be utilized or accounted for in adjusting aspects of the configuration and/or operation of virtual keyboard 114.
- the described technologies can adjust or configure aspects of the interfaces of the described virtual keyboard (e.g., to provide or promote certain payment options, such as earned wage access).
- repositories 152, 154 can each be implemented as an independent server, machine, service, etc.
- the described technologies provide numerous technical advantages and improvements over existing technologies.
- the described technologies can enable the automated facilitation and coordination of earned wage access within virtual keyboard interfaces while also providing enhanced functionality, security, and efficiency, as described herein.
- These and other described features, as implemented with respect to machines 110, 140, 180, and/or one or more particular machine(s), can improve the functioning of such machine(s) and/or otherwise enhance numerous technologies including enabling and enhancing the security, execution, and management of various transactions, as described herein.
- a machine is configured to carry out a method by having software code for that method stored in a memory that is accessible to the processor(s) of the machine.
- the processor(s) access the memory to implement the method.
- the instructions for carrying out the method are hard-wired into the processor(s).
- a portion of the instructions are hard-wired, and a portion of the instructions are stored as software code in the memory.
- various aspects of the described technologies include methods performed by processing logic that can comprise hardware (circuitry, dedicated logic, etc.), software (such as is run on a computing device such as those described herein), or a combination of both.
- processing logic can comprise hardware (circuitry, dedicated logic, etc.), software (such as is run on a computing device such as those described herein), or a combination of both.
- such method(s) are performed by one or more elements depicted and/or described in relation to FIG. 1, while in some other implementations, the described operations can be performed by another machine or machines.
- methods are described as a series of acts. However, acts in accordance with this disclosure can occur in various orders and/or concurrently, and with other acts not presented and described herein. Furthermore, not all illustrated acts may be required to implement the methods in accordance with the disclosed subject matter.
- Modules can constitute either software modules (e.g., code embodied on a machine-readable medium) or hardware modules.
- a "hardware module” is a tangible unit capable of performing certain operations and can be configured or arranged in a certain physical manner.
- one or more computer systems e.g., a standalone computer system, a client computer system, or a server computer system
- one or more hardware modules of a computer system e.g., a processor or a group of processors
- software e.g., an application or application portion
- a hardware module can be implemented mechanically, electronically, or any suitable combination thereof.
- a hardware module can include dedicated circuitry or logic that is permanently configured to perform certain operations.
- a hardware module can be a specialpurpose processor, such as a Field-Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC).
- a hardware module can also include programmable logic or circuitry that is temporarily configured by software to perform certain operations.
- a hardware module can include software executed by a programmable processor. Once configured by such software, hardware modules become specific machines (or specific components of a machine) uniquely tailored to perform the configured functions. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) can be driven by cost and time considerations.
- hardware module 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.
- “hardware-implemented module” refers to a hardware module. Considering implementations in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where a hardware module comprises a processor configured by software to become a special-purpose processor, the processor can be configured as respectively different special-purpose processors (e.g., comprising different hardware modules) at different times. Software accordingly configures a particular processor or processors, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
- Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules can be regarded as being communicatively coupled. Where multiple hardware modules exist contemporaneously, communications can be achieved through signal transmission (e.g., over appropriate circuits and buses) between or among two or more of the hardware modules. In implementations in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules can be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module can perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module can then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules can also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
- a resource e.g., a collection of information
- processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors can constitute processor-implemented modules that operate to perform one or more operations or functions described herein.
- processor-implemented module refers to a hardware module implemented using one or more processors.
- the methods described herein can be at least partially processor- implemented, with a particular processor or processors being an example of hardware.
- a particular processor or processors being an example of hardware.
- the operations of a method can be performed by one or more processors or processor- implemented modules.
- the one or more processors can also operate to support performance of the relevant operations in a "cloud computing" environment or as a "software as a service” (SaaS).
- SaaS software as a service
- at least some of the operations can be performed by a group of computers (as examples of machines including processors), with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., an API).
- the performance of certain of the operations can be distributed among the processors, not only residing within a single machine, but deployed across a number of machines.
- the processors or processor-implemented modules can be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example implementations, the processors or processor-implemented modules can be distributed across a number of geographic locations.
- FIGS. I-2D are implemented in some implementations in the context of a machine and an associated software architecture.
- the sections below describe representative software architecture(s) and machine (e.g., hardware) arch itecture(s) that are suitable for use with the disclosed implementations.
- FIG. 3 is a block diagram illustrating components of a machine 300, according to some example implementations, able to read instructions from a machine- readable medium (e.g., a machine-readable storage medium) and perform any one or more of the methodologies discussed herein.
- FIG. 3 shows a diagrammatic representation of the machine 300 in the example form of a computer system, within which instructions 316 (e.g., software, a program, an application, an applet, an app, or other executable code) for causing the machine 300 to perform any one or more of the methodologies discussed herein can be executed.
- the instructions 316 transform the non-programmed machine into a particular machine programmed to carry out the described and illustrated functions in the manner described.
- the machine 300 operates as a standalone device or can be coupled (e.g., networked) to other machines.
- the machine 300 can operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
- the machine 300 can comprise, but not be limited to, a server computer, a client computer, PC, a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular telephone, a smartphone, a mobile device, a wearable device (e.g., a smartwatch), a smart home device (e.g., a smart appliance), other smart devices, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing the instructions 316, sequentially or otherwise, that specify actions to be taken by the machine 300.
- the term "machine” shall also be taken to include a collection of machines 300 that individually or jointly execute the instructions 316 to perform any one or more of the methodologies discussed herein.
- the machine 300 can include processors 310, memory/storage 330, and I/O components 350, which can be configured to communicate with each other such as via a bus 302.
- the processors 310 e.g., a Central Processing Unit (CPU), a Reduced Instruction Set Computing (RISC) processor, a Complex Instruction Set Computing (CISC) processor, a Graphics Processing Unit (GPU), a Digital Signal Processor (DSP), an ASIC, a Radio- Frequency Integrated Circuit (RFIC), another processor, or any suitable combination thereof
- the processors 310 can include, for example, a processor 312 and a processor 314 that can execute the instructions 316.
- processor is intended to include multi-core processors that can comprise two or more independent processors (sometimes referred to as "cores") that can execute instructions contemporaneously.
- FIG. 3 shows multiple processors 310, the machine 300 can include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiples cores, or any combination thereof.
- the memory/storage 330 can include a memory 332, such as a main memory, or other memory storage, and a storage unit 336, both accessible to the processors 310 such as via the bus 302.
- the storage unit 336 and memory 332 store the instructions 316 embodying any one or more of the methodologies or functions described herein.
- the instructions 316 can also reside, completely or partially, within the memory 332, within the storage unit 336, within at least one of the processors 310 (e.g., within the processor's cache memory), or any suitable combination thereof, during execution thereof by the machine 300.
- the memory 332, the storage unit 336, and the memory of the processors 310 are examples of machine-readable media.
- machine-readable medium means a device able to store instructions (e.g., instructions 316) and data temporarily or permanently and can include, but is not limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, optical media, magnetic media, cache memory, other types of storage (e.g., Erasable Programmable Read- Only Memory (EEPROM)), and/or any suitable combination thereof.
- RAM random-access memory
- ROM read-only memory
- buffer memory flash memory
- optical media magnetic media
- cache memory other types of storage
- EEPROM Erasable Programmable Read- Only Memory
- machine-readable medium should be taken to include a single medium or multiple media (e.g a centralized or distributed database, or associated caches and servers) able to store the instructions 316.
- machine-readable medium shall also be taken to include any medium, or combination of multiple media, that is capable of storing instructions (e.g., instructions 316) for execution by a machine (e.g., machine 300), such that the instructions, when executed by one or more processors of the machine (e.g., processors 310), cause the machine to perform any one or more of the methodologies described herein. Accordingly, a “machine-readable medium” refers to a single storage apparatus or device, as well as “cloud-based” storage systems or storage networks that include multiple storage apparatus or devices. The term “machine-readable medium” excludes signals perse.
- the I/O components 350 can include a wide variety of components to receive input, provide output, produce output, transmit information, exchange information, capture measurements, and so on.
- the specific I/O components 350 that are included in a particular machine will depend on the type of machine. For example, portable machines such as mobile phones will likely include a touch input device or other such input mechanisms, while a headless server machine will likely not include such a touch input device. It will be appreciated that the I/O components 350 can include many other components that are not shown in FIG. 3.
- the I/O components 350 are grouped according to functionality merely for simplifying the following discussion and the grouping is in no way limiting. In various example implementations, the I/O components 350 can include output components 352 and input components 354.
- the output components 352 can include visual components (e.g., a display such as a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), acoustic components (e.g., speakers), haptic components (e.g., a vibratory motor, resistance mechanisms), other signal generators, and so forth.
- visual components e.g., a display such as a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)
- acoustic components e.g., speakers
- haptic components e.g., a vibratory motor, resistance mechanisms
- the input components 354 can include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input components), point based input components (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or another pointing instrument), tactile input components (e.g., a physical button, a touch screen that provides location and/or force of touches or touch gestures, or other tactile input components), audio input components (e.g., a microphone), and the like.
- alphanumeric input components e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input components
- point based input components e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or another pointing instrument
- tactile input components e.g., a physical button,
- the I/O components 350 can include biometric components 356, motion components 358, environmental components 360, or position components 362, among a wide array of other components.
- the biometric components 356 can include components to detect expressions (e.g., hand expressions, facial expressions, vocal expressions, body gestures, or eye tracking), measure biosignals (e.g., blood pressure, heart rate, body temperature, perspiration, or brain waves), identify a person (e.g., voice identification, retinal identification, facial identification, fingerprint identification, or electroencephalogram based identification), and the like.
- the motion components 358 can include acceleration sensor components (e.g., accelerometer), gravitation sensor components, rotation sensor components (e.g., gyroscope), and so forth.
- the environmental components 360 can include, for example, illumination sensor components (e.g., photometer), temperature sensor components (e.g., one or more thermometers that detect ambient temperature), humidity sensor components, pressure sensor components (e.g., barometer), acoustic sensor components (e.g., one or more microphones that detect background noise), proximity sensor components (e.g., infrared sensors that detect nearby objects), gas sensors (e.g., gas detection sensors to detect concentrations of hazardous gases for safety or to measure pollutants in the atmosphere), or other components that can provide indications, measurements, or signals corresponding to a surrounding physical environment.
- illumination sensor components e.g., photometer
- temperature sensor components e.g., one or more thermometers that detect ambient temperature
- humidity sensor components e.g., humidity sensor components
- pressure sensor components e.g., barometer
- acoustic sensor components e.g., one or more microphones that detect background noise
- proximity sensor components e.g., infrared sensors that detect nearby
- the position components 362 can include location sensor components (e.g., a Global Position System (GPS) receiver component), altitude sensor components (e.g., altimeters or barometers that detect air pressure from which altitude can be derived), orientation sensor components (e.g., magnetometers), and the like.
- location sensor components e.g., a Global Position System (GPS) receiver component
- altitude sensor components e.g., altimeters or barometers that detect air pressure from which altitude can be derived
- orientation sensor components e.g., magnetometers
- the I/O components 350 can include communication components 364 operable to couple the machine 300 to a network 380 or devices 370 via a coupling 382 and a coupling 372, respectively.
- the communication components 364 can include a network interface component or other suitable device to interface with the network 380.
- the communication components 364 can include wired communication components, wireless communication components, cellular communication components, Near Field Communication (NFC) components, Bluetooth® components (e.g., Bluetooth® Low Energy), WiFi® components, and other communication components to provide communication via other modalities.
- the devices 370 can be another machine or any of a wide variety of peripheral devices (e.g., a peripheral device coupled via a USB).
- the communication components 364 can detect identifiers or include components operable to detect identifiers.
- the communication components 364 can include Radio Frequency Identification (RFID) tag reader components, NFC smart tag detection components, optical reader components (e.g., an optical sensor to detect one-dimensional bar codes such as Universal Product Code (UPC) bar code, multi-dimensional bar codes such as Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D bar code, and other optical codes), or acoustic detection components (e.g., microphones to identify tagged audio signals).
- RFID Radio Frequency Identification
- NFC smart tag detection components e.g., an optical sensor to detect one-dimensional bar codes such as Universal Product Code (UPC) bar code, multi-dimensional bar codes such as Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D bar code, and other optical codes
- one or more portions of the network 380 can be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a WAN, a wireless WAN (WWAN), a metropolitan area network (MAN), the Internet, a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), a plain old telephone service (POTS) network, a cellular telephone network, a wireless network, a Wi-Fi® network, another type of network, or a combination of two or more such networks.
- VPN virtual private network
- LAN local area network
- WLAN wireless LAN
- WAN wireless WAN
- MAN metropolitan area network
- PSTN Public Switched Telephone Network
- POTS plain old telephone service
- the network 380 or a portion of the network 380 can include a wireless or cellular network and the coupling 382 can be a Code Division Multiple Access (CDMA) connection, a Global System for Mobile communications (GSM) connection, or another type of cellular or wireless coupling.
- CDMA Code Division Multiple Access
- GSM Global System for Mobile communications
- the coupling 382 can implement any of a variety of types of data transfer technology, such as Single Carrier Radio Transmission Technology (IxRTT), Evolution-Data Optimized (EVDO) technology, General Packet Radio Service (GPRS) technology, Enhanced Data rates for GSM Evolution (EDGE) technology, third Generation Partnership Project (3GPP) including 3G, fourth generation wireless (4G) networks, Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability for Microwave Access (WiMAX), Long Term Evolution (LTE) standard, others defined by various standard -setting organizations, other long-range protocols, or other data transfer technology.
- IxRTT Single Carrier Radio Transmission Technology
- GPRS General Packet Radio Service
- EDGE Enhanced Data rates for GSM Evolution
- 3GPP Third Generation Partnership Project
- 4G fourth generation wireless (4G) networks
- High Speed Packet Access HSPA
- WiMAX Worldwide Interoperability for Microwave Access
- LTE Long
- the instructions 316 can be transmitted or received over the network 380 using a transmission medium via a network interface device (e.g., a network interface component included in the communication components 364) and utilizing any one of a number of well-known transfer protocols (e.g., HTTP). Similarly, the instructions 316 can be transmitted or received using a transmission medium via the coupling 372 (e.g., a peer-to-peer coupling) to the devices 370.
- the term "transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding, or carrying the instructions 316 for execution by the machine 300, and includes digital or analog communications signals or other intangible media to facilitate communication of such software.
- the term "or" can be construed in either an inclusive or exclusive sense. Moreover, plural instances can be provided for resources, operations, or structures described herein as a single instance. Additionally, boundaries between various resources, operations, modules, engines, and data stores are somewhat arbitrary, and particular operations are illustrated in a context of specific illustrative configurations. Other allocations of functionality are envisioned and can fall within a scope of various implementations of the present disclosure. In general, structures and functionality presented as separate resources in the example configurations can be implemented as a combined structure or resource. Similarly, structures and functionality presented as a single resource can be implemented as separate resources. These and other variations, modifications, additions, and improvements fall within a scope of implementations of the present disclosure as represented by the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Systems and methods are disclosed for role based dynamic transaction interfaces.
Description
AUTOMATED ROLE-BASED DYNAMIC TRANSACTION INTERFACES
TECHNICAL FIELD OF THE INVENTION
Aspects and implementations of the present disclosure relate to data processing and, more specifically, but without limitation, to automated role-based dynamic transaction interfaces.
BACKGROUND OF THE INVENTION
Graphical user interfaces (GUIs) provide visual controls that can be interacted with in order to perform various operations. A virtual keyboard application executing on a mobile device can enable a user to provide alphanumeric inputs to the device via the device's touchscreen.
BRIEF DESCRIPTION OF THE DRAWINGS
Aspects and implementations of the present disclosure will be understood more fully from the detailed description given below and from the accompanying drawings of various aspects and implementations of the disclosure, which, however, should not be taken to limit the disclosure to the specific aspects or implementations, but are forexplanation and understanding only.
FIG. I illustrates an example system, in accordance with an example embodiment.
FIGS. 2A-2D depict various example user interfaces in accordance with various embodiments.
FIG. 3 is a block diagram illustrating components of a machine able to read instructions from a machine-readable medium and perform any of the methodologies discussed herein, according to an example embodiment.
DETAILED DESCRIPTION OF THE INVENTION
Aspects and implementations of the present disclosure are directed to automated role-based dynamic transaction interfaces.
Users can initiate operations and/or transactions using various methods or services. For example, to initiate an e-commerce transaction, a user can utilize payment methods such as credit card, bank transfer (e.g ., via ACH, wire, etc.), etc. However, certain options may be unavailable or undesirable to certain users for any number of reasons.
Accordingly, described herein in various implementations are technologies that enable role-based dynamic transaction interfaces and other related operations. Using the described technologies, various aspects of an application (e.g., a virtual keyboard application that incorporates secure banking and payment functionality) can be configured or customized to provide a user access to additional payment options, e.g., within the context of the keyboard executing on a mobile device in conjunction with other applications (e.g., messaging applications, e-commerce applications, etc.). In doing so, the user can, for example, be provided with access to funds the user has earned (e.g., via the user's employer) but has yet to be paid. The described technologies can facilitate the transfer of such funds to the user (and/or the vendor with whom the user wishes to transact) and can further reconcile such transfers with the employer's payroll system/service, as described herein. Additionally, the described technologies can utilize various techniques to authenticate or validate inputs provided via the virtual keyboard, to ensure the security of the disclosed operations, as described herein.
It can therefore be appreciated that the described technologies are directed to and address specific technical challenges and longstanding deficiencies in multiple technical areas, including but not limited to graphical user interfaces, application configuration, and secure operations. As described in detail herein, the disclosed technologies provide specific, technical solutions to the referenced technical challenges and unmet needs in the referenced technical fields and provide numerous advantages and improvements upon conventional approaches. Additionally, in various implementations, one or more of the hardware elements, components, etc., referenced herein operate to enable, improve, and/or enhance the described technologies, such as in a manner described herein.
FIG. 1 illustrates an example system 100, in accordance with some implementations. As shown, the system 100 includes components such as devices 110A, 11 OB, etc. (collectively, "devices"). Each of the referenced devices 110 can be, for example, a smartphone, a mobile device, a tablet, a personal
computer, a terminal, a smartwatch, a wearable device, a digital music player, a connected device, a server, and the like.
Human users 130A, etc. can interact with respective device(s). For example, a user can provide various inputs (e.g ., via an input device/interface such as a touchscreen, keyboard, mouse, microphone, etc.) to the referenced device(s). Such device(s) can also display, project, and/or otherwise provide content to users (e.g., via output components such as a screen, speaker, etc.).
As shown in FIG. 1, the referenced device(s) can include one or more application(s) 112, 114, etc. Such applications can be programs, modules, or other executable instructions that configure/enable the device to interact with, provide content to, and/or otherwise perform operations on behalf of a user.
For example, application(s) 112 can include but are not limited to internet browsers, mobile apps, e-commerce applications, social media applications, personal assistant applications, games, etc. These and other application(s) can be stored in memory of a device 110 (e.g., memory 330 as depicted in FIG. 3 and described below). One or more processor(s) of the device (e.g., processors 310 as depicted in FIG. 3 and described below) can execute such application(s). In doing so, the device can be configured to perform various operations, present content to a user, etc., as described herein.
By way of further illustration, in certain implementations, application 112 can be a web browser or dedicated application/mobile app within which a user can access and interact with an e-commerce website/service. Such a browser/app can enable the user to initiate various operation(s) and/or transactions with respect to third-party sites, services, etc., as described herein. In other implementations, application 112 can be a messaging application or service through which a user can transmit and/or receive messages or other content (e.g., media) from other user(s). Such an application can enable the user to initiate various operation(s) and/or transactions, e.g., within the contextof a messaging interface, as described herein.
As also shown in FIG. 1, device(s) 110 can be configured to execute other application(s) such as virtual keyboard 114. Such a virtual keyboard 114 can be an application that executes on device 110 and enables a user 130 to provide inputs to device 110, e.g., in conjunction with the touchscreen (and/or other interfaces) of the device. For example, while various graphical user interfaces
(GUIs) of virtual keyboard 114 are presented on the touchscreen of device 110 (as described in further detail below), a user can interact with corresponding regions of the touchscreen to provide inputs (e.g., typing text, making selections, etc.), as described herein.
It should be noted that while the described application(s) 112, 114 are depicted and/or described as operating on a device (e.g., device 110), this is only for the sake of clarity. However, in other implementations such elements can also be implemented on other devices/machines. For example, in lieu of executing locally at device 110, aspects of such application(s) can be implemented remotely (e.g., on a server device or within a cloud service or framework).
As also shown in FIG. 1, device(s) 110 can connect to and/or otherwise communicate with other machines. For example, device(s) 110 can communicate with server 140 and/or various other servers, devices, services, etc., such as are described herein. Such communications can be transmitted and/or received via various network(s) 120 (e.g., the Internet, a wide area network (WAN), a local area network (LAN), a virtual private network (VPN), an intranet, and the like), communication protocols (e.g., Bluetooth), etc.
Server 140 can be, for example, a server computer, computing device, storage service (e.g., a 'cloud' service), etc. that manages and coordinates various aspects of the operation of virtual keyboard 114 (e.g., as executing on device(s) 110). As described in detail herein, server 140 can configure aspects of the operation of virtual keyboard 114 (e.g., as executing on device 110) based on determination(s) computed in relation to information originating from multiple sources. In doing so, the described technologies can, for example, configure or customize aspects of virtual keyboard 114 (e.g., with respect to aspects of the user's employer, an e-commerce vendor, third party institution(s), various operation(s)/transaction(s), and/or the user) and can authenticate or validate various inputs provided via the virtual keyboard, as described herein.
In certain implementations, server 140 can include transaction coordination engine 150. Transaction coordination engine 150 can be an application, module, instructions, etc., that configures/enables the server to perform various operations described herein. For example, in certain implementations, transaction coordination engine 150 can configure or customize aspects of virtual keyboard
114 and can authenticate or validate inputs provided via the virtual keyboard, as described herein.
As also shown in FIG. 1, server 140 can include various repositories including log(s) 152 and rules repository 154. Such repositories can be storage resource(s) such as object-oriented databases, relational databases, decentralized or distributed ledgers (e.g., blockchain), etc. As described herein, transaction coordination engine 150 and/or other components can interact with such repositories to adjust the operation of virtual keyboard 114, and/or perform other operations.
In certain implementations, logs 152 can maintain data structures or other records containing information that includes or reflect aspects of various instances or interactions, such as those occurring with respect to one or more user(s) 130. For example, log 152 can maintain records reflecting the geographic location of a user, e.g., at one or more chronological intervals. By way of further example, log 152 can maintain records reflecting interests determined or computed with respect to a user. It should be understood that the described records, logs, etc. are provided by way of example, and any number of other data items can also be stored.
Moreover, in certain implementations, the described technologies can enable user(s) 130 to 'opt-in,' 'opt-out,' and/or otherwise configure various security parameters, settings, etc. For example, the user can be able to configure what types of content should or should not be stored. Additionally, in certain implementations, various techniques which derive insights from collected data (while deleting the underlying data after a specified interval) and/or anonymization techniques can be employed. Moreover, in certain implementations, the referenced repositories and other components can utilize various types of data encryption, identity verification, and/or related technologies to ensure that the content cannot be accessed or retrieved by unauthorized parties. Doing so can ensure that the described technologies enable realization of the described benefits and technical improvements while maintaining the security and privacy of the user's data.
Rules repository 154 can maintain data structures or other records containing rules, conditions, and/or other instructions reflecting the circumstances and/or manner in which operations of a virtual keyboard are to be adjusted, e.g., with
respect to a particular site, app, user, etc. Such rules, conditions, etc., can dictate, for example, the context and manner in which various selectable options, settings, parameters, etc., are to be provided to and/or presented within such a virtual keyboard (e.g., in connection with an e-commerce site or app), as described herein.
For example, in certain implementations, employer device 11 OB can utilize transaction management application 116 to configure rules repository 154 with conditions or requirements that various employees must meet to qualify for earned wage access (e.g., the ability to apply a portion of wages earned by the employee before such wages are paid out during a routine pay period). By way of illustration, an employer can, for example, dictate that a user must be employed with the company for at least a week before utilizing an earned wage access payment option (as described herein). By way of further example, an employer can dictate that a user's seniority with the company can dictate the percentage of their earned wages the user can access (e.g., an employee with greater seniority can access a larger percentage of the employee's earned wages). It should be understood that such options, configurations, etc., are provided by way of example, and that any number of other options are also contemplated.
As also shown in FIG. 1, server 140 can be configured to communicate with and/or access various external data source(s) 160. Such data sources 160 can be, for example, third-party services capable of providing information regarding user(s) 130, device(s) 110, and/or other information. For example, such data source(s) can include a third-party repository or service that authenticate(s) the identity of the user based on various biometric input(s), as described herein.
Management service(s) 184 can be, for example, a third-party application or service configured to administer various services, e.g., in relation to user 130. In certain implementations, such service(s) 184 can be a payroll processing service. Such a payroll processing service can be configured, for example, by employer 110B to provide the user 130 with compensation and/or other benefits in connection with the user's employment, e.g., at defined intervals (e.g., weekly, biweekly, etc.).
In certain implementations, device(s) 110 and/or server 140 can be configured to communicate or otherwise interface with various services, institutions, payment
networks, etc., such as third-party service(s)/institution(s) 180. Examples of such services or institutions include but are not limited to banking institutions/services, credit card processing services, payment services, etc. In certain implementations, such services/institutions can include those with respect to which user 130 and/or an employer of user 130 maintain account(s), fund(s), etc. Additionally, in certain implementations, such service(s)/institution(s) can be those with respect to which an e-commerce website/app and/or virtual keyboard 114 (e.g., as executing at a particular device) is configured to communicate and/or otherwise interface with, e.g., to enable the initiation and/or execution of secure transactions via keyboard 114.
For example, as shown in FIG. 1, in one example scenario an employer can maintain an account 182B at institution 180B and a user/employee 130Acan maintain account 182A at institution 180A. As described herein, in response to inputs/selections from user 130 and various other determination(s), the described technologies can coordinate transaction(s) or other operation(s) between such accounts (e.g., outside the scope of a conventional payroll cycle).
Moreover, in certain implementations, the described technologies can be configured such that information regarding the user's accounts (e.g., balances, transaction history, etc.) can be provided to/accessed by virtual keyboard 114, e.g., within the context of the user's utilization of the keyboard in relation to other application(s) 112. In doing so, the user can be presented with account balances, payment options, and/or other transaction-related information while remaining within the context of the application 112. The user can further initiate and/or execute further operation(s) or initiate other related operation(s) within interface(s) of the keyboard 114. For example, as described herein, the user can initiate transaction (s) with respect to the user's employer and corresponding services/institutions through which the user can utilize wages the user has earned but not yet been paid. Doing so can further enable the user to, for example, transmit payment from their bank to another party within the context of a messaging application, and/or perform various other transactions and operations, such as are described herein.
By way of further illustration, user 130Acan maintain various accounts 182A (e.g., checking/savings accounts, credit cards, etc.) with service/institution 180A (e.g., a banking institution). Virtual keyboard 114 (as executing on device 110A and associated with user 130A) can be configured with respect to such accounts.
For example, virtual keyboard 114 (as executing on device 110A and associated with user 130A) can be configured with respect to account(s) 182A such a user 130A maintains at institution 180A. In doing so, user 130Acan initiate and/or execute transaction with respect to such account(s) through interactions occurring within virtual keyboard 114, e.g., in conjunction with application(s) 112 (e.g., social media applications, web browsers, etc.). For example, while user 130A is utilizing virtual keyboard 114 to provide communications directed to an application 112 (e.g., a messaging application, a web browser accessing an e- commerce site or service, etc.), virtual keyboard 114 (as configured with respect to account(s) the user maintains at institution 180A) can further enable the user to initiate and/or execute transaction (s) with respect to such account(s), while remaining within the context of the keyboard and within the context of the application 112.
By way of further illustration, server 140 and/or transaction coordination engine 150 can be configured to process various inputs to configure or customize aspects of virtual keyboard 114 and authenticate or validate inputs provided via the virtual keyboard, as described herein. For example, transaction coordination engine 150 can process inputs originating from an e-commerce site 170, service, app, etc., and/or virtual keyboard 114 to configure or adjust aspects of the virtual keyboard within certain scenarios or contexts. Transaction coordination engine 150 can also process various inputs, e.g., to determine their authenticity (e.g., with respect to an associated user), and can further facilitate the execution of various secure operations, transactions, etc., as described herein.
It should also be noted that, in certain implementations, such service(s) 180 can include other third party applications or services such as food delivery services, ride sharing services, e-commerce services, websites, platforms, etc. In yet other implementations, the referenced services can also include various decentralized or distributed platforms or networks. Such platforms can include or otherwise interface with a decentralized or distributed ledger such as a blockchain (e.g., Bitcoin, Ethereum, etc.) that can be distributed/stored across multiple connected nodes. In certain implementations, such distributed platforms may enable transferring ownership of digital tokens or cryptocurrencies, e.g., via public/private keys or and/or other cryptographic techniques.
Additionally, in certain implementations, the referenced inputs can include or reflect other interactions or events, such as those originating from appl ication (s)
112, 114 and/or sensors of the described device 110. For example, inputs corresponding to or reflecting geographic location(s) of the device (e.g., originating from an integrated GPS receiver, proximity sensors, IP address geolocation, etc.) can be received and/or processed by server 140 and/or transaction coordination engine 150. Doing so can further enable the described technologies to determine characteristics of the user and/or identify or project ways in which aspects of virtual keyboard 114 (as executing at the user's device) can be advantageously adjusted or configured.
As noted above, in certain implementations, the referenced inputs (which, as noted, can be processed by server 140 and/or transaction coordination engine 150) can include or reflect transactions, interactions, events, or other information originating from service(s)/institution(s) 180. For example, a given user can maintain various accounts (e.g., checking/savings accounts, credit cards, etc.) across one or more service(s)/institution(s) 180 (e.g., banking institutions, financial service providers, etc.). The described technologies can account for such account(s) and/or associated transactions, interactions, events, etc., in determining characteristic(s) of the user and/or identifying ways in which aspects of virtual keyboard 114 can be advantageously adjusted or configured (e.g., to propose or provide various transaction parameters, settings, options, etc., in relation to operations, transactions, etc., with third parties such as e- commerce vendors, etc., as described herein).
Moreover, in certain implementations, various aspects of the described technologies can be adjusted and/or configured based on inputs or determinations originating from various sensors and/or other devices. For example, in certain implementations, inputs originating from a GPS receiver of one or more devices associated with a user can be utilized or accounted for in adjusting aspects of the configuration and/or operation of application 112A. For example, based on determination(s) (e.g., as computed based on records stored in user repository 122A) reflecting selections, options, transactions, operations, etc. that are frequently initiated in a particular geographic area or context, the described technologies can adjust or configure aspects of the interfaces of the described application (e.g., to prioritize or promote such options).
In these and other implementations and scenarios, the described technologies can further configure and/or otherwise interact with various sensor(s) to enhance and/or improve the functioning of one or more machine(s). Doing so can
enhance the security, execution, and management of various transactions, as described herein. In contrast, existing technologies are incapable of enabling performance of the described operations in a manner that ensures their efficient execution and management, while also maintaining the security and integrity of such transactions, as described herein.
It should be understood that the examples provided herein are intended only for purposes of illustration and any number of other implementations are also contemplated. Additionally, the referenced examples can be combined in any number of ways. In doing so, the described technologies can enhance and/or improve the functioning of one or more machine(s) and/or increase the security of various transactions, as described herein.
Further aspects of the described technologies are described with respect to various example user interfaces.
FIG. 2A depicts an example graphical user interface ("GUI") 200 showing an example interface 214 of virtual keyboard 114, e.g., as executing on device 110A. As shown in FIG. 2A, interface 214 of virtual keyboard 114 can be presented concurrently with interface 212 of application 112 (e.g., a messaging application). As described herein, doing so can enable the user to initiate various secure operations, transaction, etc., within interface(s) of the keyboard while remaining within the context of the application 112 (e.g., a messaging application).
In certain implementations, interface(s) of virtual keyboard 114 can include or incorporate various selectable controls. Such controls can be icons, buttons, etc. configured to initiate various transaction-related options (e.g., when selected). For example, as shown in FIG. 2A, interface 214 of virtual keyboard 114 can incorporate selectable control 218. Such a selectable control 218 can be a button, icon, or other such GUI element corresponding to a transaction/payment option. Such a transaction option can correspond, for example, to a payment option that enables a user to initiate or execute payments using funds the user has earned (e.g., from an employer) but has yet to be paid. In certain implementations, such operations can be facilitated via earned wage access provided by a service 180 (e.g., an external banking institution or service 180 with respect to which the user maintains accounts, funds, etc.).
In one example scenario, user 130A can select or otherwise interact with control 218 within interface 214 of virtual keyboard 114. In response to such a
selection/interaction, keyboard 114 can present interface 224 to the user, e.g., as shown in FIG. 2B. It can be appreciated that while the interface(s) transition within the virtual keyboard, such interfaces remain within the context of application 112 (e.g., a messaging application).
As shown in FIG. 2B, in a scenario in which the user wishes to initiate a transaction (e.g., a financial transaction) or other such operation with respect to another user, entity, etc., the user can be presented with various options which may correspond to different payment methods, funding sources, etc. Examples of such payment methods include but are not limited to credit cards, bank transfers, etc. Additionally, as shown in FIG. 2B, the described technologies can further enable the user to initiate and/or execute payments or other transactions utilizing funds, credits, etc., the user has earned (e.g., in connection with their employment) but has yet to be paid.
For example, as shown in FIG. 2B, in one example interface 224 of virtual keyboard 114, the user can be presented within information including their net earnings (e.g., during the current pay period) as well as the available funds from such earnings that the user can presently apply towards a transaction. Additionally, the use can be presented with an interactive control within which the user can designate the amount of such available funds that the user wishes to utilize. As also shown in FIG. 2B, the interface can incorporate a button or control that can confirm the user's intention to utilize this payment option, the described technologies can adjust the operation of the virtual keyboard by providing a selectable notification 210. Upon selecting the referenced notification, the user can be further presented with offering(s) determined to be relevant to the user, as described herein.
FIG. 2C depicts another example interface 226 within which user 130 can utilize funds the user has earned (but not yet been paid) to initiate transaction (s) or other operations, e.g., in relation to application 112 (e.g., a messaging application, e-commerce application, etc.).
FIG. 2D is yet another example interface 228 of virtual keyboard 114. As shown in FIG. 2D, in certain implementations, the described technologies can present multiple payment options to the user, e.g., credit cards, bank accounts, earned wage payments, etc. For example, the described technologies can be configured with respect to multiple cards, accounts, etc. associated with the user. Upon
determining that the user wishes to initiate an operation, transaction, etc., (e.g., to send payment to another user, pay for an item within an e-commerce site or app, etc.), the described technologies can request and/or receive update(s) from one or more service(s) 180 and/or external data source(s) 160 which can reflect the payment options currently available to the user. For example, the user's current bank balance, month-to-date credit card charges, etc., can be shown. Doing so can, for example, enable the user to select the appropriate payment option based on the current balance(s) and other relevant information.
As also shown in FIG. 2D, in certain implementations, the user can be presented with the option to utilize wages the user has earned (e.g., through their employment) but has yet to be paid. Such information can be received, for example, from management service(s) 184 (e.g., a payroll system or service that tracks the user's job performance and the wages the user is to be paid).
Upon selection of an 'earned wage access' option, server 140 and/or transaction coordination engine 150 can coordinate the transfer of funds, e.g., from account 182B (corresponding to an account maintained by the employer, e.g., at institution 180B) to account 182A (corresponding to an account maintained by the employer, e.g., at institution 180A), as shown in FIG. 1. Moreover, keyboard 114 can further facilitate the transfer of such funds to a third party, if appropriate (e.g., when such funds are used in the context of an e- commerce transaction).
Additionally, in certain implementations, transaction coordination engine 150 can coordinate the reconciliation of such earned wage transactions. For example, transaction coordination engine 150 can provide instruction(s) to management service 184 (e.g., a payroll service) to adjust subsequent payroll transactions based on such an earned wage transaction (e.g., to reduce subsequent paychecks commensurate with the earned wage payment initiate by the user, any associated fees, etc.).
Additionally, in certain implementations, the described technologies can be configured to implement the described adjustments to virtual keyboard 114 in specific operational contexts. For example, upon determining that a given user is likely to be receptive to utilizing an earned wage access option (e.g., based on balance(s) in the user's other accounts, the availability of other payment options,
etc.), the described technologies can be further configured to prioritize or promote such an earned wage option.
By way of illustration, in a scenario in which a user is attempting to purchase an item that the user's current bank balance and/or credit card limits are insufficient to cover, the described technologies can prioritize or promote (e.g., within interfaces of keyboard 114, as described herein) an earned wage payment option as an alternative.
In another example scenario, the described technologies can prompt the user to utilize an earned wage access option based on determination(s) the user is utilizing their device in a defined context. For example, the described technologies can configure virtual keyboard 114 to provide or promote an earned wage access payment option in scenarios in which the user is determined (e.g., based on the user's geolocation and/or other contextual data) to be likely to be initiating a transaction related to their employment (e.g., paying expenses during a business trip). In such a scenario, utilizing an earned wage access payment can facilitate subsequent reimbursement, record keeping, etc. for the employer. It should be understood that these examples are provided for purposes of illustration and any number of alternatives are also contemplated.
As noted, in certain implementations, various aspects of the described technologies can be adjusted and/or configured based on inputs or determinations originating from various sensors and/or other devices. For example, as noted, in certain implementations, inputs originating from a GPS receiver of one or more devices associated with a user can be utilized or accounted for in adjusting aspects of the configuration and/or operation of virtual keyboard 114. For example, based on determination(s) that a user is present in a defined location (e.g., outside a defined radius from their home/employment area, in a location associated with a business event, etc.), the described technologies can adjust or configure aspects of the interfaces of the described virtual keyboard (e.g., to provide or promote certain payment options, such as earned wage access).
While many of the examples described herein are illustrated with respect to multiple machines 110, 140, 180, etc., this is simply for the sake of clarity and brevity. However, it should be understood that the described technologies can
also be implemented (in any number of configurations) with respect to a single computing device/service.
Additionally, in certain implementations, various aspects of the operations that are described herein with respect to a single machine (e.g., server 140) can be implemented with respect to multiple machines. For example, in certain implementations, repositories 152, 154 can each be implemented as an independent server, machine, service, etc.
It can be appreciated that the described technologies provide numerous technical advantages and improvements over existing technologies. For example, the described technologies can enable the automated facilitation and coordination of earned wage access within virtual keyboard interfaces while also providing enhanced functionality, security, and efficiency, as described herein. These and other described features, as implemented with respect to machines 110, 140, 180, and/or one or more particular machine(s), can improve the functioning of such machine(s) and/or otherwise enhance numerous technologies including enabling and enhancing the security, execution, and management of various transactions, as described herein.
As used herein, the term "configured" encompasses its plain and ordinary meaning. In one example, a machine is configured to carry out a method by having software code for that method stored in a memory that is accessible to the processor(s) of the machine. The processor(s) access the memory to implement the method. In another example, the instructions for carrying out the method are hard-wired into the processor(s). In yet another example, a portion of the instructions are hard-wired, and a portion of the instructions are stored as software code in the memory.
In certain implementations, various aspects of the described technologies include methods performed by processing logic that can comprise hardware (circuitry, dedicated logic, etc.), software (such as is run on a computing device such as those described herein), or a combination of both. In one implementation, such method(s) are performed by one or more elements depicted and/or described in relation to FIG. 1, while in some other implementations, the described operations can be performed by another machine or machines.
For simplicity of explanation, methods are described as a series of acts. However, acts in accordance with this disclosure can occur in various orders and/or concurrently, and with other acts not presented and described herein. Furthermore, not all illustrated acts may be required to implement the methods in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and appreciate that the methods could alternatively be represented as a series of interrelated states via a state diagram or events. Additionally, it should be appreciated that the disclosed methods are capable of being stored on an article of manufacture to facilitate transporting and transferring such methods to computing devices. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer- readable device or storage media.
It should be understood that the examples provided herein are intended only for purposes of illustration and any number of other implementations are also contemplated. Additionally, the referenced examples and implementations can be combined in any number of ways.
It should also be noted that while the technologies described herein are illustrated primarily with respect to role-based dynamic transaction interfaces, these technologies can also be implemented in any number of additional or alternative settings or contexts and towards any number of additional objectives.
Certain implementations are described herein as including logic or a number of components, modules, or mechanisms. Modules can constitute either software modules (e.g., code embodied on a machine-readable medium) or hardware modules. A "hardware module" is a tangible unit capable of performing certain operations and can be configured or arranged in a certain physical manner. In various example implementations, one or more computer systems (e.g., a standalone computer system, a client computer system, or a server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) can be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.
In some implementations, a hardware module can be implemented mechanically, electronically, or any suitable combination thereof. For example, a hardware module can include dedicated circuitry or logic that is permanently configured to
perform certain operations. For example, a hardware module can be a specialpurpose processor, such as a Field-Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC). A hardware module can also include programmable logic or circuitry that is temporarily configured by software to perform certain operations. For example, a hardware module can include software executed by a programmable processor. Once configured by such software, hardware modules become specific machines (or specific components of a machine) uniquely tailored to perform the configured functions. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) can be driven by cost and time considerations.
Accordingly, the phrase "hardware module" 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. As used herein, "hardware-implemented module" refers to a hardware module. Considering implementations in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where a hardware module comprises a processor configured by software to become a special-purpose processor, the processor can be configured as respectively different special-purpose processors (e.g., comprising different hardware modules) at different times. Software accordingly configures a particular processor or processors, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules can be regarded as being communicatively coupled. Where multiple hardware modules exist contemporaneously, communications can be achieved through signal transmission (e.g., over appropriate circuits and buses) between or among two or more of the hardware modules. In implementations in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules can be achieved, for example, through the
storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module can perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module can then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules can also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
The various operations of example methods described herein can 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 can constitute processor-implemented modules that operate to perform one or more operations or functions described herein. As used herein, "processor- implemented module" refers to a hardware module implemented using one or more processors.
Similarly, the methods described herein can be at least partially processor- implemented, with a particular processor or processors being an example of hardware. For example, at least some of the operations of a method can be performed by one or more processors or processor- implemented modules. Moreover, the one or more processors can also operate to support performance of the relevant operations in a "cloud computing" environment or as a "software as a service" (SaaS). For example, at least some of the operations can be performed by a group of computers (as examples of machines including processors), with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., an API).
The performance of certain of the operations can be distributed among the processors, not only residing within a single machine, but deployed across a number of machines. In some example implementations, the processors or processor-implemented modules can be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example implementations, the processors or processor-implemented modules can be distributed across a number of geographic locations.
The modules, methods, applications, and so forth described in conjunction with FIGS. I-2D are implemented in some implementations in the context of a machine
and an associated software architecture. The sections below describe representative software architecture(s) and machine (e.g., hardware) arch itecture(s) that are suitable for use with the disclosed implementations.
[Software architectures are used in conjunction with hardware architectures to create devices and machines tailored to particular purposes. For example, a particular hardware architecture coupled with a particular software architecture will create a mobile device, such as a mobile phone, tablet device, or so forth. A slightly different hardware and software architecture can yield a smart device for use in the "internet of things," while yet another combination produces a server computer for use within a cloud computing architecture. Not all combinations of such software and hardware architectures are presented here, as those of skill in the art can readily understand how to implement the inventive subject matter in different contexts from the disclosure contained herein.
FIG. 3 is a block diagram illustrating components of a machine 300, according to some example implementations, able to read instructions from a machine- readable medium (e.g., a machine-readable storage medium) and perform any one or more of the methodologies discussed herein. Specifically, FIG. 3 shows a diagrammatic representation of the machine 300 in the example form of a computer system, within which instructions 316 (e.g., software, a program, an application, an applet, an app, or other executable code) for causing the machine 300 to perform any one or more of the methodologies discussed herein can be executed. The instructions 316 transform the non-programmed machine into a particular machine programmed to carry out the described and illustrated functions in the manner described. In alternative implementations, the machine 300 operates as a standalone device or can be coupled (e.g., networked) to other machines. In a networked deployment, the machine 300 can operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 300 can comprise, but not be limited to, a server computer, a client computer, PC, a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular telephone, a smartphone, a mobile device, a wearable device (e.g., a smartwatch), a smart home device (e.g., a smart appliance), other smart devices, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing the
instructions 316, sequentially or otherwise, that specify actions to be taken by the machine 300. Further, while only a single machine 300 is illustrated, the term "machine" shall also be taken to include a collection of machines 300 that individually or jointly execute the instructions 316 to perform any one or more of the methodologies discussed herein.
The machine 300 can include processors 310, memory/storage 330, and I/O components 350, which can be configured to communicate with each other such as via a bus 302. In an example implementation, the processors 310 (e.g., a Central Processing Unit (CPU), a Reduced Instruction Set Computing (RISC) processor, a Complex Instruction Set Computing (CISC) processor, a Graphics Processing Unit (GPU), a Digital Signal Processor (DSP), an ASIC, a Radio- Frequency Integrated Circuit (RFIC), another processor, or any suitable combination thereof) can include, for example, a processor 312 and a processor 314 that can execute the instructions 316. The term "processor" is intended to include multi-core processors that can comprise two or more independent processors (sometimes referred to as "cores") that can execute instructions contemporaneously. Although FIG. 3 shows multiple processors 310, the machine 300 can include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiples cores, or any combination thereof.
The memory/storage 330 can include a memory 332, such as a main memory, or other memory storage, and a storage unit 336, both accessible to the processors 310 such as via the bus 302. The storage unit 336 and memory 332 store the instructions 316 embodying any one or more of the methodologies or functions described herein. The instructions 316 can also reside, completely or partially, within the memory 332, within the storage unit 336, within at least one of the processors 310 (e.g., within the processor's cache memory), or any suitable combination thereof, during execution thereof by the machine 300. Accordingly, the memory 332, the storage unit 336, and the memory of the processors 310 are examples of machine-readable media.
As used herein, "machine-readable medium" means a device able to store instructions (e.g., instructions 316) and data temporarily or permanently and can include, but is not limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, optical media, magnetic media, cache memory, other types of storage (e.g., Erasable Programmable Read- Only
Memory (EEPROM)), and/or any suitable combination thereof. The term "machine-readable medium" should be taken to include a single medium or multiple media (e.g a centralized or distributed database, or associated caches and servers) able to store the instructions 316. The term "machine-readable medium" shall also be taken to include any medium, or combination of multiple media, that is capable of storing instructions (e.g., instructions 316) for execution by a machine (e.g., machine 300), such that the instructions, when executed by one or more processors of the machine (e.g., processors 310), cause the machine to perform any one or more of the methodologies described herein. Accordingly, a "machine-readable medium" refers to a single storage apparatus or device, as well as "cloud-based" storage systems or storage networks that include multiple storage apparatus or devices. The term "machine-readable medium" excludes signals perse.
The I/O components 350 can include a wide variety of components to receive input, provide output, produce output, transmit information, exchange information, capture measurements, and so on. The specific I/O components 350 that are included in a particular machine will depend on the type of machine. For example, portable machines such as mobile phones will likely include a touch input device or other such input mechanisms, while a headless server machine will likely not include such a touch input device. It will be appreciated that the I/O components 350 can include many other components that are not shown in FIG. 3. The I/O components 350 are grouped according to functionality merely for simplifying the following discussion and the grouping is in no way limiting. In various example implementations, the I/O components 350 can include output components 352 and input components 354. The output components 352 can include visual components (e.g., a display such as a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), acoustic components (e.g., speakers), haptic components (e.g., a vibratory motor, resistance mechanisms), other signal generators, and so forth. The input components 354 can include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input components), point based input components (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or another pointing instrument), tactile input components (e.g., a physical button, a touch screen that provides location
and/or force of touches or touch gestures, or other tactile input components), audio input components (e.g., a microphone), and the like.
In further example implementations, the I/O components 350 can include biometric components 356, motion components 358, environmental components 360, or position components 362, among a wide array of other components. For example, the biometric components 356 can include components to detect expressions (e.g., hand expressions, facial expressions, vocal expressions, body gestures, or eye tracking), measure biosignals (e.g., blood pressure, heart rate, body temperature, perspiration, or brain waves), identify a person (e.g., voice identification, retinal identification, facial identification, fingerprint identification, or electroencephalogram based identification), and the like. The motion components 358 can include acceleration sensor components (e.g., accelerometer), gravitation sensor components, rotation sensor components (e.g., gyroscope), and so forth. The environmental components 360 can include, for example, illumination sensor components (e.g., photometer), temperature sensor components (e.g., one or more thermometers that detect ambient temperature), humidity sensor components, pressure sensor components (e.g., barometer), acoustic sensor components (e.g., one or more microphones that detect background noise), proximity sensor components (e.g., infrared sensors that detect nearby objects), gas sensors (e.g., gas detection sensors to detect concentrations of hazardous gases for safety or to measure pollutants in the atmosphere), or other components that can provide indications, measurements, or signals corresponding to a surrounding physical environment. The position components 362 can include location sensor components (e.g., a Global Position System (GPS) receiver component), altitude sensor components (e.g., altimeters or barometers that detect air pressure from which altitude can be derived), orientation sensor components (e.g., magnetometers), and the like.
Communication can be implemented using a wide variety of technologies. The I/O components 350 can include communication components 364 operable to couple the machine 300 to a network 380 or devices 370 via a coupling 382 and a coupling 372, respectively. For example, the communication components 364 can include a network interface component or other suitable device to interface with the network 380. In further examples, the communication components 364 can include wired communication components, wireless communication components, cellular communication components, Near Field Communication
(NFC) components, Bluetooth® components (e.g., Bluetooth® Low Energy), WiFi® components, and other communication components to provide communication via other modalities. The devices 370 can be another machine or any of a wide variety of peripheral devices (e.g., a peripheral device coupled via a USB).
Moreover, the communication components 364 can detect identifiers or include components operable to detect identifiers. For example, the communication components 364 can include Radio Frequency Identification (RFID) tag reader components, NFC smart tag detection components, optical reader components (e.g., an optical sensor to detect one-dimensional bar codes such as Universal Product Code (UPC) bar code, multi-dimensional bar codes such as Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D bar code, and other optical codes), or acoustic detection components (e.g., microphones to identify tagged audio signals). In addition, a variety of information can be derived via the communication components 364, such as location via Internet Protocol (IP) geolocation, location via Wi-Fi® signal triangulation, location via detecting an NFC beacon signal that can indicate a particular location, and so forth.
In various example implementations, one or more portions of the network 380 can be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a WAN, a wireless WAN (WWAN), a metropolitan area network (MAN), the Internet, a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), a plain old telephone service (POTS) network, a cellular telephone network, a wireless network, a Wi-Fi® network, another type of network, or a combination of two or more such networks. For example, the network 380 or a portion of the network 380 can include a wireless or cellular network and the coupling 382 can be a Code Division Multiple Access (CDMA) connection, a Global System for Mobile communications (GSM) connection, or another type of cellular or wireless coupling. In this example, the coupling 382 can implement any of a variety of types of data transfer technology, such as Single Carrier Radio Transmission Technology (IxRTT), Evolution-Data Optimized (EVDO) technology, General Packet Radio Service (GPRS) technology, Enhanced Data rates for GSM Evolution (EDGE) technology, third Generation Partnership Project (3GPP) including 3G, fourth generation wireless (4G) networks, Universal Mobile
Telecommunications System (UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability for Microwave Access (WiMAX), Long Term Evolution (LTE) standard, others defined by various standard -setting organizations, other long-range protocols, or other data transfer technology.
The instructions 316 can be transmitted or received over the network 380 using a transmission medium via a network interface device (e.g., a network interface component included in the communication components 364) and utilizing any one of a number of well-known transfer protocols (e.g., HTTP). Similarly, the instructions 316 can be transmitted or received using a transmission medium via the coupling 372 (e.g., a peer-to-peer coupling) to the devices 370. The term "transmission medium" shall be taken to include any intangible medium that is capable of storing, encoding, or carrying the instructions 316 for execution by the machine 300, and includes digital or analog communications signals or other intangible media to facilitate communication of such software.
Throughout this specification, plural instances can 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 can be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations can be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component can be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.
Although an overview of the inventive subject matter has been described with reference to specific example implementations, various modifications and changes can be made to these implementations without departing from the broader scope of implementations of the present disclosure. Such implementations of the inventive subject matter can be referred to herein, individually or collectively, by the term "invention" merely for convenience and without intending to voluntarily limit the scope of this application to any single disclosure or inventive concept if more than one is, in fact, disclosed.
The implementations illustrated herein are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed. Other implementations can be used and derived therefrom, such that structural and logical substitutions and changes can be made without departing from the scope of this disclosure. The Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various implementations is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
As used herein, the term "or" can be construed in either an inclusive or exclusive sense. Moreover, plural instances can be provided for resources, operations, or structures described herein as a single instance. Additionally, boundaries between various resources, operations, modules, engines, and data stores are somewhat arbitrary, and particular operations are illustrated in a context of specific illustrative configurations. Other allocations of functionality are envisioned and can fall within a scope of various implementations of the present disclosure. In general, structures and functionality presented as separate resources in the example configurations can be implemented as a combined structure or resource. Similarly, structures and functionality presented as a single resource can be implemented as separate resources. These and other variations, modifications, additions, and improvements fall within a scope of implementations of the present disclosure as represented by the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Claims
1. A system comprising: a processing device; and a memory coupled to the processing device and storing instructions that, when executed by the processing device, cause the system to perform one or more operations described herein.
2. A method comprising: one or more operations described herein.
3. A non-transitory computer-readable medium having instructions stored thereon that, when executed by a processing device, cause the processing device to perform one or more operations described herein.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PH12023050136 | 2023-03-30 | ||
PH12023050136 | 2023-03-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024205425A1 true WO2024205425A1 (en) | 2024-10-03 |
Family
ID=92907198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/PH2024/050001 WO2024205425A1 (en) | 2023-03-30 | 2024-04-01 | Automated role-based dynamic transaction interfaces |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024205425A1 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140046820A1 (en) * | 2000-09-20 | 2014-02-13 | Cashedge, Inc. | Method and apparatus for managing a financial transaction system |
US20150052041A1 (en) * | 2013-08-13 | 2015-02-19 | PointServ, Inc. | Method, system, service, and computer program product for verification and delivery of employment and income information |
US20170372310A1 (en) * | 2016-06-27 | 2017-12-28 | Paypal, Inc. | Secure key based trust chain among user devices |
US20180020348A1 (en) * | 2016-07-13 | 2018-01-18 | Bank Of America Corporation | System for authenticating a user and enabling real-time approval notifications |
US20180101847A1 (en) * | 2016-10-12 | 2018-04-12 | Microsoft Technology Licensing, Llc | User and device authentication for web applications |
US20190386972A1 (en) * | 2018-06-13 | 2019-12-19 | Paypal, Inc. | Systems and methods for user authentication based on multiple devices |
-
2024
- 2024-04-01 WO PCT/PH2024/050001 patent/WO2024205425A1/en unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140046820A1 (en) * | 2000-09-20 | 2014-02-13 | Cashedge, Inc. | Method and apparatus for managing a financial transaction system |
US20150052041A1 (en) * | 2013-08-13 | 2015-02-19 | PointServ, Inc. | Method, system, service, and computer program product for verification and delivery of employment and income information |
US20170372310A1 (en) * | 2016-06-27 | 2017-12-28 | Paypal, Inc. | Secure key based trust chain among user devices |
US20180020348A1 (en) * | 2016-07-13 | 2018-01-18 | Bank Of America Corporation | System for authenticating a user and enabling real-time approval notifications |
US20180101847A1 (en) * | 2016-10-12 | 2018-04-12 | Microsoft Technology Licensing, Llc | User and device authentication for web applications |
US20190386972A1 (en) * | 2018-06-13 | 2019-12-19 | Paypal, Inc. | Systems and methods for user authentication based on multiple devices |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11521249B2 (en) | Auto-reconciliation | |
US11556921B2 (en) | Automating digital asset transfers based on historical transactions | |
US20160125490A1 (en) | Transferring authenticated sessions and states between electronic devices | |
US11526867B2 (en) | Push payment decision routing | |
US20170373992A1 (en) | Digital interaction process automation | |
US11985199B2 (en) | Multi-jurisdictional endpoint allocation compliance | |
US11809863B2 (en) | Model training using build artifacts | |
US20210049586A1 (en) | Automated transaction processing | |
US11847637B2 (en) | Database with data integrity maintenance | |
US12041083B1 (en) | Coordinating discrete systems | |
US20230316292A1 (en) | Adaptive machine learning threshold | |
WO2020131775A1 (en) | Draft completion system | |
WO2024205425A1 (en) | Automated role-based dynamic transaction interfaces | |
WO2024205426A1 (en) | Automated role-based dynamic transaction interfaces | |
WO2024205428A1 (en) | Role-based dynamic transaction interface(s) and transaction arrangement | |
WO2024205430A1 (en) | Automated real-time role-based dynamic transaction interfaces | |
WO2024205427A1 (en) | Role-based risk-adjusted dynamic transaction interfaces | |
WO2024205429A1 (en) | Role-based risk-adjusted dynamic transaction interfaces and identity management | |
US20220138337A1 (en) | Online software platform (osp) extracting data of client for improved on-boarding of the client onto the osp | |
US12236259B2 (en) | Autonomous aggregation identifier calculation | |
US20220351189A1 (en) | Digital exchange auditing system | |
US20240403852A1 (en) | Secure transaction notifications | |
US20230412612A1 (en) | Location-based access approval | |
US20220138750A1 (en) | Securing transactions via multi-device authentication | |
US20210312520A1 (en) | Multi-party negotiation in an online marketplace |
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: 24781380 Country of ref document: EP Kind code of ref document: A1 |