US20220075877A1 - Interface and system for updating isolated repositories - Google Patents

Interface and system for updating isolated repositories Download PDF

Info

Publication number
US20220075877A1
US20220075877A1 US17/015,761 US202017015761A US2022075877A1 US 20220075877 A1 US20220075877 A1 US 20220075877A1 US 202017015761 A US202017015761 A US 202017015761A US 2022075877 A1 US2022075877 A1 US 2022075877A1
Authority
US
United States
Prior art keywords
value
account
values
configuration
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US17/015,761
Inventor
Andy Helms
David Riley
Brandon Hines
William Kuk
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Self Financial Inc
Original Assignee
Self Financial Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US17/015,761 priority Critical patent/US20220075877A1/en
Application filed by Self Financial Inc filed Critical Self Financial Inc
Assigned to Self Financial, Inc. reassignment Self Financial, Inc. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HELMS, ANDY, HINES, BRANDON, KUK, WILLIAM, RILEY, DAVID
Priority claimed from US17/464,585 external-priority patent/US11470037B2/en
Priority to US17/464,585 priority patent/US11470037B2/en
Priority to US17/471,039 priority patent/US11630822B2/en
Priority to PCT/US2021/049716 priority patent/WO2022056163A1/en
Priority to US17/471,029 priority patent/US11641665B2/en
Priority to PCT/US2021/049709 priority patent/WO2022056156A1/en
Priority to US17/471,019 priority patent/US11475010B2/en
Publication of US20220075877A1 publication Critical patent/US20220075877A1/en
Assigned to SILICON VALLEY BANK reassignment SILICON VALLEY BANK SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RENTTRACK, INC., SELF CREDIT LLC, SELF FINANCIAL INSURANCE SERVICES LLC, Self Financial, Inc.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/24Credit schemes, i.e. "pay after"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/351Virtual cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography

Definitions

  • the present disclosure relates generally to interfaces and cryptography.
  • Modern web infrastructure provide user interfaces that permit a user to interact with highly sensitive data stored in encryption-secured databases. Such interfaces may accommodate users having varying amounts of domain-specific sophistication and be performant across a wide range of platforms when providing, obtaining, or editing data. Such data may be used for actions such as transferring an amount from a first account to a second account, confirming a previous instruction, or consolidating data stored across different systems. Storing and updating this data across thousands, hundreds of thousands, or millions of accounts in a secure fashion may be performed using an encrypted database.
  • Some aspects include a process including obtaining, with a computing system, a first web message from a device and retrieving, with the computing system, values of a profile from a database based on the first web message.
  • the process may include obtaining, with the computing system, a first value of a first account and a second value of a second account based on the values of the profile, wherein the first account is of a first account type, and wherein the second account is of a second account type.
  • the process may include determining, with the computing system, a boundary based on the first value.
  • the process may include providing, with the computing system, a user interface (UI) to client computing device via a response to the first web message, the UI comprising a UI element that is movable from a first configuration to a second configuration, wherein: positioning the UI element in the first configuration causes a first limit associated with the first configuration to be displayed in the UI, positioning the UI element in the second configuration causes a second limit associated with the second configuration to be displayed in the UI, the second limit is determined based on the boundary, and the UI displays the second value.
  • the process may include obtaining, with the computing system, a second web message comprising a third value determined from a updated configuration of the UI element.
  • the process may include adjusting, with the computing system, the second value based on the third value.
  • Some aspects include a tangible, non-transitory, machine-readable medium storing instructions that when executed by a data processing apparatus cause the data processing apparatus to perform operations including the above-mentioned process.
  • Some aspects include a system, including: one or more processors; and memory storing instructions that when executed by the processors cause the processors to effectuate operations of the above-mentioned process.
  • FIG. 1 is a schematic diagram of a first computing environment in which a score stored in an account may be updated, in accordance with some embodiments of the present technique.
  • FIG. 2 is a logical and physical architecture block diagram illustrating a computing environment in which various learning infrastructure may be implemented with the present techniques in accordance with some embodiments.
  • FIG. 3 is a flowchart illustrating a process to provide and obtain data via a UI, in accordance with some embodiments of the present techniques.
  • FIG. 4 is a flowchart illustrating a process to encrypt and decrypt data across accounts, in accordance with some embodiments of the present techniques.
  • FIG. 5 shows an example of a computing device by which the present techniques may be implemented.
  • a user may be useful for a user to adjust scores of different accounts subject to constraints on the adjustment and linkable therebetween.
  • Examples include adjusting a credit limit in one account and an accumulated credit stored in another, wherein the linkage is linear (e.g., one-to-one, or according to some other coefficient).
  • Other examples include various forms of industrial process controls, where metrics reported by sensors at one stage of the process affect performance of downstream processes and appropriate target setpoints for those process steps, such as a thermal budget for processing an annealed metal workpiece or semiconductor device in which thermal budget consumed by upstream processes limits thermal budget consumable by downstream processes.
  • manufacturing lines are often tuned with target inventory levels at each step, and deviations from that target at one step may affect the desired target levels at another.
  • computer systems may determine quantitative or categorical values for storage in a first data structure using information stored in another data structure isolated from the first data structure.
  • the mechanisms used to isolate or otherwise silo information stored in different data structures can increase the difficulty of determining of these values or updating a data structure based on these values.
  • some cases may require a user to manually edit or confirm changes to the values using interfaces compatible with various platforms.
  • performance limitations or user comfort may challenge the performance of such interfaces or increase user frustration when using the interfaces.
  • Some embodiments may include operations to adjust a value of a first account based on the value of a second account, where each account may be of different account types and may be associated with a different data structure, a different set of categories or a different set of encryption systems.
  • Some embodiments may obtain the web message from a client computing device and, in response, provide a user interface (UI) to the computing device via a set of program instructions or other data used to generate an instance of the user interface on the client computing device.
  • the UI may include UI elements, such as sliders, radio buttons, rotating objects, text entry boxes, or the like.
  • Some embodiments may determine a boundary usable for defining the limits to the possible configurations of the UI element.
  • Some embodiments may generate multiple intermediate values causing a UI element to be configurable to a corresponding number of possible intermediate configurations.
  • the UI may include program code to then reconfigure the UI element to a smaller number of allowed configurations, where each of the smaller number of allowed configurations may be equal to a boundary value or a value between the boundary values.
  • the first account and the second account may share an account type, and may share a data structure or a number and type of fields being stored.
  • Some embodiments may determine that a set of update requests to an account value are within a determined time interval and, in response, combine values stored in the set of update requests before updating the account. Some embodiments may determine that the update requests are within the time interval based on timestamps associated with each request based on a directed comparison of each timestamp, a binning operation to assign requests to different times, or the like. Some embodiments may store a record of the combined value in an account without storing a record of the two individual values in the same account.
  • Some embodiments may store data associated with an account in an encrypted data structure, such as an encrypted database, using a symmetric, block cipher encryption and decryption algorithm, where the use of a symmetric block cipher algorithm may increase security and inhibit unauthorized decryption of sensitive data.
  • some embodiments may increase the front-facing performance of interfaces being used at a client computing device. Additionally, some embodiments may more efficiently store transaction data or other data associated with a user account by reducing data storage consumption. Additionally, some embodiments may more efficiently encrypt data in an efficient manner that accommodates digit limitations of external application protocol interfaces (APIs) or reduces processing of encrypted data. That said, none of the preceding (or following) should be read as a disclaimer of any subject matter, as a variety of independently useful techniques are described, and some of those techniques may be deployed to address some issues without addressing other described problems with earlier approaches.
  • APIs application protocol interfaces
  • FIG. 1 is a schematic diagram of a first computing environment in which a score stored in an account may be updated, in accordance with some embodiments of the present technique.
  • the computing environment 100 may be configured to mitigate some of the above-described problems, such as challenges associated with securely updating cross-account information.
  • the computing environment 100 may include a network 150 in communication with a computer system 110 that receive messages such as web requests or responses from a client computing device 102 .
  • the client computing device 102 may include mobile computing devices, laptops, virtual reality headsets, desktop computers, kiosk terminals, or the like.
  • a user of the client computing device 102 may access data associated with a profile of the user, where the profile may be stored in a first database 112 .
  • a database may refer to various types of data structures, such as a relational database or a non-relational database.
  • the computer system 110 may include servers stored in a centralized location, a cloud server system, a distributed computing platform using different components or services, or the like. Records from each of the first database 112 , second database 113 , or third database 114 may include links to associated records with respect to each other.
  • each of the databases may include values obtained from messages provided by external computing systems, such data indicating a borrowed loan amount of a bank.
  • Some embodiments may store data in a set of relational databases such as PostgreSQLTM, Oracle mySQLTM, or the like.
  • some embodiments may store a set of profile data in a SQL table, where each record of the SQL table may represent a user profile and include, as table fields, a user's name, a user identifier, a set of associated account identifiers, a password hash, or the like.
  • some embodiments may store data in a non-relational or distributed database such as Apache CassandraTM, MongoDBTM, or the like.
  • some embodiments may store a set of loan account information in a first MongoDB database and a set of credit account information a second MongoDB database.
  • the data of each database may be encrypted at rest or in transit, where records of a database may be linked another associated record in a different database (e.g., a record stored in a SQL table).
  • Some embodiments may use a relational or non-relational database to store a pointer, map, or other value usable for indicating relationships between a profile, associated accounts, associated account value, or associated data stored in external systems.
  • some embodiments may perform operations to reduce data consumption of data stored in the computer system 110 .
  • Databases need not be persistent and can include in-memory databases, which can include non-persistent program state. Or in some cases, databases may persist program state to a media that can retain information even in the event that power is lost.
  • Accounts store and associate various types of scores with entities, and entities may be associated with profiles.
  • entities are associated with profiles in a one-to-one mapping, and multiple accounts may be associated with a single entity and corresponding profile.
  • scores include in-game scores of video games, monetary amounts credited to or owed by an entity, accumulated or lost amounts of feedstock at various stages of industrial processes, and inventor amounts at various stages of a manufacturing process.
  • the scores denote rivalrous quantities, like money or inventory, or in some cases, scores denote non-rivalrous quantities, like character strengths in various dimensions in a video game.
  • the computer system 110 may include or communicate with an encrypted virtual private cloud (VPC) 130 via the network 150 , which may include a database of encrypted values 132 .
  • VPC virtual private cloud
  • the data stored in the encrypted VPC 130 may be isolated from other components of the computer system 110 . Some embodiments may enforce the encryption of any data being transferred into the VPC 130 or enforce a requirement that data encrypted in the encrypted VPC 130 remain encrypted while at rest or while being edited. Data from the encrypted VPC 130 may be stored in other components of the computer system 110 or may be communicated to an external network 190 .
  • the external network 190 may include application program interfaces to securely receive data from the encrypted VPC 130 , which may cause the external network 190 to perform actions such as determining a card identifier or causing a manufacturing device to generate a physical card based on the card identifier.
  • FIG. 2 is a logical and physical architecture block diagram illustrating a computing environment in which various learning infrastructure may be implemented with the present techniques in accordance with some embodiments. In some cases, some or all of the techniques described in this disclosure may be implemented in the computing environment 200 .
  • the computing device 202 may send data via a web message 204 to a computing system 250 .
  • Data sent in the web message 204 from the computing device 202 may include account identifiers (e.g., a username, in account number), passwords, values for account parameters (e.g., an amount to deposit), parameters indicating the creation, modification, or deletion of an account, or the like.
  • Some embodiments may be written in or provide program code written in a computer language that is supported by a web browsing application via a set of libraries or engines.
  • an application described in this disclosure may be written in JavaScript, where the application may call one or more APIs of an application such as Google ChromeTM, Microsoft EdgeTM, or Apple SafariTM.
  • some embodiments may be written in other computer languages such as C#, C++, Python, Ruby, and the like.
  • some embodiments may use a web application development framework to provide application functionality or to provide UI features. These development frameworks may include Vue, React.js, Angular, Flutter, or the like.
  • some embodiments may use one or more functions of React.js in a source code to compile when determining a UI.
  • a “web message” is an application-layer communication over a network to or from a web browser (which may include a webview object in a native application, a headless browser, or a browser extension). Web messages are not limited to rendered content or user inputs, and web messages may be encoded in hypertext transport language protocol (HTTP, like HTTP 2) or according to other application-layer protocols.
  • HTTP hypertext transport language protocol
  • a “web message” (expressed as singular) can include one or more transmissions, in some cases with intervening responsive messages, like acknowledgements or API responses.
  • the present techniques may be implemented as JavaScript code (or other ECMAScript compliant language).
  • code implementing the present techniques may be executed by a JavaScript engine (e.g., the Chakra, SpiderMonkey, JavascriptCore, Carakan, or V8 JavaScript engine) running in a web browser.
  • the code may be parsed to an abstract syntax tree. This abstract syntax tree may be transformed into a bytecode representation. The bytecode representation may then be compiled into machine code, such as the native machine code of the computer executing the web browser or a machine code of a virtual machine.
  • a UI or UI-associated function may be provided or implemented with WebAssembly code.
  • Some embodiments may use the data provided by the computing device 202 to access a first account 210 stored in the profile database 211 , which is part of the computing system 250 .
  • the first account 210 may represent a profile and may store data field values for fields such as a score field 212 , a second account identifier field 213 , and a third account identifier field 214 .
  • the value for the second account identifier field 213 may include an identifier usable to identify or access a second account 220 .
  • the second account 220 may be of a first account type and may be stored as a record in a second account database 221 .
  • the value for the third account identifier field 214 may include an identifier usable to identify or access a third account 230 of a third database 231 .
  • the third account 230 may be of a second account type, where the second account type is different from the first account type with respect to the fields of the account types, number of fields of the account types, links to other databases, or the like.
  • accounts of different types may be structured as different data structures, include different data structures, store different fields (e.g., different data types, different types of tuples, etc.), be secured with different encryption methods, or the like.
  • the second account 220 may be of the first account type and may be associated with loans.
  • the second account 220 and may include fields that indicates a loan borrower, a loan principle amount, a loan interest, a loan repayment amount, or the like.
  • the third account 230 may be of a second account type and may be associated with credit values.
  • the third account 230 and may include fields that indicates a credit identifier, a card identifier, a credit limit, an amount borrowed, a maximum credit, or the like.
  • Other account types may apply to other non-monetary use cases, like inventory back-log relative to a target, inventory surplus relative to a target in a manufacturing process, or process metric surplus relative to a target and process metric deficit relative to a target in industrial process controls.
  • Some embodiments may include methods of providing UI program instructions 260 to the computing device 202 based on a respective profile and set of accounts associated with the respective profile. For example, after receiving the web message 204 from the computing device 202 , some embodiments may determine a boundary having a permitted lower bound of 200 and a permitted upper bound of 650 based on the data stored in the second account 220 and the third account 230 . As further discussed below, the UI program instructions 260 may cause a computing device 202 to display a UI element 262 that ranges between a first value written as “200” on the UI element 262 and a second value written as “650.”
  • user interface can reference both a static interface for a user and one that evolves over time. For example, a single UI can transition from one state to the next as part of an animated transition or responsive to user input. Reference to things displayed or otherwise done by a UI do not require that those things be displayed or done concurrently, as a UI can display or do one thing and then later display or do another, while still being the same UI as that term is used herein.
  • user interface is used broadly to refer to something presented to a user, like by a client computing device, and instructions or data by which that presentation is composed at a remote device, like a server.
  • a server can generate a user interface by generating the HTML or JSON by which the client device renders a webpage, without displaying that webpage itself at the server.
  • both a client device and server system may cooperate as part of the same computer system to determine a user interface.
  • Some embodiments may provide ownership of an account to third-party entities, such as a commercial organization, financial institute, government organization, or the like, and indicate ownership of an account using a field of the account.
  • third-party entities such as a commercial organization, financial institute, government organization, or the like
  • the second account 220 may be registered to a user listed by the first account 210 and be owned by the entity “Ent1.”
  • Some embodiments may separate control of an account from ownership of an account, where a first entity may be able to control or update an account owned by a second entity.
  • some embodiments may allow a company to provide the UI program instructions 260 to the computing device 202 .
  • a UI instantiated by the computing device 202 based on the UI program instructions 260 may enable a computing device user to update a credit payment.
  • the credit payment may be associated with the third account 230 of the computing device user, where the credit payment account may be owned by a second entity set in the account owner field 232 as “Ent2,” and where the credit payment
  • Some embodiments may update the encrypted record 240 , which may be stored in the fourth database 241 .
  • changes in the borrowed amount field 233 may be used to update the encrypted record 240 .
  • one or more values of the fourth database 241 may be encrypted, and may be a part of a VPC, such as the VPC 130 .
  • the encrypted record 240 is described as encrypted, other values of other databases may also be encrypted.
  • the value for the borrowed amount field 233 of the third database 231 may be encrypted using one or more encryption methods described in this disclosure.
  • databases described in this disclosure may be encrypted or include encrypted values, where some or all of the databases described in this disclosure may be part of one or more VPCs.
  • FIGS. 3-4 presented below are intended to be illustrative and non-limiting. In some embodiments, for example, the methods may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. For example, some embodiments may perform the process 300 by performing operations described for blocks 304 , 308 , 312 , 316 , 320 , and 340 without performing operations described for blocks 328 , 332 , or 336 . Additionally, the order in which the processing operations of the methods are illustrated (and described below) is not intended to be limiting.
  • some embodiments may perform the process 300 by performing operations described for blocks 304 , 308 , 312 , 316 , 320 , and 340 after performing operations described for blocks 328 , 332 , or 336 .
  • the methods may be implemented in one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information).
  • the processing devices may include one or more devices executing some or all of the operations of the methods in response to instructions stored electronically on an electronic storage medium.
  • the processing devices may include one or more devices configured through hardware, firmware, and/or software to be specifically designed for execution of one or more of the operations of the methods.
  • FIG. 3 is a flowchart illustrating a process to provide and obtain data via a UI, in accordance with some embodiments of the present techniques.
  • the process 300 may include obtaining a set of web messages from a computing device, as indicated by block 304 .
  • a message may include a set of sub-messages sent in the form of one or more data packets sent according to an internet protocol.
  • the message may be provided in the form of a web request or a response to the web request (“web response”) sent over the Internet.
  • the message may include a web request including textual information encoded in the ASCII format divided into frames and including hashed account identifiers or passwords.
  • the message may include account access such as a username, password, verification identifier, or the like.
  • the message may include a username and password usable to access a profile.
  • Some embodiments may receive a web request to update an account, where updating an account may include generating an account, modifying a field value of an account, or deleting an account. For example, some embodiments may receive a request to generate a new account representing a credit account, where the credit account will be associated with an existing account representing a loan account. Some embodiments may receive a request that causes a server to provide a response that includes program instructions. In some embodiments, the web response program instructions may cause a client computing device to display a UI usable to obtain data required to update an account.
  • the process 300 may include determining a profile based on the set of web messages, as indicated by block 308 .
  • the profile may be a type of account stored as record in a database of profiles.
  • the database of profiles may include a relational database such as a SQL database, a non-relational database, or other data structure.
  • the profile may include one or more fields identifying an individual user, an organization, or other entity.
  • a profile may include a user name, an organization that the user represents, a set of permissions indicating what accounts the user has access to, a set of account identifiers corresponding to the other accounts the user has access to, a set of account owners representing one or more entities that own the user's account(s), or the like.
  • Some embodiments may include a profile having associations to another account associated with the profile, where the other account may be stored in a database different from the database used to store the profile. Records of different databases may store different types of values, may be updated in different ways, or the like. For example, a first reference in the profile may be linked to a first account of a first type, such as a loan account type, and a second reference in the profile may be linked to a second account of a second type, such as a credit account type.
  • the first account may include a score assigned to a user associated with the profile, where changes to the score may be tracked.
  • the second account may include a second score assigned to the user, where, as further described below, increases or possible increases to the second score may be calculated based on updates to the first score or another field of the first account.
  • a score may indicate one or more types of a quantitative value, such as a quantified computing resource amount, a monetary amount, a credit score or estimate of a credit score provided by a credit rating agency, a digital asset amount, an amount to be repaid, an amount that is owed, or the like.
  • the profile may include a set of scores obtained from an API that receives communication from external entities.
  • a profile may include scores associated with a user identified by the profile, where the scores may be updated by messages received by API and sent from a server controlled by a financial institute, ratings agency, government organization, or the like.
  • Some embodiments may include a heartbeat routine to regularly request data from one or more external entities associated with a profile. For example, some embodiments may execute a routine that sends a request for a credit score, where a response to the request may be received at an API of a third-party verification entity, such as an API of a credit rating agency server.
  • the process 300 may include determining a boundary based on the values stored in the profile or otherwise associated with the profile, as indicated by block 312 .
  • a boundary or set of confirmable values of the boundary may be used when displaying a UI, where some embodiments may provide the UI to a client computing device.
  • the set of confirmable values may include the values of the boundary itself, and, as further described below, may correspond with values useable for updating a score in an account.
  • Some embodiments may store the boundary or set of confirmable values of the boundary in an account and may store the boundary or set of confirmable values in association with a profile. For example, some embodiments may store the boundary in the form of a list “[300, 900]” directly in a profile record. Alternatively, or in addition, some embodiments may store a boundary in association with a profile by storing the boundary or set of confirmable values within the boundary in a second account record associated with the profile.
  • some embodiments may calculate a list or other set of values for use as a boundary or set of confirmable values. For example, after determining a profile based on a web message comprising profile information, some embodiments may search through an account associated with the profile to determine a maximum score threshold. Some embodiments may then determine a set of confirmable values to display between a minimum value and the maximum score threshold, where the set of confirmable values may include a predetermined set of values. Some embodiments may determine a maximum score threshold based on an account value, such as by determining a maximum score threshold based on an amount repaid into a loan account that is indicated as repaying a principle account.
  • some embodiments may set the maximum score threshold to be equal to the second field value of 951.
  • Various other functions or data from an account may be used. For example, if the first field mentioned above is a loan principle amount and the second field mentioned above is a repayment amount, some embodiments may set the maximum score threshold based on determining the result of a step-wise function, square function, logarithmic function, other function, or combination of functions being applied on the second field or other field(s) of an account.
  • Some embodiments may determine the set of confirmable values based on a set of allowed score values between (either inclusively or exclusively) a minimum value and the maximum score threshold. For example, some embodiments may include a pre-existing set of values stored as an array “[50, 125, 200, 250, 400, 500, 750, 1000].” After a determination that the maximum score threshold for a score associated with a profile is equal to 537, some embodiments may provide the set of confirmable values in the form of an array [50, 125, 200, 250, 400, 500],” where the set of confirmable values includes all values from the pre-existing set of values less than the maximum score threshold.
  • some embodiments may determine a set of confirmable values based on a step size value or a boundary. For example, some embodiments may determine that a maximum value is 157. Some embodiments may then determine that the set of confirmable values to be provided in association with a UI is 0, 50, 100, and 150, based on each value of the set of confirmable values being less than 157.
  • Some embodiments may determine the set of confirmable values using a neural network or other predictive modeling system. For example, some embodiments may search through a history of other users with respect to a first user to determine a credit limit value associated with a maximum return value (e.g., highest rate of paying off a credit limit). The history of other users may be filtered by users having profile data matching or similar to data stored in the user's profile. Some embodiments may then use the predictive-model-found maximum credit limit to as part of a boundary value or base a determination of an upper limit to the boundary value based on the predictive-model-found maximum credit limit.
  • a neural network or other predictive modeling system For example, some embodiments may search through a history of other users with respect to a first user to determine a credit limit value associated with a maximum return value (e.g., highest rate of paying off a credit limit). The history of other users may be filtered by users having profile data matching or similar to data stored in the user's profile. Some embodiments may then use the predictive-model-found maximum credit
  • the process 300 may include providing a UI having a selection element based on the boundary, as indicated by block 316 .
  • Some embodiments may provide a UI in the form of a web message, such as a web response, where the web message includes program instructions or other data that causes a computing device to display the UI.
  • Some embodiments may provide the UI by providing program code to be interpreted and displayed on a web browser executing on a desktop computer, laptop computer, mobile computing device, augmented reality headset, or the like.
  • some embodiments may provide the UI by providing program code to be executed as native application on a computing device.
  • Some embodiments may provide a UI that includes a UI element that is manipulatable from a first configuration to a second configuration, where the first configuration corresponds with a lower limit and a second configuration corresponds to upper limit.
  • the lower limit may be equal to zero, a value stored in an account associated with a profile, a minimum of a set of confirmable values, or the like.
  • the lower limit may be or otherwise include a result of a function applied onto a value provided a server as a part of the UI or otherwise in association with the UI.
  • some embodiments may provide a UI element and a boundary represented by the list “[200, 650],” which includes a lower limit of 200 and an upper limit of 650.
  • Some embodiments may display a UI element as a slidable element (i.e. “slider”) that can be slid via a mouse drag or a touchpad from the left side to a right side of the slider, where the left side may correspond to the lower limit and the right side may correspond to the higher limit.
  • Some embodiments may provide a UI element that displays the value corresponding with a UI element configured into the first configuration, second configuration, or other configuration. For example, a UI element of a UI set in a first configuration may cause a text box of the UI to display the value of 200, where the value of 200 corresponds with the first configuration.
  • the text box of the UI may display the value 650.
  • UI elements such as a text box entry or a rotatable element (e.g., a dial, a wheel, or the like).
  • the UI may display a current value associated with an account, such as a credit limit value associated with a credit account associated with the user.
  • Some embodiments may provide a UI element that is configurable into having multiple configurations between two or more values of a set of confirmable values, where the UI element may then be automatically moved to a nearest value of the set of confirmable values.
  • some embodiments may provide a set of confirmable values represented by the list “[100, 150, 200, 250]” in association with a first UI element.
  • the first UI element may include program code to be movable between a lowest configuration corresponding with the value of 100 and a highest configuration at value intervals of five, such that moving the slider may cause the UI to display or modify an internal state value to multiples of five such as 5, 10, 15, 20, the like.
  • the UI element may further include or be associated with program code that causes the slider to snap to a nearest value stored in the set of confirmable values. For example, some embodiments may provide program code to search for a nearest value in the list “[150, 200, 250]” for the initially-selected value 205 and determine that 200 is the nearest value in the list. In response, the UI element may be automatically set to an updated configuration corresponding with the value of 200 after the UI element is first set into an initial configuration corresponding with the initially-selected value 205.
  • Some UI elements may be configured based on values allowing tens of thousands or more possible configurations, which may slow down operations to reconfigure the UI element to an allowed configuration or changing a data type being analyzed.
  • Some embodiments may provide a second set of configurations for the UI element, where the second set of configurations may provide a greater number of configurations than the first set of configurations.
  • By providing a second set of configurations some embodiments may increase the number of configurations of the UI element to increase the smoothness and efficiency of a UI.
  • some embodiments may provide an interface experience emulating a continuous UI element while decreasing the time needed to determine a nearest value of an allowed list of values.
  • the process 300 may include obtaining an interface-selected value from an instance of the UI, as indicated by block 320 .
  • the interface-selected value may include a value corresponding to an initial configuration or updated configuration state of a UI element.
  • the interface-selected value may correspond to an updated configuration of a slider or other UI element of an instance of a UI executing on a client computing device after a confirmation button of the UI is clicked or tapped.
  • some embodiments may receive an interface-selected value that is a transformation of the value corresponding to an updated configuration of the UI element.
  • some embodiments may then update a profile value or value associated with the profile (e.g., a value stored in an account linked to the profile). For example, some embodiments may obtain the interface-selected value “200” via a request payload of a web request or other web message sent from a client computing device.
  • the interface-selected value may represent various types of values and be used to adjust or otherwise update a value associated with a profile.
  • the interface selected value may include an interface-selected credit limit value usable increase a corresponding credit limit of a credit account, where the interface-selected credit limit may be greater than or less than a current credit limit.
  • some embodiments may encrypt an account value updated by the interface-selected value. Some embodiments may then store the encrypted value in persistent storage or send the encrypted value to a third-party API.
  • the adjustment of a value of an account may include adjusting a value of an account that has not been instantiated or otherwise made accessible, such as in adjustment of a credit limit value for a credit account that has not been created.
  • some embodiments may store the value in a first storage or temporary memory and retrieve the value for inclusion the account after the account has been created.
  • Reference to “an account” can include references to accounts that are yet-to-be created. For example, assigning a value to an account can be done by determining a value for an account that will be created after the value is assigned.
  • the interface-selected value may include instructions to update one or more accounts. For example, some embodiments may receive an interface-selected value comprising, representing, or confirming instructions to deactivate an account. In response, some embodiments may determine whether an account is permitted to be deactivated based on one or more criteria, such as by determining whether a stored variable of the account satisfies an outstanding balance threshold. Deactivating an account may include updating a value associated with an account, where the updated value prevents the account from being further used or modified. Alternatively, deactivating the account may include permanently deleting the account. Some embodiments may perform one or more score updates as a part of deactivating an account or in response to a determination that an account is to be deactivated.
  • some embodiments may transfer an amount associated with a first account to a second account in response to a determination that an account is to be deactivated.
  • Various criteria may be satisfied to confirm that an account is to be deactivated. For example, in response to receiving instructions to deactivate an account and a determination that a stored variable of the account satisfies an outstanding balance threshold, some embodiments may determine that the account is to be deactivated.
  • the process 300 may include determining whether a new account or account card associated with the profile should be generated, as indicated by block 328 . Some embodiments may determine that a new account or account card associate with the profile may be generated based on receiving instructions to generate the new account for account card or based on an existing set of criteria. For example, some embodiments may provide a UI having an option to generate a new account. Some embodiments may then receive a confirmation from a client computing device indicating that a user has selected the option to generate new account.
  • Some embodiments may include operations to determine whether the new account or account card is permitted for generation based on one or more criteria. Some embodiments may determine whether a number of updates satisfies a threshold number of updates. For example, some embodiments may determine whether a loan repayment count satisfies a threshold number of payments. If the threshold number of payments is three, then some embodiments may determine that a new account card is permitted based on a first account having been updated at least three times, and some embodiments may determine that a new account card is not permitted based on the first account having been updated only once. In response to a determination that a new account for account card associate with the profile should be generated, operations of the process 300 may proceed to block 332 . Otherwise, operations of the process 300 may proceed to block 340 .
  • the process 300 may include sending an account generation request to an API based on data associated with the profile, as indicated by block 332 .
  • some embodiments may encrypt data in a request sent to an API and may store or send data in a separate or otherwise isolated system or subsystem such as a virtual private cloud (VPC).
  • VPC virtual private cloud
  • some embodiments may send account data including a username, a date of birth, identification number, to an address of a VPC after encrypting the account data.
  • the VPC may then send the encrypted account data or other encrypted value(s) to an API of a third-party entity, where the entity may determine a new account identifier, cause the manufacture of a new physical card showing the new account identifier, or generate a counterpart account associated with the new account identified.
  • the account generation request may include encrypted versions of profile data such as a name, an address, an image, another account identifier, or the like.
  • the account generation request may cause a server or other computing device of a third-party entity to generate a physical card and a corresponding card identifier. For example, as further described below, some embodiments may generate or cause the generation of a physical transaction card containing a name obtained from a user profile.
  • the process 300 may include receiving a second set of web messages that includes the new account identifier from the third-party entity, as indicated by block 336 .
  • the second set of web messages may include a web response that indicates that a new account was confirmed, a physical card was queued for manufacture, or the like.
  • the new account identifier may include information associated with the new account, such as a security value, a digital signature, a card-specific model number, or the like.
  • some embodiments may update an account with the information and track account changes without necessitating continuously updating the third-party entity.
  • the web message may include a card identifier corresponding to a physical transaction card.
  • some embodiments may receive a web message that includes a credit card number, where the web message was by a third-party server in response to a first web message received at an API of the third-party server.
  • a physical transaction card or another type of physical card may be generated by adding a record represented by the card identifier to a manufacturing device queue.
  • some embodiments may associate an account with the card identifier, where use the card identifier during a transaction may cause a corresponding value of the account to change.
  • the process 300 may include updating an account based on an interface-selected value or other data from a set of web messages, as indicated by block 340 .
  • Some embodiments may update an account with a value such as an interface-selected value or a new account identifier and associate the account with a profile.
  • the web message may include an interface-selected value that is then used to update one or more database records or other data structures storing data related to an account. For example, some embodiments may receive an encrypted web message that includes an interface-selected value representing an increased (or decreased) maximum credit limit. Some embodiments may then update one or more records of a database by decrypting the web message, determining a record based on the web message, and update one or more fields in the record based on the web message.
  • Some embodiments may then re-encrypt data in the updated record before storing the encrypted data in local persistent storage or in the storage of a VPC.
  • various encryption operations or methods may be used, where different types of encryption may be selected based on their efficiency, reliability, or the like.
  • encrypting data in a record may include encrypting the specific field in the record, encrypting the record, encrypting the column of the field for the database storing the record, encrypting the entire database storing the record, or the like.
  • some embodiments may update an account based on an interface-selected value, new account information, or other data as it is received independently of other messages or data. For example, after receiving an interface-selected value as described for block 320 , some embodiments may then proceed to update an account without waiting for additional account information such as a new account identifier described for block 336 .
  • FIG. 4 is a flowchart illustrating a process to encrypt and decrypt data across accounts, in accordance with some embodiments of the present techniques.
  • the process 400 may include receiving instructions to update data in an account, as indicated by block 404 .
  • Some embodiments may receive instructions to update an account in the form of routines activated by web messages. For example, some embodiments may receive instructions to update a loan payment parameter with a new quantitative number indicating payment of a portion of a loan, which may deduct a loan principle amount (which may have its own corresponding parameter).
  • some embodiments may receive instructions to update an account based on internal program code. For example, some embodiments may determine that a maximum value threshold associated with a specific profile may be increased and, in response, begin operations to update an account of the profile based on the maximum value threshold increase.
  • the process 400 may include operations to update data associated with a database of encrypted values, as indicated by block 404 .
  • Some embodiments may include operations to store updates to data associated with an account, where the corresponding update values may be compressed into a single net update to account based on a threshold time interval.
  • some embodiments may receive a plurality of update requests that have occurred within a pre-determined time interval such as an interval less than a 1 minute time interval, less than a 10 minute interval, less than a 1 hour time interval, less than a 24-hour time interval, less than a 72-hour time interval, or the like.
  • Some embodiments may then determine an arithmetic sum of the plurality of score changes and store the arithmetic sum of the plurality of score changes in an encrypted record, as further discussed below. For example, some embodiments may receive three update requests, each update request including an update value representing changes to an account score. Some embodiments may sum the three update values to compute a sum of the three update values (or other combined value of the three update values), each of the three update values having a timestamp within a same pre-defined time interval (e.g., within the same day).
  • the process 400 may include encrypting data using an encryption method based on an encryption key, as indicated by block 414 .
  • the encryption method may include one or more of various types encryption methods, such as a symmetric encryption method, an asymmetric encryption method, a hybrid encryption method, or a quantum encryption method.
  • Some embodiments may use a symmetric encryption method, such as an encryption method based on the advanced encryption standard (AES), where a data encrypted with a symmetric encryption method using a single encryption key may be decrypted with the same encryption key.
  • AES advanced encryption standard
  • some embodiments may implement AES encryption using 128-bit or 256-bit keys and 128-bit blocks, where using AES encryption may include encrypting a data using consecutive rounds of a substitution-permutation network (SPN).
  • SPN substitution-permutation network
  • Various symmetrical algorithms may be used to encrypt or decrypt data, such as Twofish, RC6, Serpent, Mars, or the like, and may further be described by Rachmat et al. (Rachmat, N., 2019, March. Performance analysis of 256-bit AES encryption algorithm on android smartphone. In Journal of Physics: Conference Series (Vol. 1196, No. 1, p. 012049). IOP Publishing), which is hereby incorporated by reference.
  • some embodiments may use an asymmetric encryption method to encrypt or decrypt a value, where an asymmetric encryption method includes the use of a public key to encrypt a message and a private key to decrypt the encrypted message.
  • asymmetric encryption method includes the use of a public key to encrypt a message and a private key to decrypt the encrypted message.
  • asymmetric encryption algorithms may be used, such as a Rivest-Shamir-Adleman (RSA) encryption algorithm, an ElGamal encryption algorithm, a Diffie-Hellman key exchange protocol, an elliptic-curve cryptography method, or the like, where such algorithms may be described by Mahto et al. (Mahto, D. and Yadav, D. K., 2018. Performance Analysis of RSA and Elliptic Curve Cryptography.
  • IJ Network Security 20(4), pp.625-635.
  • some embodiments may use an RSA encryption method by using a first encryption key to encrypt an account identifier and using a first decryption key that is different from the first encryption key to decrypt the encrypted account identifier.
  • Some embodiments may implement an asymmetric encryption method in distributed computing environments, where different subsystems or services of an application may be independent of one another or not necessarily trusted.
  • Some embodiments may use a format-preserving cipher, where the encryption key for the format-preserving cipher may be protected in a different virtual or physical memory of a computing system than the data that it is used to encrypt.
  • a format-preserving cipher may be used to convert a value into a same format (e.g., same number of fields), and may include various types of encryption methods such as block cipher encryption.
  • some embodiments may use a format-preserving cipher to convert a first account identifier to a second account identifier having the same number of digits.
  • Various format-preserving cipher methods may be used, such as the Black and Rogaway encryption method, an encryption method using a Feistel network, another Feistel-based encryption method, another block cipher, or the like, where such encryption may be described in Bellare et al. 2009 (Bellare, M., Ristenpart, T., Rogaway, P. and Stegers, T., 2009, August. Format-preserving encryption. In International workshop on selected areas in cryptography (pp. 295-312). Springer, Berlin, Heidelberg), which is hereby incorporated by reference.
  • a format-preserving cipher may preserve the uniqueness of each account number while reducing the amount of memory used to encrypt the data.
  • some embodiments may use a block cipher encryption method, such as an FFX encryption method, to encrypt a block (e.g., a number, a string, list, or the like), which is further described in Bellare et al. 2010 (Bellare, M., Rogaway, P. and Spies, T., 2010 The FFX mode of operation for format-preserving encryption. NIST submission, 20, p.19), which is hereby incorporated by reference.
  • Some embodiments using the FFX method may perform multiple encryption rounds of operations that include splitting an input value for the encryption method into to subsets.
  • using the FFX method may including using the first block section as an input for a first half of an encryption round for a function that takes, as parameters, the encryption key and the second block section.
  • Various functions may be used, and may include combinations of arithmetic operations, vector product operations, logarithmic operations, exponential operations, or the like.
  • Some embodiments using the FFX method also perform an exclusive or (XOR) operation across elements (e.g., individual bits) between the function result and the second block section to produce an intermediate block that includes the encrypted first block section.
  • Some embodiments using the FFX method may then switch the operations being performed on the first and second block sections in a second half of an encryption round by using the second block section as an input to a function using the first now-encrypted block section and the encryption key as function parameters. Some embodiments may then perform multiple encryption rounds to encrypt a block.
  • Some embodiments may encrypt or decrypt data using a lattice-based encryption method or other quantum-proof encryption method. For example, some embodiments using a lattice-based encryption method may obtain a path through a multi-dimensional lattice and, in response, encrypt or decrypt data based on an encryption key stored at a point in the multi-dimensional lattice along the path. Additionally, some embodiments may use quantum cryptography to encrypt or decrypt data. For example, some embodiments may distribute a quantum key between two databases, such as a profile database and an account database stored in a VPC.
  • the process 400 may include sending the encrypted message to an encrypted persistent storage, as indicated by block 430 .
  • the encrypted persistent storage may be isolated from other data storage or systems of a computing environment.
  • data being sent to the encrypted persistent storage, stored in the encrypted persistent storage, or retrieved from the encrypted persistent storage may be in an encrypted state.
  • the encrypted persistent storage may include a solid state drive, a spinning disk drive, or the like.
  • the encrypted persistent storage may be part of a VPC capable of isolating a database stored in the persistent storage from other components of the system.
  • the encrypted message may be stored in a database of encrypted values, where various encryption methods may be used.
  • Some embodiments may perform transparent data encryption (TDE), where an unencrypted database having multiple records and multiple columns may be encrypted to form an encrypted block(s) of data or decrypted from the encrypted block(s) of data into an unencrypted database.
  • TDE transparent data encryption
  • Various TDE operations may be used to encrypt a database. For example, while some embodiments may encrypt a database using one or more of the encryption methods described above such that the database may remain encrypted while being transmitted in a network or while at rest (e.g., while not being edited or moved).
  • some embodiments may perform a column-level encryption operation, where columns of a database may be separately encrypted with different encryption keys. Some embodiments may perform column-level encryption of account data, where commonly retrieved and less sensitive fields of the account data remains unencrypted, while sensitive fields are encrypted. In some cases, use of a column-level encryption may be increase the flexibility of data structures holding sensitive information (e.g., account identifiers) with respect to response times when retrieving unencrypted data. Alternatively, or additionally, some embodiments may perform field-level encryption of account data, where individual fields of data may be encrypted using methods such as probabilistic encryption methods. As used in this disclosure, a field of a record may be understood as the specific column for a single record (unless otherwise stated), whereas a column of a database may include each field having a shared field name in the database.
  • the process 400 may include retrieving encrypted data from the encrypted persistent storage, as indicated by block 432 .
  • Some embodiments may retrieve encrypted data from an encrypted persistent storage in response to instructions to perform an action using data stored in an encrypted form. For example, some embodiments may receive instructions to increase a maximum score threshold based on a web message.
  • some embodiments may retrieve a verification number from an encrypted account to verify data in the request, where retrieving the verification number may include performing a decryption operation.
  • the process 400 may include decrypting the encrypted data of the encrypted account, as indicated by block 440 .
  • the decryption method used to decrypt the encrypted data may be based on the encryption method used to first encrypted data. For example, some embodiments may use a block cipher decryption method to decrypt data encrypted by a block cipher encryption method. Some decryption methods may use a same key to encrypt and decrypt data, while other methods may use different keys to encrypt and decrypt data. After decrypting the data, some embodiments may then use the data to confirm a transaction, update an account, store additional data, or the like. For example, some embodiments may decrypt an account identifier stored in a database of encrypted values to update an account balance or update a loan repayment.
  • Some embodiments may use an FFX decryption method to decrypt a block that was encrypted with an FFX encryption method. For example, some embodiments may divide an encrypted block into two block sections, where using the FFX method may including using the first block section as input for a first half of an decryption round for a function that takes, as parameters, the encryption key and the second block section. Various functions may be used to produce an intermediate block that includes the (partially) decrypted first block section and the second block, where the function used may be based on an inverse function of the function used during FFX encryption.
  • some embodiments may use a modular subtraction based on the second block to decrypt the data into a decrypted block.
  • Some embodiments using the FFX method may then switch the operations being performed on the first and second block sections in a second half of an decryption round by using the second block section as an input to a function using the (partially) decrypted block section and the encryption key as function parameters.
  • Some embodiments may then perform multiple decryption rounds to decrypt an encrypted block to its original form, where the number of decryption rounds is equal to the number of encryption rounds used to encrypt the decrypted block.
  • FIG. 5 shows an example of a computing device by which the present techniques may be implemented.
  • FIG. 5 is a diagram that illustrates an exemplary computing system 1000 in accordance with embodiments of the present technique.
  • Various portions of systems and methods described herein, may include or be executed on one or more computer systems similar to computing system 1000 .
  • processes and modules described herein may be executed by one or more processing systems similar to that of computing system 1000 .
  • Computing system 1000 may include one or more processors (e.g., processors 1010 a - 1010 n ) coupled to system memory 1020 , an input/output I/O device interface 1030 , and a network interface 1040 via an input/output (I/O) interface 1050 .
  • a processor may include a single processor or a plurality of processors (e.g., distributed processors).
  • a processor may be any suitable processor capable of executing or otherwise performing instructions.
  • a processor may include a central processing unit (CPU) that carries out program instructions to perform the arithmetical, logical, and input/output operations of computing system 1000 .
  • CPU central processing unit
  • a processor may execute code (e.g., processor firmware, a protocol stack, a database management system, an operating system, or a combination thereof) that creates an execution environment for program instructions.
  • a processor may include a programmable processor.
  • a processor may include general or special purpose microprocessors.
  • a processor may receive instructions and data from a memory (e.g., system memory 1020 ).
  • Computing system 1000 may be a uni-processor system including one processor (e.g., processor 1010 a ), or a multi-processor system including any number of suitable processors (e.g., 1010 a - 1010 n ). Multiple processors may be employed to provide for parallel or sequential execution of one or more portions of the techniques described herein.
  • Processes, such as logic flows, described herein may be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating corresponding output. Processes described herein may be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
  • Computing system 1000 may include a plurality of computing devices (e.g., distributed computer systems) to implement various processing functions.
  • I/O device interface 1030 may provide an interface for connection of one or more I/O devices 1060 to computer system 1000 .
  • I/O devices may include devices that receive input (e.g., from a user) or output information (e.g., to a user).
  • I/O devices 1060 may include, for example, graphical UI presented on displays (e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor), pointing devices (e.g., a computer mouse or trackball), keyboards, keypads, touchpads, scanning devices, voice recognition devices, gesture recognition devices, printers, audio speakers, microphones, cameras, or the like.
  • I/O devices 1060 may be connected to computer system 1000 through a wired or wireless connection.
  • I/O devices 1060 may be connected to computer system 1000 from a remote location.
  • I/O devices 1060 located on remote computer system for example, may be connected to computer system 1000 via a network and network interface 1040 .
  • Network interface 1040 may include a network adapter that provides for connection of computer system 1000 to a network.
  • Network interface may 1040 may facilitate data exchange between computer system 1000 and other devices connected to the network.
  • Network interface 1040 may support wired or wireless communication.
  • the network may include an electronic communication network, such as the Internet, a local area network (LAN), a wide area network (WAN), a cellular communications network, or the like.
  • System memory 1020 may be configured to store program instructions 1100 or data 1110 .
  • Program instructions 1100 may be executable by a processor (e.g., one or more of processors 1010 a - 1010 n ) to implement one or more embodiments of the present techniques.
  • Instructions 1100 may include modules of computer program instructions for implementing one or more techniques described herein with regard to various processing modules.
  • Program instructions may include a computer program (which in certain forms is known as a program, software, software application, script, or code).
  • a computer program may be written in a programming language, including compiled or interpreted languages, or declarative or procedural languages.
  • a computer program may include a unit suitable for use in a computing environment, including as a stand-alone program, a module, a component, or a subroutine.
  • a computer program may or may not correspond to a file in a file system.
  • a program may be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code).
  • a computer program may be deployed to be executed on one or more computer processors located locally at one site or distributed across multiple remote sites and interconnected by a communication network.
  • System memory 1020 may include a tangible program carrier having program instructions stored thereon.
  • a tangible program carrier may include a non-transitory computer readable storage medium.
  • a non-transitory computer readable storage medium may include a machine-readable storage device, a machine readable storage substrate, a memory device, or any combination thereof.
  • Non-transitory computer readable storage medium may include non-volatile memory (e.g., flash memory, ROM, PROM, EPROM, EEPROM memory), volatile memory (e.g., random access memory (RAM), static random access memory (SRAM), synchronous dynamic RAM (SDRAM)), bulk storage memory (e.g., CD-ROM or DVD-ROM, hard-drives), or the like.
  • non-volatile memory e.g., flash memory, ROM, PROM, EPROM, EEPROM memory
  • volatile memory e.g., random access memory (RAM), static random access memory (SRAM), synchronous dynamic RAM (SDRAM)
  • bulk storage memory e.g., CD
  • System memory 1020 may include a non-transitory computer readable storage medium that may have program instructions stored thereon that are executable by a computer processor (e.g., one or more of processors 1010 a - 1010 n ) to cause the subject matter and the functional operations described herein.
  • a memory e.g., system memory 1020
  • a memory may include a single memory device or a plurality of memory devices (e.g., distributed memory devices).
  • Instructions or other program code to provide the functionality described herein may be stored on a tangible, non-transitory computer readable media. In some cases, the entire set of instructions may be stored concurrently on the media, or in some cases, different parts of the instructions may be stored on the same media at different times.
  • I/O interface 1050 may be configured to coordinate I/O traffic between processors 1010 a - 1010 n , system memory 1020 , network interface 1040 , I/O devices 1060 , or other peripheral devices. I/O interface 1050 may perform protocol, timing, or other data transformations to convert data signals from one component (e.g., system memory 1020 ) into a format suitable for use by another component (e.g., processors 1010 a - 1010 n ). I/O interface 1050 may include support for devices attached through various types of peripheral buses, such as a variant of the Peripheral Component Interconnect (PCI) bus standard or the Universal Serial Bus (USB) standard.
  • PCI Peripheral Component Interconnect
  • USB Universal Serial Bus
  • Embodiments of the techniques described herein may be implemented using a single instance of computer system 1000 or multiple computer systems 1000 configured to host different portions or instances of embodiments. Multiple computer systems 1000 may provide for parallel or sequential processing/execution of one or more portions of the techniques described herein.
  • Computer system 1000 is merely illustrative and is not intended to limit the scope of the techniques described herein.
  • Computer system 1000 may include any combination of devices or software that may perform or otherwise provide for the performance of the techniques described herein.
  • computer system 1000 may include or be a combination of a cloud-computing system, a data center, a server rack, a server, a virtual server, a desktop computer, a laptop computer, a tablet computer, a server device, a client device, a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a vehicle-mounted computer, or a Global Positioning System (GPS), or the like.
  • PDA personal digital assistant
  • GPS Global Positioning System
  • Computer system 1000 may also be connected to other devices that are not illustrated, or may operate as a stand-alone system.
  • the functionality provided by the illustrated components may in some embodiments be combined in fewer components or distributed in additional components.
  • the functionality of some of the illustrated components may not be provided or other additional functionality may be available.
  • instructions stored on a computer-accessible medium separate from computer system 1000 may be transmitted to computer system 1000 via transmission media or signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as a network or a wireless link.
  • Various embodiments may further include receiving, sending, or storing instructions or data implemented in accordance with the foregoing description upon a computer-accessible medium. Accordingly, the present techniques may be practiced with other computer system configurations.
  • illustrated components are depicted as discrete functional blocks, but embodiments are not limited to systems in which the functionality described herein is organized as illustrated.
  • the functionality provided by each of the components may be provided by software or hardware modules that are differently organized than is presently depicted, for example such software or hardware may be intermingled, conjoined, replicated, broken up, distributed (e.g., within a data center or geographically), or otherwise differently organized.
  • the functionality described herein may be provided by one or more processors of one or more computers executing code stored on a tangible, non-transitory, machine readable medium.
  • third party content delivery networks may host some or all of the information conveyed over networks, in which case, to the extent information (e.g., content) is said to be supplied or otherwise provided, the information may provided by sending instructions to retrieve that information from a content delivery network.
  • the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must).
  • the words “include”, “including”, and “includes” and the like mean including, but not limited to.
  • the singular forms “a,” “an,” and “the” include plural referents unless the content explicitly indicates otherwise.
  • Statements in which a plurality of attributes or functions are mapped to a plurality of objects encompasses both all such attributes or functions being mapped to all such objects and subsets of the attributes or functions being mapped to subsets of the attributes or functions (e.g., both all processors each performing steps A-D, and a case in which processor 1 performs step A, processor 2 performs step B and part of step C, and processor 3 performs part of step C and step D), unless otherwise indicated.
  • statements that one value or action is “based on” another condition or value encompass both instances in which the condition or value is the sole factor and instances in which the condition or value is one factor among a plurality of factors.
  • statements that “each” instance of some collection have some property should not be read to exclude cases where some otherwise identical or similar members of a larger collection do not have the property, i.e., each does not necessarily mean each and every.
  • providing the UI comprises providing a plurality of values between the first limit and the second limit; the UI element is manipulatable into one of a first plurality of configurations, wherein the updated configuration is one of the first plurality of configurations and corresponds to a fourth value of the plurality of values; setting the UI element to a respective configuration of the first plurality of configurations causes the UI to display a respective value of the plurality of values; the UI element is manipulatable into one of a second plurality of configurations, wherein the updated configuration is not one of the second plurality of configurations, and wherein the second plurality of configurations has a greater number of configurations than the first plurality of configurations; the UI element is configurable to be positioned at an intermediate configuration, wherein the intermediate configuration sets an interface-selected value to a value that is not equal to any value of the plurality of values; providing the UI comprises providing computer instructions that causes the client computing device to: select the fourth value of the plurality of values in response to
  • encrypting the value comprising: obtaining a decryption key; wherein obtaining the second value comprises performing a block cipher decryption using the decryption key, wherein performing the block cipher decryption comprises: retrieving an encrypted block, the encrypted block comprising a first block section and a second block section; determining a first output based on the decryption key and the first block section; determining an intermediate block based on the first output, wherein the intermediate block comprises the first block section and a third block section; determining a second output based on the decryption key and the third block section; and determining an identifier of the second account based on the second output. 5.
  • API application program interface
  • the first account type indicates a loan account, wherein the first value indicates a loan principle amount
  • the second account type indicates a credit account, wherein the second value of the second account indicates an available credit amount
  • the UI element comprises a slider or wheel
  • the third value is a credit limit value
  • adjusting the second value comprises setting the available credit amount to the credit limit value.
  • API application program interface
  • determining the boundary based on the first value further comprises determining the boundary based on a stored sum associated with the first value, wherein the stored sum is less than the first value.
  • the medium of any of embodiments 1 to 10 further comprising: receiving instructions to deactivate the first account; determining whether a stored variable of the second account satisfies an outstanding balance threshold; and transferring an amount associated with the first account to the second account in response to the stored variable satisfying the outstanding balance threshold.
  • the operations further comprising setting an initial configuration of the UI element to the second configuration.
  • the first configuration is mapped to the second value, and wherein the second configuration is mapped to a sum of the second value and a range of the boundary.
  • updating the parameter of the profile comprises updating the parameter of the profile without accessing a database of a server of a credit rating agency.
  • determining the boundary comprises determining three or more values, wherein a minimum value of the three or more values is associated with the first limit and a maximum value of the three or more values is associated with the second limit. 18.
  • 21. A method to perform the operations of any of the embodiments 1 to 20. 22.
  • a system comprising: one or more processors; and memory storing instructions that when executed by the processors cause the processors to effectuate operations comprising: the operations of any one of embodiments 1 to 20.

Abstract

Provided is a method including obtaining a first web message from a device and retrieving values of a profile. The method may include obtaining a first value of a first account based on the profile, respectively. The process may include determining a boundary based on the first value and providing a user interface (UI) to a computing device via a response to the first web message. The UI may include a UI element that is movable from a first configuration to a second configuration, where positioning the UI element in the first configuration and second configuration causes a first and second limit associated with the first and second configuration to be displayed, respectively. The method may include obtaining a second web message having a third value determined from an updated configuration of the UI element and adjusting a second value based on the third value.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This patent does not claim priority to any patent filings at this time.
  • BACKGROUND 1. Field
  • The present disclosure relates generally to interfaces and cryptography.
  • 2. Description of the Related Art
  • Modern web infrastructure provide user interfaces that permit a user to interact with highly sensitive data stored in encryption-secured databases. Such interfaces may accommodate users having varying amounts of domain-specific sophistication and be performant across a wide range of platforms when providing, obtaining, or editing data. Such data may be used for actions such as transferring an amount from a first account to a second account, confirming a previous instruction, or consolidating data stored across different systems. Storing and updating this data across thousands, hundreds of thousands, or millions of accounts in a secure fashion may be performed using an encrypted database.
  • SUMMARY
  • The following is a non-exhaustive listing of some aspects of the present techniques. These and other aspects are described in the following disclosure.
  • Some aspects include a process including obtaining, with a computing system, a first web message from a device and retrieving, with the computing system, values of a profile from a database based on the first web message. The process may include obtaining, with the computing system, a first value of a first account and a second value of a second account based on the values of the profile, wherein the first account is of a first account type, and wherein the second account is of a second account type. The process may include determining, with the computing system, a boundary based on the first value. The process may include providing, with the computing system, a user interface (UI) to client computing device via a response to the first web message, the UI comprising a UI element that is movable from a first configuration to a second configuration, wherein: positioning the UI element in the first configuration causes a first limit associated with the first configuration to be displayed in the UI, positioning the UI element in the second configuration causes a second limit associated with the second configuration to be displayed in the UI, the second limit is determined based on the boundary, and the UI displays the second value. The process may include obtaining, with the computing system, a second web message comprising a third value determined from a updated configuration of the UI element. The process may include adjusting, with the computing system, the second value based on the third value.
  • Some aspects include a tangible, non-transitory, machine-readable medium storing instructions that when executed by a data processing apparatus cause the data processing apparatus to perform operations including the above-mentioned process.
  • Some aspects include a system, including: one or more processors; and memory storing instructions that when executed by the processors cause the processors to effectuate operations of the above-mentioned process.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above-mentioned aspects and other aspects of the present techniques will be better understood when the present application is read in view of the following figures in which like numbers indicate similar or identical elements:
  • FIG. 1 is a schematic diagram of a first computing environment in which a score stored in an account may be updated, in accordance with some embodiments of the present technique.
  • FIG. 2 is a logical and physical architecture block diagram illustrating a computing environment in which various learning infrastructure may be implemented with the present techniques in accordance with some embodiments.
  • FIG. 3 is a flowchart illustrating a process to provide and obtain data via a UI, in accordance with some embodiments of the present techniques.
  • FIG. 4 is a flowchart illustrating a process to encrypt and decrypt data across accounts, in accordance with some embodiments of the present techniques.
  • FIG. 5 shows an example of a computing device by which the present techniques may be implemented.
  • While the present techniques are susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. The drawings may not be to scale. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the present techniques to the particular form disclosed, but to the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present techniques as defined by the appended claims.
  • DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS
  • To mitigate the problems described herein, the inventors had to both invent solutions and, in some cases just as importantly, recognize problems overlooked (or not yet foreseen) by others in the field of data systems. Indeed, the inventors wish to emphasize the difficulty of recognizing those problems that are nascent and will become much more apparent in the future should trends in industry continue as the inventors expect. Further, because multiple problems are addressed, it should be understood that some embodiments are problem-specific, and not all embodiments address every problem with traditional systems described herein or provide every benefit described herein. That said, improvements that solve various permutations of these problems are described below.
  • In a variety of scenarios, it may be useful for a user to adjust scores of different accounts subject to constraints on the adjustment and linkable therebetween. Examples include adjusting a credit limit in one account and an accumulated credit stored in another, wherein the linkage is linear (e.g., one-to-one, or according to some other coefficient). Other examples include various forms of industrial process controls, where metrics reported by sensors at one stage of the process affect performance of downstream processes and appropriate target setpoints for those process steps, such as a thermal budget for processing an annealed metal workpiece or semiconductor device in which thermal budget consumed by upstream processes limits thermal budget consumable by downstream processes. In another example, manufacturing lines are often tuned with target inventory levels at each step, and deviations from that target at one step may affect the desired target levels at another.
  • In some embodiments, computer systems may determine quantitative or categorical values for storage in a first data structure using information stored in another data structure isolated from the first data structure. In many such cases, the mechanisms used to isolate or otherwise silo information stored in different data structures can increase the difficulty of determining of these values or updating a data structure based on these values. Additionally, some cases may require a user to manually edit or confirm changes to the values using interfaces compatible with various platforms. In some cases, performance limitations or user comfort may challenge the performance of such interfaces or increase user frustration when using the interfaces.
  • Some embodiments may include operations to adjust a value of a first account based on the value of a second account, where each account may be of different account types and may be associated with a different data structure, a different set of categories or a different set of encryption systems. Some embodiments may obtain the web message from a client computing device and, in response, provide a user interface (UI) to the computing device via a set of program instructions or other data used to generate an instance of the user interface on the client computing device. The UI may include UI elements, such as sliders, radio buttons, rotating objects, text entry boxes, or the like. Some embodiments may determine a boundary usable for defining the limits to the possible configurations of the UI element. Some embodiments may generate multiple intermediate values causing a UI element to be configurable to a corresponding number of possible intermediate configurations. The UI may include program code to then reconfigure the UI element to a smaller number of allowed configurations, where each of the smaller number of allowed configurations may be equal to a boundary value or a value between the boundary values. Alternatively, the first account and the second account may share an account type, and may share a data structure or a number and type of fields being stored.
  • Some embodiments may determine that a set of update requests to an account value are within a determined time interval and, in response, combine values stored in the set of update requests before updating the account. Some embodiments may determine that the update requests are within the time interval based on timestamps associated with each request based on a directed comparison of each timestamp, a binning operation to assign requests to different times, or the like. Some embodiments may store a record of the combined value in an account without storing a record of the two individual values in the same account. Some embodiments may store data associated with an account in an encrypted data structure, such as an encrypted database, using a symmetric, block cipher encryption and decryption algorithm, where the use of a symmetric block cipher algorithm may increase security and inhibit unauthorized decryption of sensitive data.
  • By providing one or more of the features described in this disclosure, some embodiments may increase the front-facing performance of interfaces being used at a client computing device. Additionally, some embodiments may more efficiently store transaction data or other data associated with a user account by reducing data storage consumption. Additionally, some embodiments may more efficiently encrypt data in an efficient manner that accommodates digit limitations of external application protocol interfaces (APIs) or reduces processing of encrypted data. That said, none of the preceding (or following) should be read as a disclaimer of any subject matter, as a variety of independently useful techniques are described, and some of those techniques may be deployed to address some issues without addressing other described problems with earlier approaches. Furthermore, while some embodiments may be described as having a feature, this is not to suggest that all embodiments have this feature or that any other described feature is not also amenable to variation. For example, while some embodiments may use a first account having a first type and a second account having a different account type, some embodiments may perform operations described in this disclosure for accounts of a same account type.
  • FIG. 1 is a schematic diagram of a first computing environment in which a score stored in an account may be updated, in accordance with some embodiments of the present technique. In some embodiments, the computing environment 100 may be configured to mitigate some of the above-described problems, such as challenges associated with securely updating cross-account information. The computing environment 100 may include a network 150 in communication with a computer system 110 that receive messages such as web requests or responses from a client computing device 102. As further discussed below, the client computing device 102 may include mobile computing devices, laptops, virtual reality headsets, desktop computers, kiosk terminals, or the like. A user of the client computing device 102 may access data associated with a profile of the user, where the profile may be stored in a first database 112. As used in this disclosure, a database may refer to various types of data structures, such as a relational database or a non-relational database. The computer system 110 may include servers stored in a centralized location, a cloud server system, a distributed computing platform using different components or services, or the like. Records from each of the first database 112, second database 113, or third database 114 may include links to associated records with respect to each other. In some embodiments, each of the databases may include values obtained from messages provided by external computing systems, such data indicating a borrowed loan amount of a bank.
  • Some embodiments may store data in a set of relational databases such as PostgreSQL™, Oracle mySQL™, or the like. For example, some embodiments may store a set of profile data in a SQL table, where each record of the SQL table may represent a user profile and include, as table fields, a user's name, a user identifier, a set of associated account identifiers, a password hash, or the like. Alternatively, or in addition, some embodiments may store data in a non-relational or distributed database such as Apache Cassandra™, MongoDB™, or the like. For example, some embodiments may store a set of loan account information in a first MongoDB database and a set of credit account information a second MongoDB database. In some embodiments, the data of each database may be encrypted at rest or in transit, where records of a database may be linked another associated record in a different database (e.g., a record stored in a SQL table). Some embodiments may use a relational or non-relational database to store a pointer, map, or other value usable for indicating relationships between a profile, associated accounts, associated account value, or associated data stored in external systems. As further discussed in this disclosure, some embodiments may perform operations to reduce data consumption of data stored in the computer system 110. Databases need not be persistent and can include in-memory databases, which can include non-persistent program state. Or in some cases, databases may persist program state to a media that can retain information even in the event that power is lost.
  • Accounts store and associate various types of scores with entities, and entities may be associated with profiles. In some cases, entities are associated with profiles in a one-to-one mapping, and multiple accounts may be associated with a single entity and corresponding profile. Examples of scores include in-game scores of video games, monetary amounts credited to or owed by an entity, accumulated or lost amounts of feedstock at various stages of industrial processes, and inventor amounts at various stages of a manufacturing process. In some cases, the scores denote rivalrous quantities, like money or inventory, or in some cases, scores denote non-rivalrous quantities, like character strengths in various dimensions in a video game. Reference to “an account” followed by reference to “the account” is consistent with scenarios where the account has changed in some regard between when the item is referenced, i.e., use of the indefinite article followed by the definite article should not be read to suggest that the thing referenced is immutable. Similar principles of construction should be applied to other mutable entities.
  • The computer system 110 may include or communicate with an encrypted virtual private cloud (VPC) 130 via the network 150, which may include a database of encrypted values 132. The data stored in the encrypted VPC 130 may be isolated from other components of the computer system 110. Some embodiments may enforce the encryption of any data being transferred into the VPC 130 or enforce a requirement that data encrypted in the encrypted VPC 130 remain encrypted while at rest or while being edited. Data from the encrypted VPC 130 may be stored in other components of the computer system 110 or may be communicated to an external network 190. As discussed further below, the external network 190 may include application program interfaces to securely receive data from the encrypted VPC 130, which may cause the external network 190 to perform actions such as determining a card identifier or causing a manufacturing device to generate a physical card based on the card identifier.
  • FIG. 2 is a logical and physical architecture block diagram illustrating a computing environment in which various learning infrastructure may be implemented with the present techniques in accordance with some embodiments. In some cases, some or all of the techniques described in this disclosure may be implemented in the computing environment 200. The computing device 202 may send data via a web message 204 to a computing system 250. Data sent in the web message 204 from the computing device 202 may include account identifiers (e.g., a username, in account number), passwords, values for account parameters (e.g., an amount to deposit), parameters indicating the creation, modification, or deletion of an account, or the like.
  • Some embodiments may be written in or provide program code written in a computer language that is supported by a web browsing application via a set of libraries or engines. For example, an application described in this disclosure may be written in JavaScript, where the application may call one or more APIs of an application such as Google Chrome™, Microsoft Edge™, or Apple Safari™. Alternatively, or in addition, some embodiments may be written in other computer languages such as C#, C++, Python, Ruby, and the like. Additionally, some embodiments may use a web application development framework to provide application functionality or to provide UI features. These development frameworks may include Vue, React.js, Angular, Flutter, or the like. For example, some embodiments may use one or more functions of React.js in a source code to compile when determining a UI.
  • A “web message” is an application-layer communication over a network to or from a web browser (which may include a webview object in a native application, a headless browser, or a browser extension). Web messages are not limited to rendered content or user inputs, and web messages may be encoded in hypertext transport language protocol (HTTP, like HTTP 2) or according to other application-layer protocols. A “web message” (expressed as singular) can include one or more transmissions, in some cases with intervening responsive messages, like acknowledgements or API responses.
  • In some embodiments, the present techniques may be implemented as JavaScript code (or other ECMAScript compliant language). In some embodiments, code implementing the present techniques may be executed by a JavaScript engine (e.g., the Chakra, SpiderMonkey, JavascriptCore, Carakan, or V8 JavaScript engine) running in a web browser. In some embodiments, the code may be parsed to an abstract syntax tree. This abstract syntax tree may be transformed into a bytecode representation. The bytecode representation may then be compiled into machine code, such as the native machine code of the computer executing the web browser or a machine code of a virtual machine. In some cases, a UI or UI-associated function may be provided or implemented with WebAssembly code.
  • Some embodiments may use the data provided by the computing device 202 to access a first account 210 stored in the profile database 211, which is part of the computing system 250. The first account 210 may represent a profile and may store data field values for fields such as a score field 212, a second account identifier field 213, and a third account identifier field 214. The value for the second account identifier field 213 may include an identifier usable to identify or access a second account 220. The second account 220 may be of a first account type and may be stored as a record in a second account database 221. The value for the third account identifier field 214 may include an identifier usable to identify or access a third account 230 of a third database 231. The third account 230 may be of a second account type, where the second account type is different from the first account type with respect to the fields of the account types, number of fields of the account types, links to other databases, or the like.
  • As discussed further below, accounts of different types may be structured as different data structures, include different data structures, store different fields (e.g., different data types, different types of tuples, etc.), be secured with different encryption methods, or the like. For example, the second account 220 may be of the first account type and may be associated with loans. The second account 220 and may include fields that indicates a loan borrower, a loan principle amount, a loan interest, a loan repayment amount, or the like. The third account 230 may be of a second account type and may be associated with credit values. The third account 230 and may include fields that indicates a credit identifier, a card identifier, a credit limit, an amount borrowed, a maximum credit, or the like. Other account types may apply to other non-monetary use cases, like inventory back-log relative to a target, inventory surplus relative to a target in a manufacturing process, or process metric surplus relative to a target and process metric deficit relative to a target in industrial process controls.
  • Some embodiments may include methods of providing UI program instructions 260 to the computing device 202 based on a respective profile and set of accounts associated with the respective profile. For example, after receiving the web message 204 from the computing device 202, some embodiments may determine a boundary having a permitted lower bound of 200 and a permitted upper bound of 650 based on the data stored in the second account 220 and the third account 230. As further discussed below, the UI program instructions 260 may cause a computing device 202 to display a UI element 262 that ranges between a first value written as “200” on the UI element 262 and a second value written as “650.”
  • The term “user interface” can reference both a static interface for a user and one that evolves over time. For example, a single UI can transition from one state to the next as part of an animated transition or responsive to user input. Reference to things displayed or otherwise done by a UI do not require that those things be displayed or done concurrently, as a UI can display or do one thing and then later display or do another, while still being the same UI as that term is used herein. The term “user interface” is used broadly to refer to something presented to a user, like by a client computing device, and instructions or data by which that presentation is composed at a remote device, like a server. For instance, a server can generate a user interface by generating the HTML or JSON by which the client device renders a webpage, without displaying that webpage itself at the server. In some cases, both a client device and server system may cooperate as part of the same computer system to determine a user interface.
  • Some embodiments may provide ownership of an account to third-party entities, such as a commercial organization, financial institute, government organization, or the like, and indicate ownership of an account using a field of the account. For example, as indicated by the account owner field 222, the second account 220 may be registered to a user listed by the first account 210 and be owned by the entity “Ent1.” Some embodiments may separate control of an account from ownership of an account, where a first entity may be able to control or update an account owned by a second entity. For example, some embodiments may allow a company to provide the UI program instructions 260 to the computing device 202. A UI instantiated by the computing device 202 based on the UI program instructions 260 may enable a computing device user to update a credit payment. The credit payment may be associated with the third account 230 of the computing device user, where the credit payment account may be owned by a second entity set in the account owner field 232 as “Ent2,” and where the credit payment may decrease the amount in the borrowed amount field 233.
  • Some embodiments may update the encrypted record 240, which may be stored in the fourth database 241. For example, changes in the borrowed amount field 233 may be used to update the encrypted record 240. In some embodiments, one or more values of the fourth database 241 may be encrypted, and may be a part of a VPC, such as the VPC 130. It should be mentioned that, while the encrypted record 240 is described as encrypted, other values of other databases may also be encrypted. For example, the value for the borrowed amount field 233 of the third database 231 may be encrypted using one or more encryption methods described in this disclosure. Alternatively, some or all of the databases described in this disclosure, such as the databases 211, 221, 231, or 241, may be encrypted or include encrypted values, where some or all of the databases described in this disclosure may be part of one or more VPCs.
  • The processes of FIGS. 3-4 presented below are intended to be illustrative and non-limiting. In some embodiments, for example, the methods may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. For example, some embodiments may perform the process 300 by performing operations described for blocks 304, 308, 312, 316, 320, and 340 without performing operations described for blocks 328, 332, or 336. Additionally, the order in which the processing operations of the methods are illustrated (and described below) is not intended to be limiting. For example, some embodiments may perform the process 300 by performing operations described for blocks 304, 308, 312, 316, 320, and 340 after performing operations described for blocks 328, 332, or 336. In some embodiments, the methods may be implemented in one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information). The processing devices may include one or more devices executing some or all of the operations of the methods in response to instructions stored electronically on an electronic storage medium. The processing devices may include one or more devices configured through hardware, firmware, and/or software to be specifically designed for execution of one or more of the operations of the methods.
  • FIG. 3 is a flowchart illustrating a process to provide and obtain data via a UI, in accordance with some embodiments of the present techniques. In some embodiments, the process 300 may include obtaining a set of web messages from a computing device, as indicated by block 304. As described in this disclosure, a message may include a set of sub-messages sent in the form of one or more data packets sent according to an internet protocol. The message may be provided in the form of a web request or a response to the web request (“web response”) sent over the Internet. For example, the message may include a web request including textual information encoded in the ASCII format divided into frames and including hashed account identifiers or passwords. In some embodiments, the message may include account access such as a username, password, verification identifier, or the like. For example, the message may include a username and password usable to access a profile.
  • Some embodiments may receive a web request to update an account, where updating an account may include generating an account, modifying a field value of an account, or deleting an account. For example, some embodiments may receive a request to generate a new account representing a credit account, where the credit account will be associated with an existing account representing a loan account. Some embodiments may receive a request that causes a server to provide a response that includes program instructions. In some embodiments, the web response program instructions may cause a client computing device to display a UI usable to obtain data required to update an account.
  • The process 300 may include determining a profile based on the set of web messages, as indicated by block 308. The profile may be a type of account stored as record in a database of profiles. As discussed elsewhere in this disclosure, the database of profiles may include a relational database such as a SQL database, a non-relational database, or other data structure. The profile may include one or more fields identifying an individual user, an organization, or other entity. For example, a profile may include a user name, an organization that the user represents, a set of permissions indicating what accounts the user has access to, a set of account identifiers corresponding to the other accounts the user has access to, a set of account owners representing one or more entities that own the user's account(s), or the like.
  • Some embodiments may include a profile having associations to another account associated with the profile, where the other account may be stored in a database different from the database used to store the profile. Records of different databases may store different types of values, may be updated in different ways, or the like. For example, a first reference in the profile may be linked to a first account of a first type, such as a loan account type, and a second reference in the profile may be linked to a second account of a second type, such as a credit account type. The first account may include a score assigned to a user associated with the profile, where changes to the score may be tracked. The second account may include a second score assigned to the user, where, as further described below, increases or possible increases to the second score may be calculated based on updates to the first score or another field of the first account. As used in this disclosure, a score may indicate one or more types of a quantitative value, such as a quantified computing resource amount, a monetary amount, a credit score or estimate of a credit score provided by a credit rating agency, a digital asset amount, an amount to be repaid, an amount that is owed, or the like.
  • In some embodiments, the profile may include a set of scores obtained from an API that receives communication from external entities. For example, a profile may include scores associated with a user identified by the profile, where the scores may be updated by messages received by API and sent from a server controlled by a financial institute, ratings agency, government organization, or the like. Some embodiments may include a heartbeat routine to regularly request data from one or more external entities associated with a profile. For example, some embodiments may execute a routine that sends a request for a credit score, where a response to the request may be received at an API of a third-party verification entity, such as an API of a credit rating agency server.
  • In some embodiments, the process 300 may include determining a boundary based on the values stored in the profile or otherwise associated with the profile, as indicated by block 312. A boundary or set of confirmable values of the boundary may be used when displaying a UI, where some embodiments may provide the UI to a client computing device. In some embodiments, the set of confirmable values may include the values of the boundary itself, and, as further described below, may correspond with values useable for updating a score in an account. Some embodiments may store the boundary or set of confirmable values of the boundary in an account and may store the boundary or set of confirmable values in association with a profile. For example, some embodiments may store the boundary in the form of a list “[300, 900]” directly in a profile record. Alternatively, or in addition, some embodiments may store a boundary in association with a profile by storing the boundary or set of confirmable values within the boundary in a second account record associated with the profile.
  • Alternatively, or in addition, some embodiments may calculate a list or other set of values for use as a boundary or set of confirmable values. For example, after determining a profile based on a web message comprising profile information, some embodiments may search through an account associated with the profile to determine a maximum score threshold. Some embodiments may then determine a set of confirmable values to display between a minimum value and the maximum score threshold, where the set of confirmable values may include a predetermined set of values. Some embodiments may determine a maximum score threshold based on an account value, such as by determining a maximum score threshold based on an amount repaid into a loan account that is indicated as repaying a principle account. For example, if a value for a first field of a first account is equal to a score of 2000, where the value of a second field of the first account indicates a total decrease of 951 to the value of the first field, some embodiments may set the maximum score threshold to be equal to the second field value of 951. Various other functions or data from an account may be used. For example, if the first field mentioned above is a loan principle amount and the second field mentioned above is a repayment amount, some embodiments may set the maximum score threshold based on determining the result of a step-wise function, square function, logarithmic function, other function, or combination of functions being applied on the second field or other field(s) of an account.
  • Some embodiments may determine the set of confirmable values based on a set of allowed score values between (either inclusively or exclusively) a minimum value and the maximum score threshold. For example, some embodiments may include a pre-existing set of values stored as an array “[50, 125, 200, 250, 400, 500, 750, 1000].” After a determination that the maximum score threshold for a score associated with a profile is equal to 537, some embodiments may provide the set of confirmable values in the form of an array [50, 125, 200, 250, 400, 500],” where the set of confirmable values includes all values from the pre-existing set of values less than the maximum score threshold. Alternatively, or in addition, some embodiments may determine a set of confirmable values based on a step size value or a boundary. For example, some embodiments may determine that a maximum value is 157. Some embodiments may then determine that the set of confirmable values to be provided in association with a UI is 0, 50, 100, and 150, based on each value of the set of confirmable values being less than 157.
  • Some embodiments may determine the set of confirmable values using a neural network or other predictive modeling system. For example, some embodiments may search through a history of other users with respect to a first user to determine a credit limit value associated with a maximum return value (e.g., highest rate of paying off a credit limit). The history of other users may be filtered by users having profile data matching or similar to data stored in the user's profile. Some embodiments may then use the predictive-model-found maximum credit limit to as part of a boundary value or base a determination of an upper limit to the boundary value based on the predictive-model-found maximum credit limit.
  • In some embodiments, the process 300 may include providing a UI having a selection element based on the boundary, as indicated by block 316. Some embodiments may provide a UI in the form of a web message, such as a web response, where the web message includes program instructions or other data that causes a computing device to display the UI. Some embodiments may provide the UI by providing program code to be interpreted and displayed on a web browser executing on a desktop computer, laptop computer, mobile computing device, augmented reality headset, or the like. Alternatively, or in addition, some embodiments may provide the UI by providing program code to be executed as native application on a computing device.
  • Some embodiments may provide a UI that includes a UI element that is manipulatable from a first configuration to a second configuration, where the first configuration corresponds with a lower limit and a second configuration corresponds to upper limit. In some embodiments, the lower limit may be equal to zero, a value stored in an account associated with a profile, a minimum of a set of confirmable values, or the like. In some embodiments, the lower limit may be or otherwise include a result of a function applied onto a value provided a server as a part of the UI or otherwise in association with the UI. For example, some embodiments may provide a UI element and a boundary represented by the list “[200, 650],” which includes a lower limit of 200 and an upper limit of 650. Some embodiments may display a UI element as a slidable element (i.e. “slider”) that can be slid via a mouse drag or a touchpad from the left side to a right side of the slider, where the left side may correspond to the lower limit and the right side may correspond to the higher limit. Some embodiments may provide a UI element that displays the value corresponding with a UI element configured into the first configuration, second configuration, or other configuration. For example, a UI element of a UI set in a first configuration may cause a text box of the UI to display the value of 200, where the value of 200 corresponds with the first configuration. After the UI element is moved to a second configuration corresponding with the value 650, the text box of the UI may display the value 650. It should be noted that, while the above discloses the use of a slider, other some embodiments may use other UI elements, such as a text box entry or a rotatable element (e.g., a dial, a wheel, or the like). In addition, the UI may display a current value associated with an account, such as a credit limit value associated with a credit account associated with the user.
  • Some embodiments may provide a UI element that is configurable into having multiple configurations between two or more values of a set of confirmable values, where the UI element may then be automatically moved to a nearest value of the set of confirmable values. For example, some embodiments may provide a set of confirmable values represented by the list “[100, 150, 200, 250]” in association with a first UI element. The first UI element may include program code to be movable between a lowest configuration corresponding with the value of 100 and a highest configuration at value intervals of five, such that moving the slider may cause the UI to display or modify an internal state value to multiples of five such as 5, 10, 15, 20, the like. In some embodiments, the UI element may further include or be associated with program code that causes the slider to snap to a nearest value stored in the set of confirmable values. For example, some embodiments may provide program code to search for a nearest value in the list “[150, 200, 250]” for the initially-selected value 205 and determine that 200 is the nearest value in the list. In response, the UI element may be automatically set to an updated configuration corresponding with the value of 200 after the UI element is first set into an initial configuration corresponding with the initially-selected value 205.
  • An issue in sliding, rotating, or other movable UIs having discrete boundaries or discrete selectable intervals is either a configuration that causes a lack of responsiveness to micromotions or over-responsiveness. Additionally, some UI elements may be configured based on values allowing tens of thousands or more possible configurations, which may slow down operations to reconfigure the UI element to an allowed configuration or changing a data type being analyzed. Some embodiments may provide a second set of configurations for the UI element, where the second set of configurations may provide a greater number of configurations than the first set of configurations. By providing a second set of configurations, some embodiments may increase the number of configurations of the UI element to increase the smoothness and efficiency of a UI. By providing a UI element capable of moving through a set of intermediate configuration values, some embodiments may provide an interface experience emulating a continuous UI element while decreasing the time needed to determine a nearest value of an allowed list of values.
  • In some embodiments the process 300 may include obtaining an interface-selected value from an instance of the UI, as indicated by block 320. The interface-selected value may include a value corresponding to an initial configuration or updated configuration state of a UI element. For example, the interface-selected value may correspond to an updated configuration of a slider or other UI element of an instance of a UI executing on a client computing device after a confirmation button of the UI is clicked or tapped. Alternatively, some embodiments may receive an interface-selected value that is a transformation of the value corresponding to an updated configuration of the UI element. As further described below some embodiments may then update a profile value or value associated with the profile (e.g., a value stored in an account linked to the profile). For example, some embodiments may obtain the interface-selected value “200” via a request payload of a web request or other web message sent from a client computing device.
  • The interface-selected value may represent various types of values and be used to adjust or otherwise update a value associated with a profile. For example, as further described below, the interface selected value may include an interface-selected credit limit value usable increase a corresponding credit limit of a credit account, where the interface-selected credit limit may be greater than or less than a current credit limit. As described further below, some embodiments may encrypt an account value updated by the interface-selected value. Some embodiments may then store the encrypted value in persistent storage or send the encrypted value to a third-party API. In some embodiments, the adjustment of a value of an account may include adjusting a value of an account that has not been instantiated or otherwise made accessible, such as in adjustment of a credit limit value for a credit account that has not been created. In such cases, some embodiments may store the value in a first storage or temporary memory and retrieve the value for inclusion the account after the account has been created. Reference to “an account” can include references to accounts that are yet-to-be created. For example, assigning a value to an account can be done by determining a value for an account that will be created after the value is assigned.
  • In some embodiments, the interface-selected value may include instructions to update one or more accounts. For example, some embodiments may receive an interface-selected value comprising, representing, or confirming instructions to deactivate an account. In response, some embodiments may determine whether an account is permitted to be deactivated based on one or more criteria, such as by determining whether a stored variable of the account satisfies an outstanding balance threshold. Deactivating an account may include updating a value associated with an account, where the updated value prevents the account from being further used or modified. Alternatively, deactivating the account may include permanently deleting the account. Some embodiments may perform one or more score updates as a part of deactivating an account or in response to a determination that an account is to be deactivated. For example, some embodiments may transfer an amount associated with a first account to a second account in response to a determination that an account is to be deactivated. Various criteria may be satisfied to confirm that an account is to be deactivated. For example, in response to receiving instructions to deactivate an account and a determination that a stored variable of the account satisfies an outstanding balance threshold, some embodiments may determine that the account is to be deactivated.
  • In some embodiments, the process 300 may include determining whether a new account or account card associated with the profile should be generated, as indicated by block 328. Some embodiments may determine that a new account or account card associate with the profile may be generated based on receiving instructions to generate the new account for account card or based on an existing set of criteria. For example, some embodiments may provide a UI having an option to generate a new account. Some embodiments may then receive a confirmation from a client computing device indicating that a user has selected the option to generate new account.
  • Some embodiments may include operations to determine whether the new account or account card is permitted for generation based on one or more criteria. Some embodiments may determine whether a number of updates satisfies a threshold number of updates. For example, some embodiments may determine whether a loan repayment count satisfies a threshold number of payments. If the threshold number of payments is three, then some embodiments may determine that a new account card is permitted based on a first account having been updated at least three times, and some embodiments may determine that a new account card is not permitted based on the first account having been updated only once. In response to a determination that a new account for account card associate with the profile should be generated, operations of the process 300 may proceed to block 332. Otherwise, operations of the process 300 may proceed to block 340.
  • In some embodiments, the process 300 may include sending an account generation request to an API based on data associated with the profile, as indicated by block 332. As discussed further below, some embodiments may encrypt data in a request sent to an API and may store or send data in a separate or otherwise isolated system or subsystem such as a virtual private cloud (VPC). For example, some embodiments may send account data including a username, a date of birth, identification number, to an address of a VPC after encrypting the account data. The VPC may then send the encrypted account data or other encrypted value(s) to an API of a third-party entity, where the entity may determine a new account identifier, cause the manufacture of a new physical card showing the new account identifier, or generate a counterpart account associated with the new account identified.
  • In some embodiments, the account generation request may include encrypted versions of profile data such as a name, an address, an image, another account identifier, or the like. In some embodiments, the account generation request may cause a server or other computing device of a third-party entity to generate a physical card and a corresponding card identifier. For example, as further described below, some embodiments may generate or cause the generation of a physical transaction card containing a name obtained from a user profile.
  • In some embodiments, the process 300 may include receiving a second set of web messages that includes the new account identifier from the third-party entity, as indicated by block 336. The second set of web messages may include a web response that indicates that a new account was confirmed, a physical card was queued for manufacture, or the like. In some embodiments, the new account identifier may include information associated with the new account, such as a security value, a digital signature, a card-specific model number, or the like. By receiving a card identifier or other information associated with a physical transaction card, some embodiments may update an account with the information and track account changes without necessitating continuously updating the third-party entity.
  • In some embodiments, the web message may include a card identifier corresponding to a physical transaction card. For example, some embodiments may receive a web message that includes a credit card number, where the web message was by a third-party server in response to a first web message received at an API of the third-party server. In some embodiments, a physical transaction card or another type of physical card may be generated by adding a record represented by the card identifier to a manufacturing device queue. After receiving a card identifier, some embodiments may associate an account with the card identifier, where use the card identifier during a transaction may cause a corresponding value of the account to change.
  • In some embodiments, the process 300 may include updating an account based on an interface-selected value or other data from a set of web messages, as indicated by block 340. Some embodiments may update an account with a value such as an interface-selected value or a new account identifier and associate the account with a profile. In some embodiments, the web message may include an interface-selected value that is then used to update one or more database records or other data structures storing data related to an account. For example, some embodiments may receive an encrypted web message that includes an interface-selected value representing an increased (or decreased) maximum credit limit. Some embodiments may then update one or more records of a database by decrypting the web message, determining a record based on the web message, and update one or more fields in the record based on the web message.
  • Some embodiments may then re-encrypt data in the updated record before storing the encrypted data in local persistent storage or in the storage of a VPC. As discussed further below, various encryption operations or methods may be used, where different types of encryption may be selected based on their efficiency, reliability, or the like. Furthermore, as described elsewhere in this disclosure, encrypting data in a record may include encrypting the specific field in the record, encrypting the record, encrypting the column of the field for the database storing the record, encrypting the entire database storing the record, or the like. Additionally, some embodiments may update an account based on an interface-selected value, new account information, or other data as it is received independently of other messages or data. For example, after receiving an interface-selected value as described for block 320, some embodiments may then proceed to update an account without waiting for additional account information such as a new account identifier described for block 336.
  • FIG. 4 is a flowchart illustrating a process to encrypt and decrypt data across accounts, in accordance with some embodiments of the present techniques. In some embodiments, the process 400 may include receiving instructions to update data in an account, as indicated by block 404. Some embodiments may receive instructions to update an account in the form of routines activated by web messages. For example, some embodiments may receive instructions to update a loan payment parameter with a new quantitative number indicating payment of a portion of a loan, which may deduct a loan principle amount (which may have its own corresponding parameter). Alternatively, or in addition, some embodiments may receive instructions to update an account based on internal program code. For example, some embodiments may determine that a maximum value threshold associated with a specific profile may be increased and, in response, begin operations to update an account of the profile based on the maximum value threshold increase.
  • In some embodiments, the process 400 may include operations to update data associated with a database of encrypted values, as indicated by block 404. Some embodiments may include operations to store updates to data associated with an account, where the corresponding update values may be compressed into a single net update to account based on a threshold time interval. For example, some embodiments may receive a plurality of update requests that have occurred within a pre-determined time interval such as an interval less than a 1 minute time interval, less than a 10 minute interval, less than a 1 hour time interval, less than a 24-hour time interval, less than a 72-hour time interval, or the like. Some embodiments may then determine an arithmetic sum of the plurality of score changes and store the arithmetic sum of the plurality of score changes in an encrypted record, as further discussed below. For example, some embodiments may receive three update requests, each update request including an update value representing changes to an account score. Some embodiments may sum the three update values to compute a sum of the three update values (or other combined value of the three update values), each of the three update values having a timestamp within a same pre-defined time interval (e.g., within the same day).
  • In some embodiments, the process 400 may include encrypting data using an encryption method based on an encryption key, as indicated by block 414. In some embodiments, the encryption method may include one or more of various types encryption methods, such as a symmetric encryption method, an asymmetric encryption method, a hybrid encryption method, or a quantum encryption method. Some embodiments may use a symmetric encryption method, such as an encryption method based on the advanced encryption standard (AES), where a data encrypted with a symmetric encryption method using a single encryption key may be decrypted with the same encryption key. For example, some embodiments may implement AES encryption using 128-bit or 256-bit keys and 128-bit blocks, where using AES encryption may include encrypting a data using consecutive rounds of a substitution-permutation network (SPN). Various symmetrical algorithms may be used to encrypt or decrypt data, such as Twofish, RC6, Serpent, Mars, or the like, and may further be described by Rachmat et al. (Rachmat, N., 2019, March. Performance analysis of 256-bit AES encryption algorithm on android smartphone. In Journal of Physics: Conference Series (Vol. 1196, No. 1, p. 012049). IOP Publishing), which is hereby incorporated by reference.
  • Alternatively, some embodiments may use an asymmetric encryption method to encrypt or decrypt a value, where an asymmetric encryption method includes the use of a public key to encrypt a message and a private key to decrypt the encrypted message. One or more various types of asymmetric encryption algorithms may be used, such as a Rivest-Shamir-Adleman (RSA) encryption algorithm, an ElGamal encryption algorithm, a Diffie-Hellman key exchange protocol, an elliptic-curve cryptography method, or the like, where such algorithms may be described by Mahto et al. (Mahto, D. and Yadav, D. K., 2018. Performance Analysis of RSA and Elliptic Curve Cryptography. IJ Network Security, 20(4), pp.625-635). For example, some embodiments may use an RSA encryption method by using a first encryption key to encrypt an account identifier and using a first decryption key that is different from the first encryption key to decrypt the encrypted account identifier. Some embodiments may implement an asymmetric encryption method in distributed computing environments, where different subsystems or services of an application may be independent of one another or not necessarily trusted.
  • Some embodiments may use a format-preserving cipher, where the encryption key for the format-preserving cipher may be protected in a different virtual or physical memory of a computing system than the data that it is used to encrypt. A format-preserving cipher may be used to convert a value into a same format (e.g., same number of fields), and may include various types of encryption methods such as block cipher encryption. For example, some embodiments may use a format-preserving cipher to convert a first account identifier to a second account identifier having the same number of digits. Various format-preserving cipher methods may be used, such as the Black and Rogaway encryption method, an encryption method using a Feistel network, another Feistel-based encryption method, another block cipher, or the like, where such encryption may be described in Bellare et al. 2009 (Bellare, M., Ristenpart, T., Rogaway, P. and Stegers, T., 2009, August. Format-preserving encryption. In International workshop on selected areas in cryptography (pp. 295-312). Springer, Berlin, Heidelberg), which is hereby incorporated by reference.
  • Use of a format-preserving cipher may preserve the uniqueness of each account number while reducing the amount of memory used to encrypt the data. For example, some embodiments may use a block cipher encryption method, such as an FFX encryption method, to encrypt a block (e.g., a number, a string, list, or the like), which is further described in Bellare et al. 2010 (Bellare, M., Rogaway, P. and Spies, T., 2010 The FFX mode of operation for format-preserving encryption. NIST submission, 20, p.19), which is hereby incorporated by reference. Some embodiments using the FFX method may perform multiple encryption rounds of operations that include splitting an input value for the encryption method into to subsets. After dividing the block into two block sections, using the FFX method may including using the first block section as an input for a first half of an encryption round for a function that takes, as parameters, the encryption key and the second block section. Various functions may be used, and may include combinations of arithmetic operations, vector product operations, logarithmic operations, exponential operations, or the like. Some embodiments using the FFX method also perform an exclusive or (XOR) operation across elements (e.g., individual bits) between the function result and the second block section to produce an intermediate block that includes the encrypted first block section. Some embodiments using the FFX method may then switch the operations being performed on the first and second block sections in a second half of an encryption round by using the second block section as an input to a function using the first now-encrypted block section and the encryption key as function parameters. Some embodiments may then perform multiple encryption rounds to encrypt a block.
  • Some embodiments may encrypt or decrypt data using a lattice-based encryption method or other quantum-proof encryption method. For example, some embodiments using a lattice-based encryption method may obtain a path through a multi-dimensional lattice and, in response, encrypt or decrypt data based on an encryption key stored at a point in the multi-dimensional lattice along the path. Additionally, some embodiments may use quantum cryptography to encrypt or decrypt data. For example, some embodiments may distribute a quantum key between two databases, such as a profile database and an account database stored in a VPC.
  • In some embodiments, the process 400 may include sending the encrypted message to an encrypted persistent storage, as indicated by block 430. The encrypted persistent storage may be isolated from other data storage or systems of a computing environment. In some embodiments, data being sent to the encrypted persistent storage, stored in the encrypted persistent storage, or retrieved from the encrypted persistent storage may be in an encrypted state. The encrypted persistent storage may include a solid state drive, a spinning disk drive, or the like. In some embodiments, the encrypted persistent storage may be part of a VPC capable of isolating a database stored in the persistent storage from other components of the system.
  • In some embodiments, the encrypted message may be stored in a database of encrypted values, where various encryption methods may be used. Some embodiments may perform transparent data encryption (TDE), where an unencrypted database having multiple records and multiple columns may be encrypted to form an encrypted block(s) of data or decrypted from the encrypted block(s) of data into an unencrypted database. Various TDE operations may be used to encrypt a database. For example, while some embodiments may encrypt a database using one or more of the encryption methods described above such that the database may remain encrypted while being transmitted in a network or while at rest (e.g., while not being edited or moved). Alternatively, or in addition, some embodiments may perform a column-level encryption operation, where columns of a database may be separately encrypted with different encryption keys. Some embodiments may perform column-level encryption of account data, where commonly retrieved and less sensitive fields of the account data remains unencrypted, while sensitive fields are encrypted. In some cases, use of a column-level encryption may be increase the flexibility of data structures holding sensitive information (e.g., account identifiers) with respect to response times when retrieving unencrypted data. Alternatively, or additionally, some embodiments may perform field-level encryption of account data, where individual fields of data may be encrypted using methods such as probabilistic encryption methods. As used in this disclosure, a field of a record may be understood as the specific column for a single record (unless otherwise stated), whereas a column of a database may include each field having a shared field name in the database.
  • in some embodiments, the process 400 may include retrieving encrypted data from the encrypted persistent storage, as indicated by block 432. Some embodiments may retrieve encrypted data from an encrypted persistent storage in response to instructions to perform an action using data stored in an encrypted form. For example, some embodiments may receive instructions to increase a maximum score threshold based on a web message. In response, some embodiments may retrieve a verification number from an encrypted account to verify data in the request, where retrieving the verification number may include performing a decryption operation.
  • In some embodiments, the process 400 may include decrypting the encrypted data of the encrypted account, as indicated by block 440. The decryption method used to decrypt the encrypted data may be based on the encryption method used to first encrypted data. For example, some embodiments may use a block cipher decryption method to decrypt data encrypted by a block cipher encryption method. Some decryption methods may use a same key to encrypt and decrypt data, while other methods may use different keys to encrypt and decrypt data. After decrypting the data, some embodiments may then use the data to confirm a transaction, update an account, store additional data, or the like. For example, some embodiments may decrypt an account identifier stored in a database of encrypted values to update an account balance or update a loan repayment.
  • Some embodiments may use an FFX decryption method to decrypt a block that was encrypted with an FFX encryption method. For example, some embodiments may divide an encrypted block into two block sections, where using the FFX method may including using the first block section as input for a first half of an decryption round for a function that takes, as parameters, the encryption key and the second block section. Various functions may be used to produce an intermediate block that includes the (partially) decrypted first block section and the second block, where the function used may be based on an inverse function of the function used during FFX encryption. For example, if a modular addition operation based on the second block was used to encrypt data into an encrypted block, some embodiments may use a modular subtraction based on the second block to decrypt the data into a decrypted block. Some embodiments using the FFX method may then switch the operations being performed on the first and second block sections in a second half of an decryption round by using the second block section as an input to a function using the (partially) decrypted block section and the encryption key as function parameters. Some embodiments may then perform multiple decryption rounds to decrypt an encrypted block to its original form, where the number of decryption rounds is equal to the number of encryption rounds used to encrypt the decrypted block.
  • FIG. 5 shows an example of a computing device by which the present techniques may be implemented. FIG. 5 is a diagram that illustrates an exemplary computing system 1000 in accordance with embodiments of the present technique. Various portions of systems and methods described herein, may include or be executed on one or more computer systems similar to computing system 1000. Further, processes and modules described herein may be executed by one or more processing systems similar to that of computing system 1000.
  • Computing system 1000 may include one or more processors (e.g., processors 1010 a-1010 n) coupled to system memory 1020, an input/output I/O device interface 1030, and a network interface 1040 via an input/output (I/O) interface 1050. A processor may include a single processor or a plurality of processors (e.g., distributed processors). A processor may be any suitable processor capable of executing or otherwise performing instructions. A processor may include a central processing unit (CPU) that carries out program instructions to perform the arithmetical, logical, and input/output operations of computing system 1000. A processor may execute code (e.g., processor firmware, a protocol stack, a database management system, an operating system, or a combination thereof) that creates an execution environment for program instructions. A processor may include a programmable processor. A processor may include general or special purpose microprocessors. A processor may receive instructions and data from a memory (e.g., system memory 1020). Computing system 1000 may be a uni-processor system including one processor (e.g., processor 1010 a), or a multi-processor system including any number of suitable processors (e.g., 1010 a-1010 n). Multiple processors may be employed to provide for parallel or sequential execution of one or more portions of the techniques described herein. Processes, such as logic flows, described herein may be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating corresponding output. Processes described herein may be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). Computing system 1000 may include a plurality of computing devices (e.g., distributed computer systems) to implement various processing functions.
  • I/O device interface 1030 may provide an interface for connection of one or more I/O devices 1060 to computer system 1000. I/O devices may include devices that receive input (e.g., from a user) or output information (e.g., to a user). I/O devices 1060 may include, for example, graphical UI presented on displays (e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor), pointing devices (e.g., a computer mouse or trackball), keyboards, keypads, touchpads, scanning devices, voice recognition devices, gesture recognition devices, printers, audio speakers, microphones, cameras, or the like. I/O devices 1060 may be connected to computer system 1000 through a wired or wireless connection. I/O devices 1060 may be connected to computer system 1000 from a remote location. I/O devices 1060 located on remote computer system, for example, may be connected to computer system 1000 via a network and network interface 1040.
  • Network interface 1040 may include a network adapter that provides for connection of computer system 1000 to a network. Network interface may 1040 may facilitate data exchange between computer system 1000 and other devices connected to the network. Network interface 1040 may support wired or wireless communication. The network may include an electronic communication network, such as the Internet, a local area network (LAN), a wide area network (WAN), a cellular communications network, or the like.
  • System memory 1020 may be configured to store program instructions 1100 or data 1110. Program instructions 1100 may be executable by a processor (e.g., one or more of processors 1010 a-1010 n) to implement one or more embodiments of the present techniques. Instructions 1100 may include modules of computer program instructions for implementing one or more techniques described herein with regard to various processing modules. Program instructions may include a computer program (which in certain forms is known as a program, software, software application, script, or code). A computer program may be written in a programming language, including compiled or interpreted languages, or declarative or procedural languages. A computer program may include a unit suitable for use in a computing environment, including as a stand-alone program, a module, a component, or a subroutine. A computer program may or may not correspond to a file in a file system. A program may be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program may be deployed to be executed on one or more computer processors located locally at one site or distributed across multiple remote sites and interconnected by a communication network.
  • System memory 1020 may include a tangible program carrier having program instructions stored thereon. A tangible program carrier may include a non-transitory computer readable storage medium. A non-transitory computer readable storage medium may include a machine-readable storage device, a machine readable storage substrate, a memory device, or any combination thereof. Non-transitory computer readable storage medium may include non-volatile memory (e.g., flash memory, ROM, PROM, EPROM, EEPROM memory), volatile memory (e.g., random access memory (RAM), static random access memory (SRAM), synchronous dynamic RAM (SDRAM)), bulk storage memory (e.g., CD-ROM or DVD-ROM, hard-drives), or the like. System memory 1020 may include a non-transitory computer readable storage medium that may have program instructions stored thereon that are executable by a computer processor (e.g., one or more of processors 1010 a-1010 n) to cause the subject matter and the functional operations described herein. A memory (e.g., system memory 1020) may include a single memory device or a plurality of memory devices (e.g., distributed memory devices). Instructions or other program code to provide the functionality described herein may be stored on a tangible, non-transitory computer readable media. In some cases, the entire set of instructions may be stored concurrently on the media, or in some cases, different parts of the instructions may be stored on the same media at different times.
  • I/O interface 1050 may be configured to coordinate I/O traffic between processors 1010 a-1010 n, system memory 1020, network interface 1040, I/O devices 1060, or other peripheral devices. I/O interface 1050 may perform protocol, timing, or other data transformations to convert data signals from one component (e.g., system memory 1020) into a format suitable for use by another component (e.g., processors 1010 a-1010 n). I/O interface 1050 may include support for devices attached through various types of peripheral buses, such as a variant of the Peripheral Component Interconnect (PCI) bus standard or the Universal Serial Bus (USB) standard.
  • Embodiments of the techniques described herein may be implemented using a single instance of computer system 1000 or multiple computer systems 1000 configured to host different portions or instances of embodiments. Multiple computer systems 1000 may provide for parallel or sequential processing/execution of one or more portions of the techniques described herein.
  • Those skilled in the art will appreciate that computer system 1000 is merely illustrative and is not intended to limit the scope of the techniques described herein. Computer system 1000 may include any combination of devices or software that may perform or otherwise provide for the performance of the techniques described herein. For example, computer system 1000 may include or be a combination of a cloud-computing system, a data center, a server rack, a server, a virtual server, a desktop computer, a laptop computer, a tablet computer, a server device, a client device, a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a vehicle-mounted computer, or a Global Positioning System (GPS), or the like. Computer system 1000 may also be connected to other devices that are not illustrated, or may operate as a stand-alone system. In addition, the functionality provided by the illustrated components may in some embodiments be combined in fewer components or distributed in additional components. Similarly, in some embodiments, the functionality of some of the illustrated components may not be provided or other additional functionality may be available.
  • Those skilled in the art will also appreciate that while various items are illustrated as being stored in memory or on storage while being used, these items or portions of them may be transferred between memory and other storage devices for purposes of memory management and data integrity. Alternatively, in other embodiments some or all of the software components may execute in memory on another device and communicate with the illustrated computer system via inter-computer communication. Some or all of the system components or data structures may also be stored (e.g., as instructions or structured data) on a computer-accessible medium or a portable article to be read by an appropriate drive, various examples of which are described above. In some embodiments, instructions stored on a computer-accessible medium separate from computer system 1000 may be transmitted to computer system 1000 via transmission media or signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as a network or a wireless link. Various embodiments may further include receiving, sending, or storing instructions or data implemented in accordance with the foregoing description upon a computer-accessible medium. Accordingly, the present techniques may be practiced with other computer system configurations.
  • In block diagrams, illustrated components are depicted as discrete functional blocks, but embodiments are not limited to systems in which the functionality described herein is organized as illustrated. The functionality provided by each of the components may be provided by software or hardware modules that are differently organized than is presently depicted, for example such software or hardware may be intermingled, conjoined, replicated, broken up, distributed (e.g., within a data center or geographically), or otherwise differently organized. The functionality described herein may be provided by one or more processors of one or more computers executing code stored on a tangible, non-transitory, machine readable medium. In some cases, notwithstanding use of the singular term “medium,” the instructions may be distributed on different storage devices associated with different computing devices, for instance, with each computing device having a different subset of the instructions, an implementation consistent with usage of the singular term “medium” herein. In some cases, third party content delivery networks may host some or all of the information conveyed over networks, in which case, to the extent information (e.g., content) is said to be supplied or otherwise provided, the information may provided by sending instructions to retrieve that information from a content delivery network.
  • The reader should appreciate that the present application describes several independently useful techniques. Rather than separating those techniques into multiple isolated patent applications, applicants have grouped these techniques into a single document because their related subject matter lends itself to economies in the application process. But the distinct advantages and aspects of such techniques should not be conflated. In some cases, embodiments address all of the deficiencies noted herein, but it should be understood that the techniques are independently useful, and some embodiments address only a subset of such problems or offer other, unmentioned benefits that will be apparent to those of skill in the art reviewing the present disclosure. Due to costs constraints, some techniques disclosed herein may not be presently claimed and may be claimed in later filings, such as continuation applications or by amending the present claims. Similarly, due to space constraints, neither the Abstract nor the Summary of the Invention sections of the present document should be taken as containing a comprehensive listing of all such techniques or all aspects of such techniques.
  • It should be understood that the description and the drawings are not intended to limit the present techniques to the particular form disclosed, but to the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present techniques as defined by the appended claims. Further modifications and alternative embodiments of various aspects of the techniques will be apparent to those skilled in the art in view of this description. Accordingly, this description and the drawings are to be construed as illustrative only and are for the purpose of teaching those skilled in the art the general manner of carrying out the present techniques. It is to be understood that the forms of the present techniques shown and described herein are to be taken as examples of embodiments. Elements and materials may be substituted for those illustrated and described herein, parts and processes may be reversed or omitted, and certain features of the present techniques may be utilized independently, all as would be apparent to one skilled in the art after having the benefit of this description of the present techniques. Changes may be made in the elements described herein without departing from the spirit and scope of the present techniques as described in the following claims. Headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description.
  • As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). The words “include”, “including”, and “includes” and the like mean including, but not limited to. As used throughout this application, the singular forms “a,” “an,” and “the” include plural referents unless the content explicitly indicates otherwise. Thus, for example, reference to “an element” or “a element” includes a combination of two or more elements, notwithstanding use of other terms and phrases for one or more elements, such as “one or more.” The term “or” is, unless indicated otherwise, non-exclusive, i.e., encompassing both “and” and “or.” Terms describing conditional relationships, e.g., “in response to X, Y,” “upon X, Y,”, “if X, Y,” “when X, Y,” and the like, encompass causal relationships in which the antecedent is a necessary causal condition, the antecedent is a sufficient causal condition, or the antecedent is a contributory causal condition of the consequent, e.g., “state X occurs upon condition Y obtaining” is generic to “X occurs solely upon Y” and “X occurs upon Y and Z.” Such conditional relationships are not limited to consequences that instantly follow the antecedent obtaining, as some consequences may be delayed, and in conditional statements, antecedents are connected to their consequents, e.g., the antecedent is relevant to the likelihood of the consequent occurring. Statements in which a plurality of attributes or functions are mapped to a plurality of objects (e.g., one or more processors performing steps A, B, C, and D) encompasses both all such attributes or functions being mapped to all such objects and subsets of the attributes or functions being mapped to subsets of the attributes or functions (e.g., both all processors each performing steps A-D, and a case in which processor 1 performs step A, processor 2 performs step B and part of step C, and processor 3 performs part of step C and step D), unless otherwise indicated. Further, unless otherwise indicated, statements that one value or action is “based on” another condition or value encompass both instances in which the condition or value is the sole factor and instances in which the condition or value is one factor among a plurality of factors. Unless otherwise indicated, statements that “each” instance of some collection have some property should not be read to exclude cases where some otherwise identical or similar members of a larger collection do not have the property, i.e., each does not necessarily mean each and every. Limitations as to sequence of recited steps should not be read into the claims unless explicitly specified, e.g., with explicit language like “after performing X, performing Y,” in contrast to statements that might be improperly argued to imply sequence limitations, like “performing X on items, performing Y on the X'ed items,” used for purposes of making claims more readable rather than specifying sequence. Statements referring to “at least Z of A, B, and C,” and the like (e.g., “at least Z of A, B, or C”), refer to at least Z of the listed categories (A, B, and C) and do not require at least Z units in each category. Unless specifically stated otherwise, as apparent from the discussion, it is appreciated that throughout this specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining” or the like refer to actions or processes of a specific apparatus, such as a special purpose computer or a similar special purpose electronic processing/computing device. Features described with reference to geometric constructs, like “parallel,” “perpendicular/orthogonal,” “square”, “cylindrical,” and the like, should be construed as encompassing items that substantially embody the properties of the geometric construct, e.g., reference to “parallel” surfaces encompasses substantially parallel surfaces. The permitted range of deviation from Platonic ideals of these geometric constructs is to be determined with reference to ranges in the specification, and where such ranges are not stated, with reference to industry norms in the field of use, and where such ranges are not defined, with reference to industry norms in the field of manufacturing of the designated feature, and where such ranges are not defined, features substantially embodying a geometric construct should be construed to include those features within 15% of the defining attributes of that geometric construct. The terms “first”, “second”, “third,” “given” and so on, if used in the claims, are used to distinguish or otherwise identify, and not to show a sequential or numerical limitation. As is the case in ordinary usage in the field, data structures and formats described with reference to uses salient to a human need not be presented in a human-intelligible format to constitute the described data structure or format, e.g., text need not be rendered or even encoded in Unicode or ASCII to constitute text; images, maps, and data-visualizations need not be displayed or decoded to constitute images, maps, and data-visualizations, respectively; speech, music, and other audio need not be emitted through a speaker or decoded to constitute speech, music, or other audio, respectively. Computer implemented instructions, commands, and the like are not limited to executable code and can be implemented in the form of data that causes functionality to be invoked, e.g., in the form of arguments of a function or API call.
  • In this patent, to the extent any U.S. patents, U.S. patent applications, or other materials (e.g., articles) have been incorporated by reference, the text of such materials is only incorporated by reference to the extent that no conflict exists between such material and the statements and drawings set forth herein. In the event of such conflict, the text of the present document governs, and terms in this document should not be given a narrower reading in virtue of the way in which those terms are used in other materials incorporated by reference.
  • The present techniques will be better understood with reference to the following enumerated embodiments:
  • 1. obtaining, with a computing system, via a network, a first web message from a client computing device; retrieving, with the computing system, values of a profile from a database, the retrieving being based on the first web message; obtaining, with the computing system, a first value of a first account and a second value of a second account, the obtaining being based on the values of the profile, wherein the first account is of a first account type, and wherein the second account is of a second account type that is different from the first type of account; determining, with the computing system, a boundary based on the first value; providing, with the computing system, a user interface (UI) to the client computing device via a response to the first web message, the UI comprising a UI element that is movable from a first configuration to a second configuration, wherein: positioning the UI element in the first configuration causes a first limit associated with the first configuration to be displayed in the UI, positioning the UI element in the second configuration causes a second limit associated with the second configuration to be displayed in the UI, and the second limit is determined based on the boundary; obtaining, with the computing system, a second web message comprising a third value determined from an updated configuration of the UI element, wherein the second message is provided by the client computing device; and adjusting, with the computing system, the second value based on the third value.
    2. The medium of embodiment 1, wherein: providing the UI comprises providing a plurality of values between the first limit and the second limit; the UI element is manipulatable into one of a first plurality of configurations, wherein the updated configuration is one of the first plurality of configurations and corresponds to a fourth value of the plurality of values; setting the UI element to a respective configuration of the first plurality of configurations causes the UI to display a respective value of the plurality of values; the UI element is manipulatable into one of a second plurality of configurations, wherein the updated configuration is not one of the second plurality of configurations, and wherein the second plurality of configurations has a greater number of configurations than the first plurality of configurations; the UI element is configurable to be positioned at an intermediate configuration, wherein the intermediate configuration sets an interface-selected value to a value that is not equal to any value of the plurality of values; providing the UI comprises providing computer instructions that causes the client computing device to: select the fourth value of the plurality of values in response to a determination that the interface-selected value of the UI is not equal to any value of the plurality of values, wherein the fourth value is closest to the interface-selected value; update the interface-selected value based on the fourth value; and reconfigure the UI element to the updated configuration.
    3. The medium of any of embodiments 1 to 2, further comprising: determining that a value associated with the second account is to be stored in persistent storage; encrypting the value as an encrypted value; transmitting the encrypted value to the persistent storage for storage in a database of encrypted values; and storing the encrypted value in the database of encrypted values.
    4. The medium of embodiment 3, wherein encrypting the value comprising: obtaining a decryption key; wherein obtaining the second value comprises performing a block cipher decryption using the decryption key, wherein performing the block cipher decryption comprises: retrieving an encrypted block, the encrypted block comprising a first block section and a second block section; determining a first output based on the decryption key and the first block section; determining an intermediate block based on the first output, wherein the intermediate block comprises the first block section and a third block section; determining a second output based on the decryption key and the third block section; and determining an identifier of the second account based on the second output.
    5. The medium of any of embodiments 1 to 4, further comprising: receiving a first update request to update a second variable of the second account, wherein the first update request comprises a first update value and is associated with a first timestamp; receiving a second update request for the second value, wherein the second update request comprises a second update value and is associated with a second timestamp; and determining whether the first timestamp and the second timestamp satisfy a time interval; in response to a determination that the first timestamp and the second timestamp satisfy the time interval, determine combined value by adding the first update value with the second update value; and updating the second variable based on the combined value.
    6. The medium of any of embodiments 1 to 5, wherein the UI is a first UI, the operations further comprising: receiving a first request; transmitting a second set of values associated with the profile to an application program interface (API) via a second request in response to receiving the first request, wherein the second request causes a card identifier associated with a physical transaction card to be generated; receiving a web response to the second request, wherein the web response comprises an encrypted version of the card identifier; and in response to receiving the web response, storing the encrypted version of the card identifier in persistent storage in association with the second account.
    7. The medium of any of embodiments 1 to 6, wherein: the first account type indicates a loan account, wherein the first value indicates a loan principle amount; the second account type indicates a credit account, wherein the second value of the second account indicates an available credit amount; the UI element comprises a slider or wheel; the third value is a credit limit value; and adjusting the second value comprises setting the available credit amount to the credit limit value.
    8. The medium of any of embodiments 1 to 7, further comprising: receiving instructions to deactivate the second account; and in response to a receiving the instructions to deactivate the second account, transferring an amount from a first variable of the first account to a variable of the second account.
    9. The medium of any of embodiments 1 to 8, further comprising: receiving a third web message comprising instructions to deactivate the second account; and transferring a stored sum associated with the first account to the second account in response to receiving the third web message.
    10. The medium of any of embodiments 1 to 9, further comprising: receiving a web message indicating a value change associated with the first value; determining whether the first value has been updated; and sending a third web message to an application program interface (API) in response to a determination that the first value has been updated, wherein the third web message comprises the first value.
    11. The medium of claim 10, wherein determining the boundary based on the first value further comprises determining the boundary based on a stored sum associated with the first value, wherein the stored sum is less than the first value.
    12. The medium of any of embodiments 1 to 10, further comprising: receiving instructions to deactivate the first account; determining whether a stored variable of the second account satisfies an outstanding balance threshold; and transferring an amount associated with the first account to the second account in response to the stored variable satisfying the outstanding balance threshold.
    13. The medium of any of embodiments 1 to 11, the operations further comprising setting an initial configuration of the UI element to the second configuration.
    14. The medium of any of embodiments 1 to 12, wherein the first configuration is mapped to the second value, and wherein the second configuration is mapped to a sum of the second value and a range of the boundary.
    15. The medium of any of embodiments 1 to 13, further comprising: determining whether a threshold number of updates were made to a stored variable associated with the first account; and in response to a determination that the threshold number of updates were received, updating a parameter of the profile to indicate that the second account is available for creation.
    16. The medium of embodiment 15, wherein updating the parameter of the profile comprises updating the parameter of the profile without accessing a database of a server of a credit rating agency.
    17. The medium of any of embodiments 1 to 16, wherein determining the boundary comprises determining three or more values, wherein a minimum value of the three or more values is associated with the first limit and a maximum value of the three or more values is associated with the second limit.
    18. The medium of any of embodiments 1 to 17, the operations further comprising steps for encrypting a value associated with the profile.
    19. The medium of any of embodiments 1 to 18, the operations further comprising steps for determining the UI.
    20. The medium of any of embodiments 1 to 19, the operations further comprising, wherein the UI displays the second value.
    21. A method to perform the operations of any of the embodiments 1 to 20.
    22. A system, comprising: one or more processors; and memory storing instructions that when executed by the processors cause the processors to effectuate operations comprising: the operations of any one of embodiments 1 to 20.

Claims (29)

1. A tangible, non-transitory, machine-readable medium storing program instructions that, when executed by a computing system, effectuate operations comprising:
obtaining, with a computing system, via a network, a first web message from a client computing device;
retrieving values of a profile from a database of profiles, the retrieving being based on the first web message;
obtaining a first value of a first account and a second value of a second account, the obtaining being based on the values of the profile, wherein the first account is of a first account type, and wherein the second account is of a second account type that is different from the first account type;
determining a numeric boundary based on the first value, the numeric boundary defining a limit to a range of values that the second value is permitted to assume;
providing a user interface (UI) to the client computing device via a response to the first web message, the UI comprising a UI element that is movable from a first configuration to a second configuration, wherein:
positioning the UI element in the first configuration causes a first limit associated with the first configuration to be displayed in the UI,
positioning the UI element in the second configuration causes a second limit associated with the second configuration to be displayed in the UI, and
the second limit is determined based on the numeric boundary;
obtaining a second web message comprising a third value determined from an updated configuration of the UI element, wherein the second web message is provided by the client computing device;
adjusting the second value based on the third value, wherein the adjusting is associated with a first timestamp;
encrypting the second value as an encrypted value;
transmitting the encrypted value from a first memory device to a persistent storage for storage in a database of encrypted values, wherein the database of encrypted values is isolated from the first memory device;
storing the encrypted value in the database of encrypted values;
receiving an update request to update the encrypted value stored in the database of encrypted values, wherein the update request comprises an update value and is associated with a second timestamp;
determining whether the first timestamp and the second timestamp satisfy a time interval;
in response to a determination that the first timestamp and the second timestamp satisfy the time interval, determining a combined value based on the third value and the update value; and
updating the encrypted value stored in the persistent storage based on the combined value.
2. The medium of claim 1, wherein:
providing the UI comprises providing, via a third web message encoded in a hypertext transport protocol, a first plurality of values between the first limit and the second limit and a second plurality of values between the first limit and the second limit, wherein a count of values of the first plurality of values is less than a count of values of the second plurality of values;
the UI element is a first UI element;
the first UI element is manipulatable into one of a first plurality of configurations, wherein the updated configuration is one of the first plurality of configurations and corresponds to a fourth value of the first plurality of values;
setting the first UI element to a respective configuration of the first plurality of configurations causes the UI to display a respective value of the first plurality of values;
the first UI element is manipulatable into one of a second plurality of configurations, wherein the updated configuration is not one of the second plurality of configurations, and wherein each configuration of the second plurality of configurations corresponds with a value of the second plurality of values;
the first UI element is configurable to be positioned at an intermediate configuration, wherein the intermediate configuration sets an interface-selected value to a value that is not equal to any value of the first plurality of values after a click or tap event of the UI;
providing the UI comprises providing program instructions that causes the client computing device to:
present the interface-selected value in a second UI element of the UI on the client computing device;
determine whether the interface-selected value of the UI is equal to any value of the first plurality of values;
in response to a determination that the interface-selected value of the UI is not equal to any value of the first plurality of values, search for the fourth value based on which value is closest to the interface-selected value, wherein the closest value is the fourth value;
update the interface-selected value based on the fourth value;
update the UI to the updated configuration based on the interface-selected value; and
reconfigure the first UI element to the updated configuration.
3. (canceled)
4. The medium of claim 1, wherein encrypting the second value comprising:
obtaining an encryption key;
performing a block cipher encryption using the encryption key, wherein performing the block cipher encryption comprises:
retrieving a block, the block comprising the second value;
dividing the block into a first block section and a second block section;
determining a first encrypted block section corresponding to the first block section based on the encryption key, the second block section, and the first block section;
determining a second encrypted block section corresponding to the second block section based on the encryption key, the second block section, and the first encrypted block section; and
determining the encrypted value based on the first encrypted block section and the second encrypted block section.
5. The medium of claim 1, wherein the update request is a first update request, and wherein the update value is a first update value, the operations further comprising:
receiving a second update request to update a second variable of the second account via a fourth web message encoded in a hypertext transport protocol, wherein the second update request comprises a second update value and is associated with a third timestamp;
receiving a third update request to update the second variable via a fifth web message encoded in the hypertext transport protocol, wherein the third update request comprises a third update value and is associated with a fourth timestamp;
determining whether the third timestamp and the fourth timestamp satisfy the time interval;
in response to a determination that the third timestamp and the fourth timestamp satisfy the time interval, determine a second combined value by adding the first update value with the second update value; and
updating the second variable based on the second combined value.
6. The medium of claim 1, wherein the UI is a first UI, the operations further comprising:
receiving a first request;
transmitting a second set of values associated with the profile to an application program interface (API) via a second request in response to receiving the first request, wherein the second request causes a card identifier associated with a physical transaction card to be generated;
receiving a web response to the second request, wherein the web response comprises an encrypted version of the card identifier; and
in response to receiving the web response, storing the encrypted version of the card identifier in persistent storage in association with the second account.
7. The medium of claim 1, wherein:
the first account type indicates a loan account, wherein the first value indicates a loan principle amount;
the second account type indicates a credit account, wherein the second value of the second account indicates an available credit amount;
the UI element comprises a slidable element or rotatable element;
the third value is a credit limit value; and
adjusting the second value comprises setting the available credit amount to the credit limit value.
8. The medium of claim 1, further comprising:
receiving program instructions to deactivate the second account; and
in response to a receiving the program instructions to deactivate the second account, transferring an amount from a first variable of the first account to a variable of the second account.
9. The medium of claim 1, further comprising:
receiving a third web message comprising program instructions to deactivate the second account; and
transferring a stored sum associated with the first account to the second account in response to receiving the third web message.
10. The medium of claim 1, further comprising:
receiving a web message indicating a value change associated with the first value;
determining whether the first value has been updated; and
sending a third web message to an application program interface (API) in response to a determination that the first value has been updated, wherein the third web message comprises the first value.
11. The medium of claim 10, wherein determining the numeric boundary based on the first value further comprises determining the numeric boundary based on a stored sum associated with the first value, wherein the stored sum is less than the first value.
12. The medium of claim 1, further comprising:
receiving program instructions to deactivate the first account;
determining whether a stored variable of the second account satisfies an outstanding balance threshold; and
transferring an amount associated with the first account to the second account in response to the stored variable satisfying the outstanding balance threshold.
13. The medium of claim 1, the operations further comprising setting an initial configuration of the UI element to the second configuration.
14. The medium of claim 1, wherein the first configuration is mapped to the second value, and wherein the second configuration is mapped to a sum of the second value and a range of the numeric boundary.
15. The medium of claim 1, further comprising:
determining whether a threshold number of updates were made to a stored variable associated with the first account; and
in response to a determination that the threshold number of updates were received, updating a parameter of the profile to indicate that the second account is available for creation.
16. The medium of claim 15, wherein updating the parameter of the profile comprises updating the parameter of the profile without accessing a database of a server of a credit rating agency.
17. The medium of claim 1, wherein determining the numeric boundary comprises determining three or more values, wherein a minimum value of the three or more values is associated with the first limit and a maximum value of the three or more values is associated with the second limit.
18. The medium of claim 1, the operations further comprising steps for encrypting a value associated with the profile.
19. The medium of claim 1, the operations further comprising steps for determining the UI.
20. A method comprising:
obtaining, with a computing system, via a network, a first web message from a client computing device;
retrieving values of a profile from a database, the retrieving being based on the first web message;
obtaining a first value of a first account and a second value of a second account, the obtaining being based on the values of the profile, wherein the first account is of a first account type, and wherein the second account is of a second account type that is different from the first account type;
determining a numeric boundary based on the first value, the numeric boundary defining a limit to a range of values that the second value is permitted to assume;
providing a user interface (UI) to the client computing device via a response to the first web message, the UI comprising a UI element that is movable from a first configuration to a second configuration, wherein:
positioning the UI element in the first configuration causes a first limit associated with the first configuration to be displayed in the UI,
positioning the UI element in the second configuration causes a second limit associated with the second configuration to be displayed in the UI, and
the second limit is determined based on the numeric boundary;
obtaining a second web message comprising a third value determined from an updated configuration of the UI element, wherein the second web message is provided by the client computing device;
adjusting the second value based on the third value;
encrypting the second value as an encrypted value;
transmitting the encrypted value from a first memory device to a persistent storage for storage in a database of encrypted values, wherein the database of encrypted values is isolated from the first memory device;
storing the encrypted value in the database of encrypted values.
21. The method of claim 20, wherein:
the adjusting of the second value based on the third value is associated with a first timestamp,
providing the UI comprises providing, via a third web message encoded in a hypertext transport protocol, a first plurality of values between the first limit and the second limit and a second plurality of values between the first limit and the second limit, wherein a count of values of the first plurality of values is less than a count of values of the second plurality of values,
the UI element is a first UI element,
the first UI element is manipulatable into one of a first plurality of configurations, wherein the updated configuration is one of the first plurality of configurations and corresponds to a fourth value of the first plurality of values;
setting the first UI element to a respective configuration of the first plurality of configurations causes the UI to display a respective value of the first plurality of values;
the first UI element is manipulatable into one of a second plurality of configurations, wherein the updated configuration is not one of the second plurality of configurations, and wherein each configuration of the second plurality of configurations corresponds with a value of the second plurality of values;
the first UI element is configurable to be positioned at an intermediate configuration, wherein the intermediate configuration sets an interface-selected value to a value that is not equal to any value of the first plurality of values after a click or tap event of the UI.
22. The medium of claim 2, the operations further comprising:
obtaining a set of scores from a server via an application program interface; and
updating the profile based on the set of scores, wherein providing the first plurality of values comprises determining the first plurality of values based the profile.
23. The medium of claim 2, wherein providing the UI to the client computing device comprises:
providing a first set of packets comprising program instructions that cause the client computing device to:
parse the program instructions into an abstract syntax tree;
transform the abstract syntax tree into a bytecode representation;
transform the bytecode representation into a native machine code of the client computing device, wherein execution of the native machine code causes the client computing device to present the UI; and
the operations further comprise:
receiving an update to the profile via an application program interface;
updating the first plurality of values based on the profile; and
providing a second set of packets comprising the updated first plurality of values to the client computing device.
24. A tangible, non-transitory, machine-readable medium storing first program instructions that, when executed by one or more processors, effectuate operations comprising:
obtaining, at a server system, from a network, a first web message from a client computing device;
selecting a record from among a plurality of records based on an identifier in the first web message, each of the records among the plurality of records having a respective first value of a first field and a respective second value of a second field, each of the records among the plurality of records corresponding to a different physical entity;
obtaining from the selected record, the first value of the selected record and the second value of the selected record;
determining a boundary of the selected record based on the first value of the selected record, the boundary of the selected record defining a limit to a range of values that the second field of the selected record is permitted to assume in the selected record, the boundary of the selected record being less than the first value of the selected record;
generating second program instructions interpretable by a virtual machine executing on the client computing device to form a user interface (UI) displayed by the client computing device, wherein:
the UI includes a slidable element in a slider, the slidable element being responsive to user input via a mouse drag or a touch to slide along the slider in the UI,
the UI is configured to send, to the server system, a second web message indicating a third value of the second field of the selected record based on a change in position of the slidable element in the slider from the user input, the third value being different from the second value of the selected record, and
a maximum or minimum position of the slidable element in the slider corresponds to the boundary of the selected record;
providing via the network, the second program instructions to the client computing device to be executed by the virtual machine;
obtaining via the network, from the client computing device, the second web message indicating the third value of the second field of the selected record;
adjusting the second field of the selected record to have the third value in memory of the server system.
25. The medium of claim 24, wherein:
the first field corresponds to a first account;
the second field corresponds to a second account.
26. The medium of claim 24, wherein:
the first field of the selected record corresponds to a first portion of a thermal budget of a semiconductor device consumed in first processing step in a semiconductor manufacturing process;
the second field of the selected record corresponds to a second portion of the thermal budget of the semiconductor device consumed in second processing step in the semiconductor manufacturing process; and
the third value of the second field of the selected record is used to determine target setpoint of the second processing step.
27. The medium of claim 24, wherein:
the first value of the selected record is a metric reported by a sensor at a first stage of a manufacturing process; and
a target setpoint for a second stage of the manufacturing process is adjusted based on the third value.
28. The medium of claim 24, wherein:
determining the boundary comprises steps for determining a set of confirmable values; and
the slidable element is configured to snap in the UI to positions corresponding to members of the set of confirmable values.
29. The medium of claim 24, wherein:
adjusting the second field of the selected record to have the third value comprises steps for lattice-based encryption.
US17/015,761 2020-09-09 2020-09-09 Interface and system for updating isolated repositories Abandoned US20220075877A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US17/015,761 US20220075877A1 (en) 2020-09-09 2020-09-09 Interface and system for updating isolated repositories
US17/464,585 US11470037B2 (en) 2020-09-09 2021-09-01 Navigation pathway generation
US17/471,039 US11630822B2 (en) 2020-09-09 2021-09-09 Multiple devices for updating repositories
US17/471,019 US11475010B2 (en) 2020-09-09 2021-09-09 Asynchronous database caching
PCT/US2021/049709 WO2022056156A1 (en) 2020-09-09 2021-09-09 Asynchronous database caching
PCT/US2021/049716 WO2022056163A1 (en) 2020-09-09 2021-09-09 Navigation path generation
US17/471,029 US11641665B2 (en) 2020-09-09 2021-09-09 Resource utilization retrieval and modification

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US17/015,761 US20220075877A1 (en) 2020-09-09 2020-09-09 Interface and system for updating isolated repositories
US202063086475P 2020-10-01 2020-10-01
US17/464,585 US11470037B2 (en) 2020-09-09 2021-09-01 Navigation pathway generation
US17/471,039 US11630822B2 (en) 2020-09-09 2021-09-09 Multiple devices for updating repositories

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US63086475 Continuation-In-Part 2020-10-01

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/464,585 Continuation-In-Part US11470037B2 (en) 2020-09-09 2021-09-01 Navigation pathway generation

Publications (1)

Publication Number Publication Date
US20220075877A1 true US20220075877A1 (en) 2022-03-10

Family

ID=80469811

Family Applications (2)

Application Number Title Priority Date Filing Date
US17/015,761 Abandoned US20220075877A1 (en) 2020-09-09 2020-09-09 Interface and system for updating isolated repositories
US17/471,039 Active US11630822B2 (en) 2020-09-09 2021-09-09 Multiple devices for updating repositories

Family Applications After (1)

Application Number Title Priority Date Filing Date
US17/471,039 Active US11630822B2 (en) 2020-09-09 2021-09-09 Multiple devices for updating repositories

Country Status (1)

Country Link
US (2) US20220075877A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220141039A1 (en) * 2020-11-02 2022-05-05 International Business Machines Corporation Certificate based security using post quantum cryptography
US20220229930A1 (en) * 2021-01-21 2022-07-21 Dell Products L.P. Secure data structure for database system
CN116049512A (en) * 2023-03-30 2023-05-02 紫金诚征信有限公司 Credit body information processing method and device and electronic equipment
US20230140712A1 (en) * 2021-11-04 2023-05-04 Capital One Services, Llc Systems and methods for generating and using virtual card numbers
CN116739090A (en) * 2023-05-12 2023-09-12 北京大学 Deep neural network reasoning measurement method and device based on Web browser
US11757659B2 (en) 2020-12-01 2023-09-12 International Business Machines Corporation Post-quantum certificate binding
CN116738081A (en) * 2023-08-08 2023-09-12 贵州优特云科技有限公司 Front-end component binding method, device and storage medium

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10606459B2 (en) * 2018-02-26 2020-03-31 Capital One Services, Llc Methods and systems for dynamic monitoring through graphical user interfaces
CN112153402A (en) * 2020-09-22 2020-12-29 北京达佳互联信息技术有限公司 Electronic resource allocation method, device, electronic equipment and storage medium
US11611559B2 (en) * 2020-12-16 2023-03-21 Microsoft Technology Licensing, Llc Identification of permutations of permission groups having lowest scores
US20220309497A1 (en) * 2021-03-23 2022-09-29 Vmware, Inc. Credit-based access control for data center resources
US11853100B2 (en) * 2021-04-12 2023-12-26 EMC IP Holding Company LLC Automated delivery of cloud native application updates using one or more user-connection gateways
US11637690B1 (en) * 2021-10-08 2023-04-25 Baffle, Inc. Format preserving encryption (FPE) system and method for long strings
US20230139783A1 (en) * 2021-11-03 2023-05-04 Capital One Services, Llc Schema-adaptable data enrichment and retrieval
US20230214822A1 (en) * 2022-01-05 2023-07-06 Mastercard International Incorporated Computer-implemented methods and systems for authentic user-merchant association and services
US11921692B1 (en) * 2022-09-16 2024-03-05 Capital One Services, Llc Computer-based systems configured for automatically updating a database based on an initiation of a dynamic machine-learning verification and methods of use thereof

Family Cites Families (424)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5655023A (en) 1994-05-13 1997-08-05 Pitney Bowes Inc. Advanced postage payment system employing pre-computed digital tokens and with enhanced security
US5926816A (en) 1996-10-09 1999-07-20 Oracle Corporation Database Synchronizer
US6460058B2 (en) 1996-12-06 2002-10-01 Microsoft Corporation Object-oriented framework for hyperlink navigation
US5798508A (en) 1996-12-09 1998-08-25 Walker Asset Management, L.P. Postpaid traveler's checks
US6101510A (en) 1997-01-29 2000-08-08 Microsoft Corporation Web browser control for incorporating web browser functionality into application programs
US9098297B2 (en) * 1997-05-08 2015-08-04 Nvidia Corporation Hardware accelerator for an object-oriented programming language
US6173316B1 (en) 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US6353839B1 (en) 1998-04-30 2002-03-05 Openwave Systems Inc. Method for inline variables management in a hypermedia display language
US7536349B1 (en) 1998-06-16 2009-05-19 Walker Digital, Llc Method and apparatus for processing a charge applied to a financial account
US7523191B1 (en) 2000-06-02 2009-04-21 Yahoo! Inc. System and method for monitoring user interaction with web pages
US6401104B1 (en) 1999-07-03 2002-06-04 Starfish Software, Inc. System and methods for synchronizing datasets using cooperation among multiple synchronization engines
AUPQ206399A0 (en) 1999-08-06 1999-08-26 Imr Worldwide Pty Ltd. Network user measurement system and method
US6918124B1 (en) 2000-03-03 2005-07-12 Microsoft Corporation Query trees including or nodes for event filtering
US20020010641A1 (en) 2000-05-02 2002-01-24 Stevens Jessica L. Low cost system method apparatus and way of doing business for the conveyance and electronic labeling and transference of secure multimedia and data products
US7653744B2 (en) 2000-06-12 2010-01-26 At&T Mobility Ii Llc Method and apparatus for sharing wireless content
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US7024386B1 (en) 2000-06-23 2006-04-04 Ebs Group Limited Credit handling in an anonymous trading system
US7039392B2 (en) 2000-10-10 2006-05-02 Freescale Semiconductor System and method for providing device authentication in a wireless network
US20070198432A1 (en) 2001-01-19 2007-08-23 Pitroda Satyan G Transactional services
US7340434B2 (en) 2001-02-16 2008-03-04 Capitol One Financial Corporation Method and apparatus for monitoring guaranteed loans and notifying guarantors
US20020120582A1 (en) 2001-02-26 2002-08-29 Stephen Elston Method for establishing an electronic commerce account
US7058663B2 (en) 2001-03-13 2006-06-06 Koninklijke Philips Electronics, N.V. Automatic data update
US7689506B2 (en) 2001-06-07 2010-03-30 Jpmorgan Chase Bank, N.A. System and method for rapid updating of credit information
US7752326B2 (en) 2001-08-20 2010-07-06 Masterobjects, Inc. System and method for utilizing asynchronous client server communication objects
US20030046534A1 (en) 2001-08-31 2003-03-06 Alldredge Robert L. Method and apparatus for secured electronic commerce
US6978445B2 (en) 2001-09-28 2005-12-20 Siebel Systems, Inc. Method and system for supporting user navigation in a browser environment
US7630932B2 (en) 2002-01-31 2009-12-08 Transunion Interactive, Inc. Loan rate and lending information analysis system
US7065496B2 (en) 2002-02-13 2006-06-20 Tangoe, Inc. System for managing equipment, services and service provider agreements
US8458200B2 (en) 2002-02-26 2013-06-04 International Business Machines Corporation Processing query conditions having filtered fields within a data abstraction environment
US6990503B1 (en) 2002-04-12 2006-01-24 Ncr Corporation Rescheduling transactions in a database system
US9710852B1 (en) 2002-05-30 2017-07-18 Consumerinfo.Com, Inc. Credit report timeline user interface
US9569797B1 (en) 2002-05-30 2017-02-14 Consumerinfo.Com, Inc. Systems and methods of presenting simulated credit score information
WO2004036461A2 (en) 2002-10-14 2004-04-29 Battelle Memorial Institute Information reservoir
US7774444B1 (en) 2002-10-16 2010-08-10 Symantec Operating Corporation SAN simulator
US7840587B2 (en) 2003-06-06 2010-11-23 Ita Software, Inc. Query caching for travel planning systems
US7308457B1 (en) 2004-01-23 2007-12-11 Niku Method and apparatus for providing customized filters to restrict datasets retrieved from a database
US20050166148A1 (en) 2004-01-28 2005-07-28 Garding Phillip D. Interactive user message system and method
US7979456B2 (en) 2004-04-08 2011-07-12 International Business Machines Corporation Method of managing and providing parameterized queries
US7349893B2 (en) 2004-04-29 2008-03-25 Microsoft Corporation Hierarchical user interface query automation
US8839090B2 (en) 2004-09-16 2014-09-16 International Business Machines Corporation System and method to capture and manage input values for automatic form fill
US9203788B2 (en) 2004-11-18 2015-12-01 Adobe Systems Incorporated System and method for communicating instant message information between an instant messaging node and one or more programs
US7751565B2 (en) 2005-01-25 2010-07-06 Pak Kay Yuen Secure encryption system, device and method
US20060294058A1 (en) 2005-06-28 2006-12-28 Microsoft Corporation System and method for an asynchronous queue in a database management system
US20070016587A1 (en) 2005-07-15 2007-01-18 Mind-Alliance Systems, Llc Scalable peer to peer searching apparatus and method
US20070066398A1 (en) 2005-09-22 2007-03-22 Earl Rowan Cashless gaming system and method
JP5142466B2 (en) 2005-12-08 2013-02-13 キヤノン株式会社 Data processing apparatus, system, data processing method, and computer program
US20070143435A1 (en) 2005-12-15 2007-06-21 Bellsouth Intellectual Property Corporation Presentation of Un-Viewed Messages
US8082305B2 (en) 2005-12-15 2011-12-20 At&T Intellectual Property I, L.P. Saving un-viewed instant messages
US7870264B2 (en) 2006-01-19 2011-01-11 International Business Machines Corporation Methods and apparatus for providing communications from a plurality of network devices to a user
US7461065B2 (en) 2006-01-31 2008-12-02 International Business Machines Corporation Method and system for utilizing shared numeric locks
US20070249288A1 (en) 2006-04-14 2007-10-25 Kamran Moallemi Distance-based security
US8886125B2 (en) 2006-04-14 2014-11-11 Qualcomm Incorporated Distance-based association
US8552903B2 (en) 2006-04-18 2013-10-08 Qualcomm Incorporated Verified distance ranging
AU2009200408B2 (en) 2006-09-12 2012-05-10 Cpc Patent Technologies Pty Ltd Password generator
US10296629B2 (en) 2006-10-20 2019-05-21 Oracle International Corporation Server supporting a consistent client-side cache
US9697253B2 (en) 2006-10-20 2017-07-04 Oracle International Corporation Consistent client-side cache
US20080172356A1 (en) 2007-01-17 2008-07-17 Microsoft Corporation Progressive parametric query optimization
US7783757B2 (en) 2007-03-12 2010-08-24 Citrix Systems, Inc. Systems and methods of revalidating cached objects in parallel with request for object
US20080256056A1 (en) 2007-04-10 2008-10-16 Yahoo! Inc. System for building a data structure representing a network of users and advertisers
US8027983B1 (en) 2007-04-10 2011-09-27 Google Inc. Enhanced query performance using fixed length hashing of multidimensional data
US20080294689A1 (en) 2007-05-23 2008-11-27 Transunion Interactive, Inc., A Delaware Corporation Credit Report Locking/Unlocking Via Telephone Interface
US20080319957A1 (en) 2007-06-19 2008-12-25 Microsoft Corporation Extensible command trees for entity data model platform
US20090070300A1 (en) 2007-09-07 2009-03-12 International Business Machines Corporation Method for Processing Data Queries
US9690820B1 (en) 2007-09-27 2017-06-27 Experian Information Solutions, Inc. Database system for triggering event notifications based on updates to database records
US7844760B2 (en) 2007-09-29 2010-11-30 Intel Corporation Schedule and data caching for wireless transmission
US7996388B2 (en) 2007-10-17 2011-08-09 Oracle International Corporation Adding new continuous queries to a data stream management system operating on existing queries
US10726440B1 (en) 2007-11-02 2020-07-28 Fair Isaac Corporation System and method for executing consumer transactions based on credential information relating to the consumer
US8225395B2 (en) 2007-11-13 2012-07-17 Equifax, Inc. Systems and methods for detecting child identity theft
US8954887B1 (en) * 2008-02-08 2015-02-10 Google Inc. Long press interface interactions
US7523094B1 (en) 2008-03-16 2009-04-21 International Business Machines Corporation Asynchronous task for energy cost aware database query optimization
US20090265352A1 (en) 2008-04-18 2009-10-22 Gravic, Inc. Methods for ensuring fair access to information
CN101610467A (en) 2008-06-20 2009-12-23 深圳富泰宏精密工业有限公司 The system and method for repayment missed call and unread short messages
US8819046B2 (en) 2008-06-24 2014-08-26 Microsoft Corporation Data query translating into mixed language data queries
US20090319501A1 (en) 2008-06-24 2009-12-24 Microsoft Corporation Translation of streaming queries into sql queries
US8375044B2 (en) 2008-06-24 2013-02-12 Microsoft Corporation Query processing pipelines with single-item and multiple-item query operators
US8713048B2 (en) 2008-06-24 2014-04-29 Microsoft Corporation Query processing with specialized query operators
US20100029250A1 (en) 2008-07-29 2010-02-04 Embarq Holdings Company, Llc System and method for routing messages to communication devices associated with a user
US9256904B1 (en) 2008-08-14 2016-02-09 Experian Information Solutions, Inc. Multi-bureau credit file freeze and unfreeze
US8595101B1 (en) 2008-09-08 2013-11-26 Exerian Information Solutions, Inc. Systems and methods for managing consumer accounts using data migration
US8412593B1 (en) 2008-10-07 2013-04-02 LowerMyBills.com, Inc. Credit card matching
US10552819B1 (en) * 2008-10-07 2020-02-04 Amazon Technologies, Inc. Media enhanced mobile payments
US8255410B2 (en) 2008-12-09 2012-08-28 Microsoft Corporation Translating queries to representational state transfer (REST)
US9128895B2 (en) 2009-02-19 2015-09-08 Oracle International Corporation Intelligent flood control management
US20100306249A1 (en) 2009-05-27 2010-12-02 James Hill Social network systems and methods
US8122038B2 (en) 2009-06-15 2012-02-21 Microsoft Corporation Period to date functions for time intelligence functionality
US20120095911A1 (en) 2009-06-16 2012-04-19 Smart Hub Pte. Ltd. Transaction system and method
US8112066B2 (en) * 2009-06-22 2012-02-07 Mourad Ben Ayed System for NFC authentication based on BLUETOOTH proximity
TWI390443B (en) 2009-08-04 2013-03-21 Univ Nat Taiwan Science Tech Streaming query system and method for extensible markup language
US8533177B2 (en) 2009-08-27 2013-09-10 Mastercard International Incorporated Multi-database query system and method
US8433996B2 (en) 2009-09-15 2013-04-30 Oracle International Corporation Hierarchical model for web browser navigation
US8407723B2 (en) 2009-10-08 2013-03-26 Tibco Software, Inc. JAVA virtual machine having integrated transaction management system and facility to query managed objects
US10581834B2 (en) * 2009-11-02 2020-03-03 Early Warning Services, Llc Enhancing transaction authentication with privacy and security enhanced internet geolocation and proximity
US20110131131A1 (en) 2009-12-01 2011-06-02 Bank Of America Corporation Risk pattern determination and associated risk pattern alerts
JP2011118545A (en) 2009-12-01 2011-06-16 Toshiba Tec Corp Query generating device, program therefor, and database searching system
US8495250B2 (en) 2009-12-16 2013-07-23 International Business Machines Corporation Asynchronous file operations in a scalable multi-node file system cache for a remote cluster file system
US20110219357A1 (en) 2010-03-02 2011-09-08 Microsoft Corporation Compressing source code written in a scripting language
US9117003B2 (en) 2010-03-12 2015-08-25 Salesforce.Com, Inc. System, method and computer program product for navigating content on a single page
US9652802B1 (en) 2010-03-24 2017-05-16 Consumerinfo.Com, Inc. Indirect monitoring and reporting of a user's credit data
US8250064B1 (en) 2010-04-06 2012-08-21 Teradata Us, Inc. Caching execution plans for queries that use timestamps
US20110296351A1 (en) 2010-05-26 2011-12-01 T-Mobile Usa, Inc. User Interface with Z-axis Interaction and Multiple Stacks
CA2706741C (en) 2010-06-29 2011-12-13 Ibm Canada Limited - Ibm Canada Limitee Managing parameters in filter expressions
US9342832B2 (en) 2010-08-12 2016-05-17 Visa International Service Association Securing external systems with account token substitution
US9293117B2 (en) * 2010-10-01 2016-03-22 Lucid Software, Inc Manipulating graphical objects
US10917431B2 (en) * 2010-11-29 2021-02-09 Biocatch Ltd. System, method, and device of authenticating a user based on selfie image or selfie video
US10839431B1 (en) 2010-12-06 2020-11-17 Metarail, Inc. Systems, methods and computer program products for cross-marketing related products and services based on machine learning algorithms involving field identifier level adjacencies
US9535560B1 (en) * 2010-12-10 2017-01-03 Wyse Technology L.L.C. Methods and systems for facilitating a remote desktop session for a web browser and a remote desktop server
US10740353B2 (en) 2010-12-23 2020-08-11 Mongodb, Inc. Systems and methods for managing distributed database deployments
US11074653B2 (en) 2011-01-31 2021-07-27 The Bank Of New York Mellon System and method for optimizing data processing in cloud-based, machine learning environments through the use of self organizing map
US9350111B1 (en) 2011-03-07 2016-05-24 Adtran, Inc. System and method for interfacing with network access devices
WO2012167165A2 (en) * 2011-06-01 2012-12-06 Visa International Service Association Account linking system and method
US9600350B2 (en) * 2011-06-16 2017-03-21 Vmware, Inc. Delivery of a user interface using hypertext transfer protocol
US8881250B2 (en) 2011-06-17 2014-11-04 Ebay Inc. Passporting credentials between a mobile app and a web browser
US8891772B2 (en) 2011-06-17 2014-11-18 Microsoft Corporation Cloud key escrow system
US8627508B2 (en) 2011-06-17 2014-01-07 Microsoft Corporation Cloud key directory for federating data exchanges
PL395376A1 (en) * 2011-06-22 2013-01-07 Google Inc. Rendering approximate webpage screenshot client-side
US8914390B2 (en) * 2011-07-12 2014-12-16 Facebook, Inc. Repetitive query recognition and processing
US8712961B2 (en) 2011-09-23 2014-04-29 International Business Machines Corporation Database caching utilizing asynchronous log-based replication
US9002322B2 (en) * 2011-09-29 2015-04-07 Apple Inc. Authentication with secondary approver
US8738516B1 (en) 2011-10-13 2014-05-27 Consumerinfo.Com, Inc. Debt services candidate locator
US9823917B2 (en) 2011-10-20 2017-11-21 Facebook, Inc. Update application user interfaces on client devices
US20130117288A1 (en) 2011-11-08 2013-05-09 Microsoft Corporation Dynamically typed query expressions
WO2013101468A1 (en) 2011-12-30 2013-07-04 Trans Union, Llc System and method for automated dispute resolution of credit data
US20130198598A1 (en) 2012-01-18 2013-08-01 OneID Inc. Secure population of form data
US8751378B2 (en) 2012-02-17 2014-06-10 Fair Isaac Corporation Strategic loan default scoring
US20130246280A1 (en) 2012-03-12 2013-09-19 OneID, Inc. Secure digital invoice processing
US8688713B1 (en) 2012-03-22 2014-04-01 Google Inc. Resource identification from organic and structured content
US20130332910A1 (en) 2012-05-22 2013-12-12 Nec Laboratories America, Inc. Dynamic livelock analysis of multi-threaded programs
US9524501B2 (en) 2012-06-06 2016-12-20 Visa International Service Association Method and system for correlating diverse transaction data
US9378112B2 (en) 2012-06-25 2016-06-28 International Business Machines Corporation Predictive alert threshold determination tool
US9953093B1 (en) 2012-09-04 2018-04-24 Google Llc Mapping system for a browser history stack and a browser page state
US9195477B1 (en) 2012-10-09 2015-11-24 Sencha, Inc. Device profiles, deep linking, and browser history support for web applications
US20140127994A1 (en) 2012-11-07 2014-05-08 Microsoft Corporation Policy-based resource access via nfc
US9285958B1 (en) 2012-11-19 2016-03-15 Amazon Technologies, Inc. Browser interface for accessing predictive content
US9038894B2 (en) 2012-11-20 2015-05-26 Cellco Partnership Payment or other transaction through mobile device using NFC to access a contactless transaction card
US9111012B2 (en) 2012-11-26 2015-08-18 Accenture Global Services Limited Data consistency management
US9916621B1 (en) 2012-11-30 2018-03-13 Consumerinfo.Com, Inc. Presentation of credit score factors
US9355231B2 (en) 2012-12-05 2016-05-31 Telesign Corporation Frictionless multi-factor authentication system and method
US9747288B1 (en) 2012-12-10 2017-08-29 Amazon Technologies, Inc. Scalable transaction-based data repository service
KR102087984B1 (en) * 2012-12-21 2020-03-11 삼성전자주식회사 Transaction system and method by using surrounding device
US9473507B2 (en) 2013-01-03 2016-10-18 International Business Machines Corporation Social and proximity based access control for mobile applications
US9501457B2 (en) * 2013-02-01 2016-11-22 AirSpring Software, LLC Creating a communication editable in a browser independent of platform and operating system
US20140244503A1 (en) 2013-02-27 2014-08-28 Mastercard International Incorporated System and method for automatic thresholding for payment card spend control
US10866952B2 (en) 2013-03-04 2020-12-15 Fisher-Rosemount Systems, Inc. Source-independent queries in distributed industrial system
US9195712B2 (en) 2013-03-12 2015-11-24 Microsoft Technology Licensing, Llc Method of converting query plans to native code
US9763097B2 (en) 2013-03-13 2017-09-12 Lookout, Inc. Method for performing device security corrective actions based on loss of proximity to another device
US9575617B1 (en) 2013-03-13 2017-02-21 EMC IP Holding Company LLC Navigation payload injection
US10417674B2 (en) 2013-03-14 2019-09-17 Bill.Com, Llc System and method for sharing transaction information by object tracking of inter-entity transactions and news streams
US9870589B1 (en) * 2013-03-14 2018-01-16 Consumerinfo.Com, Inc. Credit utilization tracking and reporting
US10499192B2 (en) 2013-03-14 2019-12-03 T-Mobile Usa, Inc. Proximity-based device selection for communication delivery
US10177967B2 (en) 2013-03-15 2019-01-08 Jesse Lakes Redirection service resource locator mechanism
US10019297B2 (en) 2013-04-03 2018-07-10 Salesforce.Com, Inc. Systems and methods for implementing bulk handling in asynchronous processing
US20140317615A1 (en) * 2013-04-19 2014-10-23 Tencent Technologies (Shenzhen) Company Limited Systems and Methods for Installing Applications
JP6142685B2 (en) 2013-06-12 2017-06-07 富士通株式会社 Storage system, operation management method, and operation management program
US9311823B2 (en) 2013-06-20 2016-04-12 International Business Machines Corporation Caching natural language questions and results in a question and answer system
US9558047B1 (en) 2013-09-19 2017-01-31 EMC IP Holding Company LLC Navigation payload detection
US20150088760A1 (en) * 2013-09-20 2015-03-26 Nuance Communications, Inc. Automatic injection of security confirmation
US9350717B1 (en) * 2013-09-23 2016-05-24 Amazon Technologies, Inc. Location service for user authentication
US10855760B2 (en) 2013-11-07 2020-12-01 Cole Asher Ratias Systems and methods for synchronizing content and information on multiple computing devices
US11037239B2 (en) 2013-11-07 2021-06-15 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
WO2015071707A1 (en) * 2013-11-15 2015-05-21 Here Global B.V. Security operations for wireless devices
US20150169392A1 (en) 2013-11-20 2015-06-18 Superna Incorporated System and method for providing an application programming interface intermediary for hypertext transfer protocol web services
US20150154644A1 (en) 2013-12-02 2015-06-04 Yahoo! Inc. Deep linking to mobile applications
US9806942B2 (en) 2013-12-02 2017-10-31 Yahoo Holdings, Inc. Deep linking to mobile applications
US9645707B1 (en) 2013-12-12 2017-05-09 EMC IP Holding Company LLC Alternative view-based navigation
US9886175B1 (en) 2013-12-18 2018-02-06 EMC IP Holding Company LLC Adaptive and special user interface modes
US20150186892A1 (en) * 2013-12-30 2015-07-02 Tencent Technology (Shenzhen) Company Limited Methods and systems for verifying a transaction
WO2015112131A1 (en) * 2014-01-22 2015-07-30 AirSpring Software, LLC Multistage customizing of web-based application in a browser independent of platform and operating system
US9594477B1 (en) 2014-02-06 2017-03-14 Symantec Corporation Using deep links to restore interactive state of a web page
US9652508B1 (en) 2014-03-05 2017-05-16 Google Inc. Device specific adjustment based on resource utilities
CA2884709A1 (en) 2014-03-12 2015-09-12 The Toronto-Dominion Bank Systems and methods for providing populated transaction interfaces based on system-generated triggers
US9385934B2 (en) 2014-04-08 2016-07-05 International Business Machines Corporation Dynamic network monitoring
US9852161B2 (en) 2014-04-14 2017-12-26 International Business Machines Corporation Autonomic data partition placement in an in-memory data grid
US9892457B1 (en) 2014-04-16 2018-02-13 Consumerinfo.Com, Inc. Providing credit data in search results
US10410142B1 (en) 2014-05-06 2019-09-10 United Services Automobile Association (Usaa) Integrated risk analysis management
US9529985B2 (en) 2014-05-15 2016-12-27 Verizon Patent And Licensing Inc. Global authentication service using a global user identifier
US9483378B2 (en) 2014-05-21 2016-11-01 Dynatrace Llc Method and system for resource monitoring of large-scale, orchestrated, multi process job execution environments
WO2015179632A1 (en) 2014-05-22 2015-11-26 Scheffler Lee J Methods and systems for neural and cognitive processing
CN105224566B (en) 2014-06-25 2019-03-01 国际商业机器公司 The method and system of injunctive graphical query is supported on relational database
US20160014600A1 (en) * 2014-07-10 2016-01-14 Bank Of America Corporation Identification of Potential Improper Transaction
US10229208B2 (en) 2014-07-28 2019-03-12 Facebook, Inc. Optimization of query execution
US10089053B2 (en) 2014-08-01 2018-10-02 Volkswagen Ag Mirroring deeplinks
WO2016025944A1 (en) * 2014-08-15 2016-02-18 Lawrence Douglas A system and method for digital authentication
US10572945B1 (en) 2014-08-28 2020-02-25 Cerner Innovation, Inc. Insurance risk scoring based on credit utilization ratio
US20160070446A1 (en) 2014-09-04 2016-03-10 Home Box Office, Inc. Data-driven navigation and navigation routing
US10205718B1 (en) * 2014-09-16 2019-02-12 Intuit Inc. Authentication transfer across electronic devices
US20160085738A1 (en) 2014-09-24 2016-03-24 Microsoft Technology Licensing, Llc Cloud-Based Parallel Computation Using Actor Modules
US10505825B1 (en) 2014-10-09 2019-12-10 Splunk Inc. Automatic creation of related event groups for IT service monitoring
US9760602B1 (en) 2014-10-29 2017-09-12 Databricks Inc. System for exploring data in a database
US10438008B2 (en) 2014-10-30 2019-10-08 Microsoft Technology Licensing, Llc Row level security
US20160125412A1 (en) * 2014-11-05 2016-05-05 Royce E. Cannon Method and system for preventing identity theft and increasing security on all systems
US9952744B2 (en) 2014-11-19 2018-04-24 Imprivata, Inc. Crowdsourced determination of movable device location
US9706401B2 (en) * 2014-11-25 2017-07-11 Microsoft Technology Licensing, Llc User-authentication-based approval of a first device via communication with a second device
US10915968B1 (en) 2014-11-26 2021-02-09 Intuit Inc. System and method for proactively managing alerts
US10440016B2 (en) * 2014-12-09 2019-10-08 Duo Security, Inc. System and method for applying digital fingerprints in multi-factor authentication
US10305985B1 (en) 2014-12-29 2019-05-28 EMC IP Holding Company LLC Defining new properties using expressions in API calls
US10599677B2 (en) 2015-01-22 2020-03-24 Brian J. Bulkowski Methods and systems of splitting database indexes and digests
US11176545B2 (en) * 2015-02-06 2021-11-16 Trunomi Ltd. Systems for generating an auditable digital certificate
US10498847B2 (en) 2015-02-11 2019-12-03 Go Daddy Operating Company, LLC System and method for mobile application deep linking
US20160239929A1 (en) * 2015-02-13 2016-08-18 D.Light Design, Inc. Systems and methods for allocation of device resources using multi-character alphanumeric codes
US20160239284A1 (en) 2015-02-18 2016-08-18 Wesley John Boudville Deep linking of mobile apps by barcode, sound or collision
IN2015CH01270A (en) 2015-03-13 2015-04-10 Wipro Ltd
US10423691B1 (en) 2015-03-16 2019-09-24 Amazon Technologies, Inc. Rule and filter-based deeplinking between applications
US10057227B1 (en) * 2015-03-27 2018-08-21 Amazon Technologies, Inc. Determination of authentication mechanism
WO2016167424A1 (en) 2015-04-16 2016-10-20 주식회사 플런티코리아 Answer recommendation device, and automatic sentence completion system and method
US10255336B2 (en) 2015-05-07 2019-04-09 Datometry, Inc. Method and system for transparent interoperability between applications and data management systems
US10061852B1 (en) 2015-05-19 2018-08-28 Amazon Technologies, Inc. Transparent proxy tunnel caching for database access
US9838458B2 (en) 2015-06-08 2017-12-05 Wesley John Boudville Cookies and anti-ad blocker using deep links in mobile apps
US10157212B2 (en) 2015-06-17 2018-12-18 Rsignia, Inc. Method and apparatus to construct an ontology with derived characteristics for online social networks
CZ2015471A3 (en) * 2015-07-07 2016-09-29 Aducid S.R.O. Method of assignment of at least two authentication devices to the account of a user using authentication server
US10826791B2 (en) * 2015-07-13 2020-11-03 Projector.Is, Inc. Systems and methods for remote device viewing and interaction
US9336482B1 (en) 2015-07-27 2016-05-10 Google Inc. Predicting likelihoods of conditions being satisfied using recurrent neural networks
US9652712B2 (en) 2015-07-27 2017-05-16 Google Inc. Analyzing health events using recurrent neural networks
CN104954846B (en) * 2015-07-27 2018-09-18 北京京东方多媒体科技有限公司 Element method of adjustment, equipment and system
TWI712899B (en) 2015-07-28 2020-12-11 香港商阿里巴巴集團服務有限公司 Information query method and device
US10346826B2 (en) 2015-07-28 2019-07-09 Wesley John Boudville Blockchain and deep links for mobile apps
US20170046784A1 (en) * 2015-08-11 2017-02-16 Agata Marta Kiluk Method for providing investment decision options
US9910685B2 (en) 2015-08-13 2018-03-06 Samsung Electronics Co., Ltd. System and method for identifying, indexing, and navigating to deep states of mobile applications
EP3131045A1 (en) 2015-08-13 2017-02-15 Tata Consultancy Services Limited Credit limit management system and method
US10452497B2 (en) 2015-08-14 2019-10-22 Oracle International Corporation Restoration of UI state in transactional systems
US10055308B2 (en) 2015-08-17 2018-08-21 Sap Portals Israel Ltd. System and method of data loss prevention
EP3338212A4 (en) * 2015-08-20 2019-03-20 Averon US, Inc. Method and apparatus for geographic location based electronic security management
US10198144B2 (en) 2015-08-28 2019-02-05 Google Llc Multidimensional navigation
EP3345360B1 (en) 2015-09-04 2021-03-03 Nec Corporation Method for storing an object on a plurality of storage nodes
US11715029B2 (en) 2015-09-21 2023-08-01 Equifax Inc. Updating attribute data structures to indicate trends in attribute data provided to automated modeling systems
US10178111B1 (en) 2015-09-24 2019-01-08 Equifax Inc. Providing compressed risk assessment messages for real-time transmission via data networks to online services
US11361092B2 (en) 2015-09-25 2022-06-14 Intel Corporation Contextual access of data
US10467615B1 (en) 2015-09-30 2019-11-05 Square, Inc. Friction-less purchasing technology
US10698916B1 (en) 2015-10-16 2020-06-30 Dr Holdco 2, Inc. Data preparation context navigation
US9983892B2 (en) * 2015-11-06 2018-05-29 Samsung Electronics Co., Ltd. Deep linking to mobile application states through programmatic replay of user interface events
US10332204B2 (en) 2015-11-10 2019-06-25 Dun & Bradstreet Emerging Businesses Corp. Indirect and direct credit optimization
AU2016362507A1 (en) * 2015-12-04 2018-06-14 Dan CERNOCH Systems and methods for scalable-factor authentication
US10212256B2 (en) 2015-12-14 2019-02-19 Facebook, Inc. Delegating database queries
US10180833B2 (en) * 2015-12-31 2019-01-15 Samsung Electronics Co., Ltd. Cooperative web-assisted deep link redirection
US10503533B2 (en) * 2016-01-04 2019-12-10 Wesley John Boudville App streaming, bidirectional linket, phone number for mobile deep links
US10419401B2 (en) 2016-01-08 2019-09-17 Capital One Services, Llc Methods and systems for securing data in the public cloud
SG11201804419UA (en) 2016-01-11 2018-06-28 Visa Int Service Ass Fast format-preserving encryption for variable length data
CN108780485B (en) 2016-01-22 2022-03-04 弗塞克系统公司 Pattern matching based data set extraction
WO2017129242A1 (en) * 2016-01-27 2017-08-03 Advantest Corporation Deterministic concurrent test program executor for an automated test equipment
AU2017218516B2 (en) * 2016-02-09 2021-03-11 Ergomotion, Inc. Ultra-compact profile actuation system for an adjustable bed
US9740751B1 (en) 2016-02-18 2017-08-22 Google Inc. Application keywords
US20170243305A1 (en) 2016-02-19 2017-08-24 Electronics And Telecommunications Research Institute Method and apparatus for relaying distributed energy resource trading and system thereof
US20170262551A1 (en) 2016-03-11 2017-09-14 Linkedin Corporation Fan-out control in scalable distributed data stores
WO2017173460A1 (en) * 2016-04-01 2017-10-05 Sionic Mobile Corporation Methods and systems for secure transaction processing
US10585874B2 (en) 2016-04-25 2020-03-10 International Business Machines Corporation Locking concurrent commands in a database management system
US20170309046A1 (en) * 2016-04-25 2017-10-26 Google Inc. Rendering interaction statistics data for content elements of an information resource using a graph element
US11327475B2 (en) 2016-05-09 2022-05-10 Strong Force Iot Portfolio 2016, Llc Methods and systems for intelligent collection and analysis of vehicle data
US10331662B2 (en) 2016-05-18 2019-06-25 International Business Machines Corporation Dynamic column synopsis for analytical databases
US10334075B2 (en) 2016-05-23 2019-06-25 Citrix Systems, Inc. Virtual browser integration
US10116725B2 (en) 2016-05-27 2018-10-30 Intuit Inc. Processing data retrieval requests in a graph projection of an application programming interfaces (API)
US10574692B2 (en) * 2016-05-30 2020-02-25 Christopher Nathan Tyrwhitt Drake Mutual authentication security system with detection and mitigation of active man-in-the-middle browser attacks, phishing, and malware and other security improvements
WO2017209564A1 (en) 2016-06-02 2017-12-07 주식회사 플런티코리아 Application list providing method and device therefor
US11727141B2 (en) * 2016-06-10 2023-08-15 OneTrust, LLC Data processing systems and methods for synching privacy-related user consent across multiple computing devices
DK201670622A1 (en) 2016-06-12 2018-02-12 Apple Inc User interfaces for transactions
US11250118B2 (en) * 2016-06-12 2022-02-15 Apple Inc. Remote interaction with a device using secure range detection
US11334625B2 (en) 2016-06-19 2022-05-17 Data.World, Inc. Loading collaborative datasets into data stores for queries via distributed computer networks
US10225132B2 (en) 2016-06-30 2019-03-05 Ca, Inc. Serving channelized interactive data collection requests from cache
US10375119B2 (en) * 2016-07-28 2019-08-06 International Business Machines Corporation Dynamic multi-factor authentication challenge generation
US10868674B2 (en) 2016-08-12 2020-12-15 ALTR Solutions, Inc. Decentralized database optimizations
US10805278B2 (en) * 2016-08-15 2020-10-13 Truist Bank Network device proximity-based authentication
US10397175B2 (en) 2016-08-16 2019-08-27 International Business Machines Corporation Communication channel selection and usage
US20180068313A1 (en) * 2016-09-06 2018-03-08 Apple Inc. User interfaces for stored-value accounts
US10810463B2 (en) 2016-09-09 2020-10-20 Equifax Inc. Updating attribute data structures to indicate joint relationships among attributes and predictive outputs for training automated modeling systems
US20180075527A1 (en) 2016-09-14 2018-03-15 Royal Bank Of Canada Credit score platform
WO2018057701A1 (en) 2016-09-21 2018-03-29 Equifax, Inc. Transforming attributes for training automated modeling systems
US10776355B1 (en) 2016-09-26 2020-09-15 Splunk Inc. Managing, storing, and caching query results and partial query results for combination with additional query results
EP3529782A4 (en) 2016-10-19 2019-12-18 Citifyd, Inc. Communicating between a host application and external smart objects controlled by a web application
CN108604266A (en) * 2016-10-21 2018-09-28 华为技术有限公司 A kind of safe checking method and equipment
WO2018107128A1 (en) 2016-12-09 2018-06-14 U2 Science Labs, Inc. Systems and methods for automating data science machine learning analytical workflows
US10642805B1 (en) 2016-12-12 2020-05-05 Amazon Technologies, Inc. System for determining queries to locate data objects
US20210166234A1 (en) * 2016-12-27 2021-06-03 Wells Fargo Bank, N.A. Multi-device authentication
US10045157B2 (en) 2017-01-05 2018-08-07 International Business Machines Corporation Targeting notifications intended for drivers to a trusted automobile passenger
US10726478B2 (en) 2017-01-17 2020-07-28 Fair Ip, Llc Data processing system and method for facilitating transactions with user-centric document access
US20180211312A1 (en) 2017-01-25 2018-07-26 Jpmorgan Chase Bank, N.A. Systems and Methods for Intraday Facility Monitoring
US20200218510A1 (en) * 2017-01-27 2020-07-09 Desmos, Inc. Internet-enabled audio-visual graphing calculator
US10776349B2 (en) 2017-01-31 2020-09-15 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing dynamic macros within a multi-tenant aware structured query language
US10803062B2 (en) 2017-01-31 2020-10-13 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a by partition command term within a multi-tenant aware structured query language
US10649987B2 (en) 2017-01-31 2020-05-12 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing conditional statement execution within a multi-tenant aware structured query language
US10649986B2 (en) 2017-01-31 2020-05-12 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a BY ORGID command term within a multi-tenant aware structured query language
US11625710B1 (en) * 2017-02-14 2023-04-11 Wells Fargo Bank, N.A. Mobile wallet card carousel
US10565591B2 (en) 2017-02-23 2020-02-18 Paypal, Inc. Bridge for communicating data outside of a mobile application
US20180268001A1 (en) 2017-03-16 2018-09-20 International Business Machines Corporation Managing a database management system using a set of stream computing data
US10185745B2 (en) 2017-03-16 2019-01-22 International Business Machines Corporation Managing a stream computing environment using a projected database object
EP3379445A1 (en) 2017-03-22 2018-09-26 Wincor Nixdorf International GmbH System and method to generate encryption keys based on information of peripheral devices
US10868742B2 (en) 2017-03-29 2020-12-15 Juniper Networks, Inc. Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control
US10547521B1 (en) 2017-03-29 2020-01-28 Juniper Networks, Inc. Network dashboard with multifaceted utilization visualizations
US11068314B2 (en) 2017-03-29 2021-07-20 Juniper Networks, Inc. Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment
US11049104B2 (en) 2017-04-05 2021-06-29 Samsung Sds Co., Ltd. Method of processing payment based on blockchain and apparatus thereof
JP6942509B2 (en) 2017-04-10 2021-09-29 キヤノン株式会社 Information processing device and control method of information processing device
US11323327B1 (en) 2017-04-19 2022-05-03 Juniper Networks, Inc. Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles
US11232489B2 (en) 2017-04-24 2022-01-25 Consumer Direct, Inc. Scenario gamification to provide actionable elements and temporally appropriate advertising
US11514517B2 (en) * 2017-04-24 2022-11-29 Consumer Direct, Inc. Scenario gamification to provide improved mortgage and securitization
US11281761B2 (en) 2017-05-24 2022-03-22 Magnificus Software Inc. Method and system for using a plurality of accounts in an instant messaging application
US10693951B2 (en) 2017-06-01 2020-06-23 Salesforce.Com, Inc. Decentralized, resource aware load distribution in a distributed system
US10713223B2 (en) 2017-06-01 2020-07-14 Salesforce.Com, Inc. Opportunistic gossip-type dissemination of node metrics in server clusters
US10949918B2 (en) * 2017-06-05 2021-03-16 Mo Tecnologias, Llc System and method for issuing a loan to a consumer determined to be creditworthy and generating a behavioral profile of that consumer
US10348722B2 (en) * 2017-06-30 2019-07-09 Paypal, Inc. System and method for implementing hacker traffic barriers
US11055284B1 (en) 2017-06-30 2021-07-06 Tableau Software, Inc. Optimizing domain queries for relational databases
US10901990B1 (en) 2017-06-30 2021-01-26 Tableau Software, Inc. Elimination of common subexpressions in complex database queries
EP3979090A1 (en) 2017-07-28 2022-04-06 Risk Management Solutions, Inc. Metadata-based general request translator for distributed computer systems
WO2019026616A1 (en) * 2017-08-01 2019-02-07 ソニー株式会社 Information processing device and method
US10325392B2 (en) * 2017-08-01 2019-06-18 Cimpress Schweiz Gmbh Content replacement system using visual design object models
US11138277B2 (en) 2017-08-21 2021-10-05 Airship Group, Inc. Delivery of personalized platform-specific content using a single URL
US11138195B2 (en) 2017-08-31 2021-10-05 Salesforce.Com, Inc. Systems and methods for translating n-ary trees to binary query trees for query execution by a relational database management system
US10255602B2 (en) * 2017-09-01 2019-04-09 Operr Technologies, Inc. Location-based verification for predicting user trustworthiness
GB2566677A (en) 2017-09-12 2019-03-27 Infosum Ltd Grouping datasets
US20200278960A1 (en) 2017-09-13 2020-09-03 Aalto Korkeakoulusäätiö Sr Method and system for deriving a procedure for querying data
US10749674B2 (en) 2017-09-29 2020-08-18 Micro Focus Llc Format preserving encryption utilizing a key version
US11397962B2 (en) 2017-10-09 2022-07-26 American Express Travel Related Services Company, Inc. Loyalty point distributions using a decentralized loyalty ID
US10560309B1 (en) 2017-10-11 2020-02-11 Juniper Networks, Inc. Identifying a root cause of alerts within virtualized computing environment monitoring system
US11553843B2 (en) 2017-10-18 2023-01-17 Nxgen Partners Ip, Llc Topological features and time-bandwidth signature of heart signals as biomarkers to detect deterioration of a heart
US11270375B1 (en) 2017-10-31 2022-03-08 Intuit Inc. Method and system for aggregating personal financial data to predict consumer financial health
US11537751B2 (en) 2017-11-02 2022-12-27 T-Mobile Usa, Inc. Using machine learning algorithm to ascertain network devices used with anonymous identifiers
US10628435B2 (en) 2017-11-06 2020-04-21 Adobe Inc. Extracting seasonal, level, and spike components from a time series of metrics data
WO2019094317A1 (en) 2017-11-07 2019-05-16 Genesys Telecommunications Laboratories, Inc. System and method for re-authentication of asynchronous messaging
CA3082632A1 (en) * 2017-11-28 2019-06-06 Konnect Mobile Communications Inc. Methods and systems for providing an electronic wallet for managing transaction-based targeted media
US20190188788A1 (en) 2017-12-15 2019-06-20 Connect Financial LLC Machine executable intelligent agents and augmented reality
US11720661B2 (en) * 2017-12-18 2023-08-08 Fortinet, Inc. Wireless multi-factor authentication based on proximity of a registered mobile device to a protected computing device at issue
US11030195B2 (en) 2018-01-18 2021-06-08 Fmr Llc Identifying and mitigating high-risk database queries through ranked variance analysis
US11023461B2 (en) 2018-01-19 2021-06-01 Servicenow, Inc. Query translation
US10878006B2 (en) 2018-01-30 2020-12-29 Walmart Apollo Llc Systems to interleave search results and related methods therefor
KR102488699B1 (en) 2018-02-27 2023-01-17 삼성전자주식회사 Electronic Device and the interface Method for Certifying Finger Print
US10983748B2 (en) * 2018-02-28 2021-04-20 Ricoh Company, Ltd. Information management apparatus, information sharing system, and terminal
US11237843B2 (en) 2018-03-05 2022-02-01 Beijing Zhanxinzhanli Information Technology Co., Ltd. Application-level runtime environment for executing applications native to mobile devices without full installation
US20190278749A1 (en) 2018-03-08 2019-09-12 infinite io, Inc. Profiling performance in a networked, clustered, hybrid storage system
US11157833B2 (en) 2018-03-14 2021-10-26 International Business Machines Corporation Learning service blockchain
US11431494B2 (en) 2018-03-15 2022-08-30 Atakama LLC Passwordless security system for data-at-rest
US11042930B1 (en) 2018-03-20 2021-06-22 Intuit, Inc. Insufficient funds predictor
US20190295062A1 (en) 2018-03-22 2019-09-26 Dennis MacQuilken Systems and Methods for Offline Stored Value Payment Management, Offline Mutual Authentication for Payment, and Auditing Offline Transactions
WO2019195482A1 (en) 2018-04-03 2019-10-10 Otsuka America Pharmaceutical Inc. Database lock
US20190342380A1 (en) 2018-05-07 2019-11-07 Microsoft Technology Licensing, Llc Adaptive resource-governed services for performance-compliant distributed workloads
US11489843B2 (en) 2018-05-16 2022-11-01 Equifax Inc. Controlling access to secured data via timed filtering of data
US10956594B2 (en) 2018-05-22 2021-03-23 Identity Theft Guard Solutions, Inc. User interface for interacting with multiple databases
US10728121B1 (en) 2018-05-23 2020-07-28 Juniper Networks, Inc. Dashboard for graphic display of computer network topology
US10585720B1 (en) 2018-06-01 2020-03-10 Intuit Inc. Method and system for executing application programming interface (API) requests based on union relationships between objects
US20190386984A1 (en) * 2018-06-14 2019-12-19 Paypal, Inc. Two-factor authentication through ultrasonic audio transmissions
IL267630A (en) 2018-06-28 2019-10-31 AMOR Harel A system and method for increasing security of information storage and retrieval
WO2020006138A1 (en) 2018-06-29 2020-01-02 Arcblock, Inc. Blockchain adapter, protocol, and access layer
US10529018B1 (en) 2018-07-16 2020-01-07 Capital One Services, Llc Credit scoring and pre-approval engine integration
US11775985B2 (en) * 2018-07-24 2023-10-03 Maher A Abdelsamie Secure methods and systems for environmental credit scoring
US20200410820A1 (en) 2018-07-26 2020-12-31 Our Ip Holding, Llc Credit wagering system and method of use with loan and warrantying
US11068512B2 (en) 2018-07-27 2021-07-20 Accenture Global Solutions Limited Data virtualization using leveraged semantic knowledge in a knowledge graph
GB201812375D0 (en) 2018-07-30 2018-09-12 Ibm Updating a table using incremental and batch updates
US11178148B2 (en) * 2018-08-21 2021-11-16 HYPR Corp. Out-of-band authentication to access web-service with indication of physical access to client device
US10963960B1 (en) * 2018-08-30 2021-03-30 Wells Fargo Bank, N.A. Computer system for automatic credit allocation of a shared line of credit
US11265324B2 (en) 2018-09-05 2022-03-01 Consumerinfo.Com, Inc. User permissions for access to secure data at third-party
CN109039775A (en) * 2018-09-12 2018-12-18 网宿科技股份有限公司 Quality of service monitoring method, apparatus and system
DE102018122997A1 (en) 2018-09-19 2020-03-19 Infineon Technologies Ag BLOCK CHAIN ENTITY, EXTERNAL CHAIN ENTITY, CERTIFICATION DEVICE FOR BLOCK CHAIN OPERATIONS AND METHOD FOR CARRYING OUT A COOPERATION BETWEEN A BLOCK CHAIN ENTITY AND AN EXTERNAL CHAIN ENTITY
US11023200B2 (en) * 2018-09-27 2021-06-01 The Toronto-Dominion Bank Systems, devices and methods for delivering audible alerts
US10978063B2 (en) * 2018-09-27 2021-04-13 The Toronto-Dominion Bank Systems, devices and methods for delivering audible alerts
US10949520B2 (en) 2018-10-02 2021-03-16 Capital One Services, Llc Systems and methods for cross coupling risk analytics and one-time-passcodes
US20200117756A1 (en) 2018-10-11 2020-04-16 Ca, Inc. Rest application programming interface paradigms for big data analytics
US11222449B2 (en) * 2018-10-24 2022-01-11 EMC IP Holding Company LLC Smart visualization transformation for intuitive presentations
CN110197433B (en) 2018-10-25 2021-07-27 腾讯科技(深圳)有限公司 Numerical value transferring method, device and system
US20200139840A1 (en) 2018-11-06 2020-05-07 Chargepoint, Inc. Using Near-Field Communication (NFC) for Electric Vehicle Charging Authorization
RU2726157C1 (en) 2018-11-07 2020-07-09 Алибаба Груп Холдинг Лимитед Recovering encrypted transaction information in confidential transactions with blockchain
US11381595B2 (en) * 2018-11-09 2022-07-05 International Business Machines Corporation Transport layer security session man-in-the-middle attack prevention
KR20210077703A (en) * 2018-11-15 2021-06-25 비자 인터네셔널 서비스 어소시에이션 Collaborative Risk Awareness Certification
US11119998B1 (en) 2018-11-26 2021-09-14 Amazon Technologies, Inc. Index and view updates in a ledger-based database
US11294869B1 (en) 2018-12-19 2022-04-05 Datometry, Inc. Expressing complexity of migration to a database candidate
US11436213B1 (en) 2018-12-19 2022-09-06 Datometry, Inc. Analysis of database query logs
US11468043B1 (en) 2018-12-20 2022-10-11 Datometry, Inc. Batching database queries for migration to a different database
US10795888B2 (en) 2018-12-21 2020-10-06 Tableau Software, Inc. Elimination of query fragment duplication in complex database queries
US10440015B1 (en) 2019-01-10 2019-10-08 Capital One Services, Llc Techniques for peer entity account management
US11290448B1 (en) * 2019-02-05 2022-03-29 Wells Fargo Bank, N.A. Multifactor identity authentication via cumulative dynamic contextual identity
US20200265457A1 (en) 2019-02-20 2020-08-20 Capital One Services, Llc Systems and methods for rewards-based p2p funding
US11869070B2 (en) 2019-03-06 2024-01-09 The Toronto-Dominion Bank Expected transfer monitoring and notification
US11328352B2 (en) * 2019-03-24 2022-05-10 Apple Inc. User interfaces for managing an account
US11556537B2 (en) 2019-03-29 2023-01-17 Sap Se Query plan generation and execution based on single value columns
WO2020206695A1 (en) 2019-04-12 2020-10-15 Hangzhou Nuowei Information Technology Co., Ltd. System for decentralized ownership and secure sharing of personalized health data
US11455410B2 (en) 2019-04-18 2022-09-27 Microsoft Technology Licensing, Llc Data privacy pipeline providing collaborative intelligence and constraint computing
US11132373B1 (en) * 2019-04-30 2021-09-28 Splunk Inc. Decoupled update cycle and disparate search frequency dispatch for dynamic elements of an asset monitoring and reporting system
US11762851B2 (en) 2019-05-01 2023-09-19 Vmware, Inc. Methods and systems that provide a general query interface to multiple management services and applications
US11416548B2 (en) 2019-05-02 2022-08-16 International Business Machines Corporation Index management for a database
US10489789B1 (en) 2019-05-02 2019-11-26 Capital One Services, Llc Systems and methods for providing notifications to devices
US11256619B2 (en) 2019-05-05 2022-02-22 Microsoft Technology Licensing, Llc Memory management for serverless databases
US11636393B2 (en) 2019-05-07 2023-04-25 Cerebri AI Inc. Predictive, machine-learning, time-series computer models suitable for sparse training sets
US11676102B2 (en) 2019-05-23 2023-06-13 Capital One Services, Llc Searchable index encryption
US11182356B2 (en) 2019-05-23 2021-11-23 International Business Machines Corporation Indexing for evolving large-scale datasets in multi-master hybrid transactional and analytical processing systems
US11037238B1 (en) 2019-06-03 2021-06-15 Intuit Inc. Machine learning tax based credit score prediction
US11294737B2 (en) 2019-06-24 2022-04-05 International Business Machines Corporation Self-managed lock access
US11144469B2 (en) 2019-07-02 2021-10-12 Microsoft Technology Licensing, Llc Per-tenant incremental outward distributed proactive caching
US11216511B1 (en) 2019-07-16 2022-01-04 Splunk Inc. Executing a child query based on results of a parent query
US11269871B1 (en) 2019-07-16 2022-03-08 Splunk Inc. Displaying multiple editable queries in a graphical user interface
US11263268B1 (en) 2019-07-16 2022-03-01 Splunk Inc. Recommending query parameters based on the results of automatically generated queries
US10726002B1 (en) 2019-08-19 2020-07-28 DLT Global Inc. Relational data management and organization using DLT
US11461324B2 (en) 2019-08-29 2022-10-04 Oracle International Corporation First futamura projection in the context of SQL expression evaluation
US11132403B2 (en) 2019-09-06 2021-09-28 Digital Asset Capital, Inc. Graph-manipulation based domain-specific execution environment
US11061638B2 (en) * 2019-09-17 2021-07-13 The Toronto-Dominion Bank Dynamically determining an interface for presenting information to a user
US11068454B2 (en) * 2019-09-23 2021-07-20 Singlestore, Inc. Method of performing transactional and analytical data processing using a data structure
US11120800B1 (en) 2019-09-24 2021-09-14 Amazon Technologies, Inc. Event based feature computation
US20210090561A1 (en) * 2019-09-24 2021-03-25 Amazon Technologies, Inc. Alexa roaming authentication techniques
US10949725B1 (en) 2019-10-03 2021-03-16 Popl Co. Method and device for sharing social media profile
US20210109917A1 (en) 2019-10-10 2021-04-15 The Hong Kong Polytechnic University System and Method for Processing a Database Query
US11411734B2 (en) * 2019-10-17 2022-08-09 The Toronto-Dominion Bank Maintaining data confidentiality in communications involving voice-enabled devices in a distributed computing environment
US11200328B2 (en) * 2019-10-17 2021-12-14 The Toronto-Dominion Bank Homomorphic encryption of communications involving voice-enabled devices in a distributed computing environment
US11176044B2 (en) 2019-10-28 2021-11-16 Intuit Inc. Systems and methods for implementing overlapping data caching for object application program interfaces
US20210141836A1 (en) 2019-11-12 2021-05-13 FinancialForce.com, Inc. Hard disk and in-memory database operations
US11188530B2 (en) 2019-11-25 2021-11-30 Servicenow, Inc. Metadata-based translation of natural language queries into database queries
US20210182808A1 (en) 2019-12-12 2021-06-17 Visa International Service Association Method, System, and Computer Program Product for Distributing Data from Multiple Data Sources
US10949178B1 (en) 2019-12-13 2021-03-16 Intuit Inc. Method and system for decomposing a global application programming interface (API) graph into an application-specific API subgraph
US11632249B2 (en) * 2019-12-31 2023-04-18 Google Llc Secure log schemes for portable accounts
US11276049B2 (en) 2019-12-31 2022-03-15 Paypal, Inc. Systems and methods for creating dynamic sessions for mobile application integration
US11381601B2 (en) 2020-01-15 2022-07-05 International Business Machines Corporation Customizable dynamic GraphQL API management platform
US11416869B2 (en) * 2020-02-04 2022-08-16 Dish Wireless L.L.C. Devices, systems and processes for substantially simultaneous payment verification using multi-factor authentication
US20210248143A1 (en) 2020-02-10 2021-08-12 Citrix Systems, Inc. Automatically executing graphql queries on databases
US11381395B2 (en) 2020-03-05 2022-07-05 Citrix Systems, Inc. System and methods for encryption based on environmental factors
US11481201B2 (en) 2020-03-05 2022-10-25 Intuit Inc. Integrated development environment for developing and compiling query language schemas for application program interfaces
US10776444B1 (en) 2020-03-17 2020-09-15 Capital One Services, Llc Methods and systems for universal deep linking across web and mobile applications
US11106754B1 (en) 2020-03-17 2021-08-31 Capital One Services, Llc Methods and systems for hyperlinking user-specific content on a website or mobile applications
US10922372B1 (en) 2020-03-17 2021-02-16 Capital One Services, Llc Methods and systems for generating custom content using universal deep linking across web and mobile applications
US11636847B2 (en) 2020-03-23 2023-04-25 Sorcero, Inc. Ontology-augmented interface
US20210312556A1 (en) * 2020-04-06 2021-10-07 Troutwood, LLC System and Process For Presenting Monetary Account Value or Value Changes in the Form of Traditionally Non-Monetary Digital Objects Displayed on Authenticated Computer Devices
US11593082B2 (en) 2020-04-10 2023-02-28 Apple Inc. Registered applications for electronic devices
US20210342480A1 (en) 2020-04-30 2021-11-04 Intuit Inc. Authorization system using queries as authorization restrictions
US11514203B2 (en) 2020-05-18 2022-11-29 Best Apps, Llc Computer aided systems and methods for creating custom products
US11294916B2 (en) 2020-05-20 2022-04-05 Ocient Holdings LLC Facilitating query executions via multiple modes of resultant correctness
US11363106B2 (en) * 2020-05-26 2022-06-14 Bank Of America Corporation Electronic system for combination of temporal resource activity data and resource transmission
US11281668B1 (en) 2020-06-18 2022-03-22 Tableau Software, LLC Optimizing complex database queries using query fusion
CN111858629B (en) 2020-07-02 2023-08-22 北京奥星贝斯科技有限公司 Implementation method and device for two-stage submitting distributed transaction update database
US11277315B2 (en) 2020-07-02 2022-03-15 Juniper Networks, Inc. Dashboard for display of state information in a graphic representation of network topology
US20220067105A1 (en) 2020-08-26 2022-03-03 University Of Pittsburgh - Of The Commonwealth System Of Higher Education Search engine for concatenating and searching combinations of data files
US11055692B1 (en) 2020-09-10 2021-07-06 Square, Inc. Application integration for contactless payments
US11544695B2 (en) 2020-09-10 2023-01-03 Block, Inc. Transaction identification by comparison of merchant transaction data and context data
US11249821B1 (en) 2021-04-07 2022-02-15 Microsoft Technology Licensing, Llc Cross-platform context activation

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220141039A1 (en) * 2020-11-02 2022-05-05 International Business Machines Corporation Certificate based security using post quantum cryptography
US11716206B2 (en) * 2020-11-02 2023-08-01 International Business Machines Corporation Certificate based security using post quantum cryptography
US11757659B2 (en) 2020-12-01 2023-09-12 International Business Machines Corporation Post-quantum certificate binding
US20220229930A1 (en) * 2021-01-21 2022-07-21 Dell Products L.P. Secure data structure for database system
US11809589B2 (en) * 2021-01-21 2023-11-07 Dell Products L.P. Secure data structure for database system
US20230140712A1 (en) * 2021-11-04 2023-05-04 Capital One Services, Llc Systems and methods for generating and using virtual card numbers
CN116049512A (en) * 2023-03-30 2023-05-02 紫金诚征信有限公司 Credit body information processing method and device and electronic equipment
CN116739090A (en) * 2023-05-12 2023-09-12 北京大学 Deep neural network reasoning measurement method and device based on Web browser
CN116738081A (en) * 2023-08-08 2023-09-12 贵州优特云科技有限公司 Front-end component binding method, device and storage medium

Also Published As

Publication number Publication date
US11630822B2 (en) 2023-04-18
US20220075825A1 (en) 2022-03-10

Similar Documents

Publication Publication Date Title
US20220075877A1 (en) Interface and system for updating isolated repositories
US11641665B2 (en) Resource utilization retrieval and modification
US11475010B2 (en) Asynchronous database caching
US20210160245A1 (en) Parallel execution of transactions in a blockchain network based on smart contract whitelists
US11470037B2 (en) Navigation pathway generation
US11556846B2 (en) Collaborative multi-parties/multi-sources machine learning for affinity assessment, performance scoring, and recommendation making
AU2019257397B2 (en) Secure multi-party computation with no trusted initializer
US11907266B2 (en) Method and system for self-aggregation of personal data and control thereof
JP7153722B2 (en) Automated enterprise transaction data aggregation and accounting
US9256657B1 (en) Tracking data communicated between services
US11809577B2 (en) Application of trained artificial intelligence processes to encrypted data within a distributed computing environment
US11095623B2 (en) Secure messaging systems and methods
US11080425B2 (en) Staged information exchange facilitated by content-addressable records indexed to pseudonymous identifiers by a tamper-evident data structure
US10769179B2 (en) Node linkage in entity graphs
US20200357059A1 (en) Multi-layer machine learning validation of income values
US20210357757A1 (en) Customizing an artificial intelligence model to process a data set
US11055433B2 (en) Centralized advanced security provisioning platform
CN111931947A (en) Training sample recombination method and system for distributed model training
US11943342B1 (en) Private categorization using shared keys
US20240037476A1 (en) Advisor risk score
US20240078829A1 (en) Systems and methods for identifying specific document types from groups of documents using optical character recognition
US11886607B1 (en) Apparatus and method configured to facilitate the selective search of a database
US20240054115A1 (en) Decision implementation with integrated data quality monitoring
Network The present and future of confidential microdata access

Legal Events

Date Code Title Description
AS Assignment

Owner name: SELF FINANCIAL, INC., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HELMS, ANDY;RILEY, DAVID;HINES, BRANDON;AND OTHERS;REEL/FRAME:054768/0853

Effective date: 20201218

STCV Information on status: appeal procedure

Free format text: APPEAL BRIEF (OR SUPPLEMENTAL BRIEF) ENTERED AND FORWARDED TO EXAMINER

STCV Information on status: appeal procedure

Free format text: EXAMINER'S ANSWER TO APPEAL BRIEF MAILED

STCV Information on status: appeal procedure

Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS

AS Assignment

Owner name: SILICON VALLEY BANK, MASSACHUSETTS

Free format text: SECURITY INTEREST;ASSIGNORS:SELF FINANCIAL, INC.;SELF CREDIT LLC;SELF FINANCIAL INSURANCE SERVICES LLC;AND OTHERS;REEL/FRAME:060422/0237

Effective date: 20220630

STCV Information on status: appeal procedure

Free format text: BOARD OF APPEALS DECISION RENDERED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION