Browser-based aggregation

Information

  • Patent Grant
  • 12259907
  • Patent Number
    12,259,907
  • Date Filed
    Thursday, June 16, 2022
    2 years ago
  • Date Issued
    Tuesday, March 25, 2025
    a month ago
  • Inventors
  • Original Assignees
    • Plaid Inc. (San Francisco, CA, US)
  • Examiners
    • Lin; Allen S
    Agents
    • Harrity & Harrity, LLP
Abstract
A system and method for aggregating account data, and more specifically, a system and method for aggregation of financial account data that provides enhanced privacy and security protections to a user by enabling the user to maintain custody of his or her login credentials. A syncing agent in coordination with a system add-on coordinates log-in to a remote system and storage of session information. Syncing agent utilizes the session agent to retrieve additional information on behalf of the user or perform other tasks on the remote server.
Description
BACKGROUND

Users with multiple financial institution accounts, such as traditional banking, investments, retirement accounts, and the like, may desire a consolidated balance display from a single source, as opposed to logging in to multiple financial institution sites where they retrieve balance information individually. The difficulty inherent in multiple logins is compounded when the user has a need to check those sources frequently.


Aside from separate logins, traditional methods for monitoring balances and transactions across multiple accounts, all in one place, may require a customer to share sensitive account information in order to permit a third party to aggregate data from each financial institution where an account is held. The customer's login credentials, including user name, password, and perhaps other details such as answers to security questions, may be stored by the third party in order to retrieve related account data from each financial institution.


As an example, a user seeking to aggregate financial institution (“FI”) data through a single third-party source may be required to first submit their online login credentials for each institution to the provider, using a web form or API. The third-party provider may then store the login credentials on its own servers—outside the direct control of the user—and use those stored credentials to log in on the user's behalf when a data update is scheduled or requested by the user.


Many users are reluctant to share login credentials for third-party storage outside their control, raising concerns about the security and integrity of their FI account(s). Many users are further concerned about ceding control to a third-party institution and granting the right to log in without limitation.


The desire for aggregated information from multiple sources is not limited to financial data and similarly applies to any data source that requires user login credentials.


Accordingly, there is a need for an alternate method of aggregating data that does not require a customer to share sensitive account information with a third party.


There is a further need for a data aggregation system in which login credentials are stored with the user or under the user's control.


There is a further need for a data aggregation system in which the user has control over the frequency and nature of logins to his or her accounts held with financial institutions.





BRIEF DESCRIPTION OF THE DRAWINGS

The features and advantages of the present disclosure will be more fully understood with reference to the following detailed description when taken in conjunction with the accompanying figures, wherein:



FIG. 1 is a logical block diagram describing a preferred embodiment of the present invention.



FIG. 2 is a process diagram describing the steps in an exemplary embodiment of the present invention.



FIG. 3 is a block diagram illustrating exemplary functions of a syncing agent according to embodiments of the present invention.



FIG. 4 describes an exemplary system architecture that may be used to implement one or more illustrative aspects of the present invention.


SUMMARY

A method is disclosed in which a determination is made whether a user has logged into an information system, via user computing device comprising a system add-on to identify a live session initiated by the customer. In embodiments, the method further comprises receiving, via the add-on, session information transmitted back from the information system, wherein the plugin is configured to copy the session information, and then activate a syncing agent to receive information from the information system, wherein the syncing agent uses session information from the plugin to impersonate the live session initiated by the customer via the browser or mobile application on the user device, and wherein the syncing agent gathers data from the information system relating to at least one of the customer's accounts. In embodiments, data gathered from the information system may be stored for later retrieval by the customer or a third party.


In embodiments of the invention, a non-transitory computer readable medium is provided, having stored thereon, computer executable instructions that, if executed by a computing device, cause the computing device to perform a method comprising determining whether a user has logged into an information system, via user computing device comprising a system add-on to identify a live session initiated by the customer. In embodiments, the computer-executable method further comprises receiving, via the add-on, session information transmitted back from the information system, wherein the plugin is configured to copy the session information, and then activate a syncing agent to receive information from the information system, wherein the syncing agent uses session information to impersonate the live session initiated by the customer via the browser or mobile application on the user device, and wherein the syncing agent gathers data from the information system relating to at least one of the customer's accounts. In embodiments, data gathered from the information system may be stored for later retrieval by the customer or a third party.


In embodiments of the invention, at least one user computing device is provided comprising a processor, memory, and storage, configured to (a) determine whether a user has logged into an information system, and comprising a system add-on to identify a live session initiated by the customer; (b) receive, via the add-on, session information transmitted back from the information system. In embodiments of the invention, a server computer device is provided comprising a syncing agent configured to receive information from the information system, wherein the syncing agent uses session information to impersonate the live session initiated by the customer via the browser or mobile application on the user device, and wherein the syncing agent gathers data from the information system relating to at least one of the customer's accounts. In embodiments, a cloud storage device is provided for storing data gathered from the information system for later retrieval by the customer or a third party.


In embodiments of the invention, the information system may be a financial institution system.


In embodiments of the system, the user computing device may be a tablet computing device or mobile computing device, and may comprise a dedicated application for interacting with the syncing agent.


In embodiments of the invention, the system add-on can be selectively disabled.


In embodiments of the invention the syncing agent comprises a server computing device.





DETAILED DESCRIPTION

The present invention is directed at a system and method for aggregating account data, and more specifically, a system and method for aggregation of financial account data that provides enhanced privacy and security protections to a user by enabling the user to maintain sole custody of his or her login credentials.


In embodiments of the present invention, a system is provided in which user data—including financial data sourced from financial institutions—may be aggregated to present a consolidated interface, without the user being required to share sensitive account information, or permitting the aggregator to store sensitive account information. In embodiments of the invention, user credentials needed to log into an account are maintained solely with the customer and are not shared through their personal device.


System Elements



FIG. 1 is a logical block diagram describing a preferred embodiment of the present invention. One or more user computing devices 110a . . . 110n may be in communication with a syncing agent 120 via a wide-area network 140 such as the Internet. A plurality of financial institution web sites 130a . . . 130n may be each associated with a financial institution data store 132a . . . 132n via a network link such as a local area network. Financial institution web sites 130a . . . 130n may similarly be in communication with the syncing agent 120 via a wide-area network such as the Internet.


Each of user computing devices 110a . . . 110n may be associated with system add-ons 112a . . . 112n that, in a preferred embodiment, may be a plug-in that functions as a bridge between the syncing agent 120 and financial institutions 130a . . . 130n. System add-ons 112a . . . 112n may be integrated with computing devices 110a . . . 110n, such as a browser plug-in, API, or special-purpose application, or be physically or logically separate from the computing devices.



FIG. 1 illustrates just one example of a logical framework that may be used, and those of skill in the art will appreciate that the specific implementation is secondary to the functionality that the system components provide.


Process Flow


Referring to FIG. 2, a process diagram is shown describing the steps in an exemplary embodiment of the present invention.


In a preferred embodiment, a system add-ons such as a browser plugin is first provided (210) to a user computing device to facilitate exchange with the syncing agent described herein. In embodiments, the browser plugin may be enabled or disabled by the user to meet the user's individual privacy requirements. In an alternate embodiment, a mobile application including necessary plugin code may be opened on the customer device and run in the foreground as would any other app on the device.


When enabled, the plugin is set to a “listening” mode (220) and configured to detect navigation by a user to a FI website. In embodiments, FI websites may include, for example, banking, investment, and retirement accounts, though the system is equally applicable to non-FI information. When the user has navigated to a FI web site (230), the user may be prompted to log on as provided by the FI website, and the plugin may coordinate the storage of the user's login credentials (240) on the local user computing device. In embodiments, the plugin may be configured to store login credentials to be entered automatically on the FI website (similar to a password manager browser plugin), but in a preferred embodiment login credentials are not stored so that sensitive personal information associated with an account is maintained solely with the customer, or on the customer's device.


The user's login credentials may then be transmitted to the FI server using the conventional method, wherein the FI authenticates the credentials (250) and sends back a cookie or other session information, which is intercepted (260) by the plugin and saved for later use.


With the cookie or session information in hand following the user's standard login process, the plugin may copy the session information and transmit it to the syncing agent (280) and/or to cloud storage (270) to be stored in a database.


In embodiments, a syncing agent is then activated (280) to receive information from the Fl. In embodiments, the syncing agent may route its communications with the FI through the plugin, which then adds the live session information to those communications in order to use the session established by the user. In other embodiments, the syncing agent may be configured to retrieve cookie or session information from the plugin or database and communicate with the FI directly, to operate as an agent of the user logged in to the current session on the user device.



FIG. 3 contains a block diagram illustrating exemplary functions of the syncing agent after the user is logged in to the FI website and syncing agent is in possession of a valid cookie or session information.


In embodiments, the activated syncing agent 305 may:


(a) route communications through the plugin, or make direct posts to the FI web server, using session information, and the FI may send data back to the syncing agent (either via the plugin or directly, thinking that the syncing agent is the browser or mobile app accessing the live session on the user device) (310);


(b) gather data related to account information (account number, account type, etc.) (320);


(c) gather data related to account information holdings/positions/balance information (330);


(d) gather data related to account information transaction history information (340); and


(e) gather data related to account information account “metadata” (bill payment due date, APR, etc.) (350).


The syncing agent may gather data so long as the user remains logged in to a valid session with the FI. Data retrieved by the syncing agent will reside in the cloud database and may be retrieved later on by the user or a third party.


It will be appreciated that the foregoing is merely a summary of all available functions that could be implemented when the syncing agent may use valid cookie or session login information.


System Architecture



FIG. 4 describes an exemplary system architecture that may be used to implement one or more illustrative aspects described herein. Computer software, hardware, and networks may be utilized in a variety of different system environments, including standalone, networked, remote-access, virtualized, and/or cloud-based environments, among others.


In embodiments, a user may engage with the system via one or more user computing devices connected to the network. Referring to FIG. 4, exemplary computing devices may include personal computer 410. In embodiments other computing devices may be utilized alternatively or in convert—including tablet computer 412, mobile device 414, and similar devices.


In embodiments, computing device 410 may be a personal computer, a server, a network router, switch or bridge, virtual assistant (e.g., Amazon Alexa, Google Home, Apple HomePod), digital media player (e.g., Amazon Fire, AppleTV, Roku, Google Chromecast, Roku), smartwatch, a set-top box (STB), gaming system, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that computing device.


While only a collection of computing devices are illustrated, the term “computing device” should be taken to include any collection of computing devices that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.


In embodiments, the computing device may be connected (e.g., networked) to other machines in a LAN, an intranet, an extranet, a WiFi network, a cellular network, or the Internet (WAN) 470. In embodiments, computing device 410 may be provided with a web browser for facilitating connections over the network.


In embodiments of the present invention, a browser plugin may be provided on computing device 410 to carry out the steps described in FIGS. 2-3. The term “plugin” refers to any software component that extends the functionality of the user's existing system, and may include browser plugins, extensions, system services, and other software- and hardware-based add-ons.


In further embodiments, computing device 410 may be provided with an app that implements the methodologies discussed herein. In embodiments of the invention, a software development kit (“SDK”) may be provided to facilitate development of mobile apps (or other software) to run operate with the system of the present invention.


In embodiments, the system of the present invention may include one or more web servers 420, each connected to a financial information database or data storage device 430. In embodiments, the computing device may be connected (e.g., networked) to other machines in the same manner as the computing device 410, namely, in a LAN, an intranet, an extranet, a WiFi network, a cellular network, or the Internet.


In embodiments, the system of the present invention may include a synchronization server 450 and associated cloud storage 460. The synchronization server 450 may contain code that implements the synchronization steps shown in FIGS. 2-3 and discussed herein. Cloud storage 460 may be a data storage device, which can be configured as a server computing service, for receiving user data during synchronization. Synchronization server 460 may function as an intermediary system between a user and financial institution, and coordinate the steps of accessing, storing, and processing user FI data.


As shown in FIG. 4, various nodes including those associated with a network—including 410, 420, 430, 440—may be interconnected using a wide area network (WAN) 470, such as the Internet. Other networks may also or alternatively be used, including private intranets, corporate networks, LANs, metropolitan area networks (MAN) wireless networks, personal networks (PAN), and the like. Network 470 is for illustration purposes and may be replaced with fewer or additional computer networks. A local area network (LAN) may have one or more of any known LAN topology and may use one or more of a variety of different protocols, such as Ethernet. Devices—including 410, 420, 430, 440—may be connected to one or more of the networks via ethernet cable, coaxial cable, fiber optic cable, wireless communication protocols utilizing radio waves (including, e.g., WiFi and Bluetooth), or other communication media.


It will be understood that the term “network” refers not only to systems in which remote storage devices are coupled together via one or more communication paths, but also to stand-alone devices that may be coupled, from time to time, to such systems that have storage capability. Consequently, the term “network” includes not only a “physical network” but also a “content network,” which is comprised of the data—attributable to a single entity—which resides across all physical networks.


It will be understood by those of ordinary skill in the art that computing devices, server computing devices, and data storage may be combined on the same physical machines, and retain separate virtual or logical addresses, or may reside on separate physical machines. FIG. 4 illustrates just one example of a network architecture that may be used, and those of skill in the art will appreciate that the specific network architecture and data processing devices used may vary, and are secondary to the functionality that they provide, as further described herein. For example, services provided by web server 420 and data server 430 may be combined on a single server.


Each component node on the network—including computing devices 410, 412, 414 and server computing devices 420, 450—may be any type of known computer, server, or data processing device. User computing devices and servers may include a processor controlling overall operation of the computing device or server. These devices may further include random access memory (RAM), read-only memory (ROM), network interface, input/output interfaces (e.g., keyboard, touchscreen, mouse, display, printer, etc.), and memory.


Memory may also store data used in performance of one or more aspects described herein, including the databases associated with the servers discussed herein. Information can be stored in a single database, or separated into different logical, virtual, or physical databases, depending on system design. Those of skill in the art will appreciate that the functionality of user computing devices and servers described herein may be spread across multiple data processing devices, for example, to distribute processing load across multiple computers, to segregate transactions based on geographic location, user access level, quality of service, or other factors.


One or more aspects may be embodied in computer-usable or readable data and/or computer-executable instructions, such as in one or more program modules, executed by one or more computers or other devices as described herein. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types when executed by a processor in a computer or other device. The modules may be written in a source code programming language that is subsequently compiled for execution, or may be written in a scripting or markup language. The computer executable instructions may be stored on a computer-readable medium such as a nonvolatile storage device. Any suitable computer-readable storage media may be utilized, including hard disks, CD-ROMs, optical storage devices, magnetic storage devices, and/or any combination thereof. In addition, various transmission (non-storage) media representing data or events as described herein may be transferred between a source and a destination in the form of electromagnetic waves traveling through signal-conducting media such as metal wires, optical fibers, and/or wireless transmission media (e.g., air and/or space). Various aspects described herein may be embodied as a method, a data processing system, or a computer program product. Therefore, various functionalities may be embodied in whole or in part in software, firmware and/or hardware or hardware equivalents such as integrated circuits, field programmable gate arrays (FPGA), and the like. Particular data structures may be used to more effectively implement one or more aspects described herein, and such data structures are contemplated within the scope of computer executable instructions and computer-usable data described herein.


Although the foregoing invention has been described in detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. Therefore, the described embodiments should be taken as illustrative and not restrictive, and the invention should not be limited to the details given herein but should be defined by the following claims and their full scope of equivalents.

Claims
  • 1. A method comprising: receiving, by a syncing agent activated on a server computing device and from a plugin on a user computing device during a live session between a browser or a mobile application of the user computing device and an institution web site provided by an institution server, session information configured to establish the live session, wherein the syncing agent is activated to receive information from the institution server based on the session information being received from the plugin, andwherein the server computing device, the user computing device, and the institution server are three separate devices;making, by the syncing agent and using the session information, direct posts to the institution server based on the syncing agent being activated to receive information from the institution server;receiving, by the syncing agent and based on making the direct posts to the institution server, data transmitted from the institution server and intended for the browser or the mobile application, wherein the data, transmitted from the institution server and intended for the browser or the mobile application, is received directly from the institution server; andgathering, by the syncing agent and during the live session, account data transmitted from the institution server via a network and using the session information, wherein the account data relates to at least one account of a customer associated with the institution server, andwherein the account data is different from the session information.
  • 2. The method of claim 1, wherein the session information comprises a cookie.
  • 3. The method of claim 1, wherein the live session is initiated on the user computing device.
  • 4. The method of claim 1, wherein the session information is stored in a database, and wherein the method further comprises: retrieving the session information from the database.
  • 5. The method of claim 1, wherein the syncing agent is activated to receive the data from the institution server based on receiving the session information from the plugin.
  • 6. The method of claim 1, further comprises: using the session information to impersonate the live session.
  • 7. The method of claim 1, further comprising: routing a communication with the institution server via the plugin based on the session information being added to the communication.
  • 8. A system comprising: a server computing device comprising a processor, memory, and storage, wherein the server computing device is configured to execute a syncing agent, and wherein the syncing agent is configured to: receive, from a plugin on a user computing device during a live session between a browser or a mobile application of the user computing device and an institution web site provided by an institution server, session information configured to establish the live session, wherein the syncing agent is activated to receive information from the institution server based on the session information being received from the plugin, andwherein the server computing device, the user computing device, and the institution server are three separate devices;make, using the session information, direct posts to the institution server based on the syncing agent being activated to receive information from the institution server;receive, based on the direct posts to the institution server being made, data transmitted from the institution server and intended for the browser or the mobile application, wherein the syncing agent is configured to receive the data, transmitted from the institution server and intended for the browser or the mobile application, directly from the institution server; andgather, during the live session, account data transmitted from the institution server via a network and using the session information, wherein the account data relates to at least one account of a customer associated with the institution server, andwherein the account data is different from the session information.
  • 9. The system of claim 8, wherein the session information comprises a cookie.
  • 10. The system of claim 8, wherein the live session is initiated on the user computing device.
  • 11. The system of claim 8, wherein the session information is stored in the storage, and wherein the syncing agent is further configured to receive the session information from the storage.
  • 12. The system of claim 8, wherein the syncing agent is activated to receive the data from the institution server based on the session information being received from the plugin.
  • 13. The system of claim 8, wherein the syncing agent is configured to: use the session information to impersonate the live session.
  • 14. The system of claim 8, wherein the syncing agent is configured to: route a communication with the institution server via the plugin based on the session information being added to the communication.
  • 15. A non-transitory computer-readable storage medium storing a set of instructions, the set of instructions comprising: one or more instructions that, when executed by a processor of a server computing device, cause a syncing agent activated on the server computing device to: receive, from a plugin on a user computing device during a live session between a browser or a mobile application of the user computing device and an institution web site provided by an institution server, session information configured to establish the live session, wherein the syncing agent is activated to receive information from the institution server based on the session information being received from the plugin, andwherein the server computing device, the user computing device, and the institution server are three separate devices;make, using the session information, direct posts to the institution server based on the syncing agent being activated to receive information from the institution server;receive, based on the direct posts to the institution server being made, data transmitted from the institution server and intended for the browser or the mobile application, wherein the data, transmitted from the institution server and intended for the browser or the mobile application, is received directly from the institution server; andgather, during the live session, account data transmitted from the institution server via a network and using the session information, wherein the account data relates to at least one account of a customer associated with the institution server, andwherein the account data is different from the session information.
  • 16. The non-transitory computer-readable storage medium of claim 15, wherein the session information comprises a cookie.
  • 17. The non-transitory computer-readable storage medium of claim 15, wherein the live session is initiated on the user computing device.
  • 18. The non-transitory computer-readable storage medium of claim 15, wherein the session information is stored in a database, and wherein the one or more instructions further cause the syncing agent activated on the server computing device to receive the session information from the database.
  • 19. The non-transitory computer-readable storage medium of claim 15, wherein the syncing agent is activated to receive the data from the institution server based on the session information being received from the plugin.
  • 20. The non-transitory computer-readable storage medium of claim 15, wherein the one or more instructions further cause the syncing agent activated on the server computing device to use the session information to impersonate the live session.
PRIORITY CLAIM

This application is a continuation of U.S. patent application Ser. No. 16/042,147, filed Jul. 23, 2018 and titled, “BROWSER-BASED AGGREGATION,” which claims priority to U.S. Patent Application No. 62/535,859, filed Jul. 22, 2017 and titled, “BROWSER-BASED AGGREGATION”. Each of the aforementioned applications is hereby incorporated by reference in its entirety for all purposes.

US Referenced Citations (328)
Number Name Date Kind
5063507 Lindsey et al. Nov 1991 A
5237499 Garback Aug 1993 A
5347632 Filepp Sep 1994 A
5634127 Cloud May 1997 A
5649186 Ferguson Jul 1997 A
5701451 Rogers Dec 1997 A
5710884 Dedrick Jan 1998 A
5710918 Lagarde Jan 1998 A
5721908 Lagarde Feb 1998 A
5727159 Kikinis Mar 1998 A
5745754 Lagarde Apr 1998 A
5752246 Rogers May 1998 A
5778065 Hauser et al. Jul 1998 A
5778367 Wesinger, Jr. et al. Jul 1998 A
5787403 Randle Jul 1998 A
5793964 Rogers Aug 1998 A
5813007 Nielsen Sep 1998 A
5815665 Teper Sep 1998 A
5819284 Farber Oct 1998 A
5835724 Smith Nov 1998 A
5838910 Domenikos et al. Nov 1998 A
5838916 Domenikos et al. Nov 1998 A
5845073 Carlin Dec 1998 A
5855018 Chor et al. Dec 1998 A
5862325 Reed et al. Jan 1999 A
5870559 Leshem et al. Feb 1999 A
5875296 Shi Feb 1999 A
5878219 Vance Mar 1999 A
5892905 Brandt et al. Apr 1999 A
5892909 Grasso Apr 1999 A
5898836 Freivald Apr 1999 A
5901287 Bull May 1999 A
5903881 Schrader May 1999 A
5908469 Botz Jun 1999 A
5913214 Madnick Jun 1999 A
5918216 Miksovsky et al. Jun 1999 A
5920848 Schutzer Jul 1999 A
5926798 Carter Jul 1999 A
5930764 Melchione et al. Jul 1999 A
5930777 Barber Jul 1999 A
5933604 Inakoshi Aug 1999 A
5933816 Zeanah Aug 1999 A
5956720 Fernandez et al. Sep 1999 A
5961593 Gabber et al. Oct 1999 A
5961601 Iyengar Oct 1999 A
5963915 Kirsch Oct 1999 A
5963925 Kolling Oct 1999 A
5966967 Agrawal Oct 1999 A
5978828 Greer Nov 1999 A
5978842 Noble Nov 1999 A
5983267 Shklar et al. Nov 1999 A
5983268 Freivald Nov 1999 A
5987440 O'Neil Nov 1999 A
5987454 Hobbs Nov 1999 A
5995943 Bull Nov 1999 A
5999971 Buckland Dec 1999 A
6003032 Bunney et al. Dec 1999 A
6006333 Nielsen Dec 1999 A
6023698 Lavey Feb 2000 A
6041362 Mears et al. Mar 2000 A
6047327 Tso et al. Apr 2000 A
6055570 Nielsen Apr 2000 A
6078929 Rao Jun 2000 A
6082776 Feinberg Jul 2000 A
6092196 Reiche Jul 2000 A
6092197 Coueignoux Jul 2000 A
6105131 Carroll Aug 2000 A
6119101 Peckover Sep 2000 A
6138158 Boyle Oct 2000 A
6148337 Estberg et al. Nov 2000 A
6151581 Kraftson et al. Nov 2000 A
6151601 Papierniak Nov 2000 A
6182142 Win Jan 2001 B1
6185567 Ratnaraj et al. Feb 2001 B1
6195698 Lillibridge et al. Feb 2001 B1
6199077 Inala Mar 2001 B1
6205433 Boesch Mar 2001 B1
6208975 Bull Mar 2001 B1
6209007 Kelley et al. Mar 2001 B1
6243816 Fang et al. Jun 2001 B1
6246999 Riley et al. Jun 2001 B1
6278449 Sugiarto et al. Aug 2001 B1
6278999 Knapp Aug 2001 B1
6292789 Schutzer Sep 2001 B1
6297819 Furst Oct 2001 B1
6301584 Ranger Oct 2001 B1
6308203 Itabashi et al. Oct 2001 B1
6311275 Jin et al. Oct 2001 B1
6317783 Freishtat Nov 2001 B1
6360205 Iyengar Mar 2002 B1
6366933 Ball et al. Apr 2002 B1
6401118 Thomas Jun 2002 B1
6405245 Burson Jun 2002 B1
6412073 Rangan Jun 2002 B1
6424968 Broster Jul 2002 B1
6430539 Lazarus Aug 2002 B1
6484155 Kiss Nov 2002 B1
6499042 Markus Dec 2002 B1
6510451 Wu Jan 2003 B2
6519571 Guhen et al. Feb 2003 B1
6567411 Dahlen May 2003 B2
6567850 Freishtat May 2003 B1
6594766 Rangan Jul 2003 B2
6632248 Isaac et al. Oct 2003 B1
6633910 Rajan Oct 2003 B1
6631402 Devine Nov 2003 B1
6725200 Rost Apr 2004 B1
6802042 Rangan Oct 2004 B2
6859931 Cheyer et al. Feb 2005 B1
6957199 Fisher Oct 2005 B1
7028049 Shelton Apr 2006 B1
7072932 Stahl Jul 2006 B1
7092913 Cannon, Jr. Aug 2006 B2
7200578 Paltenghe et al. Apr 2007 B2
7263548 Daswani Aug 2007 B2
7275046 Tritt et al. Sep 2007 B1
7340411 Cook Mar 2008 B2
7370011 Bennett et al. May 2008 B2
7424520 Daswani Sep 2008 B2
7640210 Bennett et al. Dec 2009 B2
7752535 Satyavolu Jul 2010 B2
8006291 Headley et al. Aug 2011 B2
8010783 Cahill Aug 2011 B1
8086508 Dheer et al. Dec 2011 B2
8140431 Murphy Mar 2012 B1
8145914 Steeves Mar 2012 B2
8166562 Holvey et al. Apr 2012 B2
8209194 Nidy et al. Jun 2012 B1
8266515 Satyavolu Sep 2012 B2
8613066 Brezinski et al. Dec 2013 B1
8645264 Allison et al. Feb 2014 B2
8676611 McLaughlin et al. Mar 2014 B2
8739260 Damm-Goossens May 2014 B1
8788416 Vu Jul 2014 B1
8995967 Billman Mar 2015 B1
9106642 Bhimanail Aug 2015 B1
9202250 Palaniappan Dec 2015 B1
9418387 Aaron et al. Aug 2016 B1
9430892 Amdahl Aug 2016 B2
9449346 Hockey Sep 2016 B1
9595023 Hockey et al. Mar 2017 B1
9699187 Chen et al. Jul 2017 B2
9774590 Bronshtein et al. Sep 2017 B1
9906520 Fouad et al. Feb 2018 B2
9946996 Bedell Apr 2018 B1
10003591 Hockey et al. Jun 2018 B2
10104059 Hockey et al. Oct 2018 B2
10319029 Hockey et al. Jun 2019 B1
10339608 Haitz et al. Jul 2019 B1
10523653 Hockey et al. Dec 2019 B2
10530761 Hockey et al. Jan 2020 B2
10546348 Lesner et al. Jan 2020 B1
10614463 Hockey et al. Apr 2020 B1
10679303 Aaron et al. Jun 2020 B1
10726491 Hockey et al. Jul 2020 B1
10762559 Alejo et al. Sep 2020 B2
10878421 Putnam Dec 2020 B2
10904239 Hockey et al. Jan 2021 B2
10963565 Xu Mar 2021 B1
10984468 Hockey et al. Apr 2021 B1
11030682 Hockey et al. Jun 2021 B1
11050729 Hockey et al. Jun 2021 B2
11216814 Hockey et al. Jan 2022 B1
11316862 Pate et al. Apr 2022 B1
11327960 Jin et al. May 2022 B1
11430057 Hockey et al. Aug 2022 B1
20010011274 Klug et al. Aug 2001 A1
20020002596 Sugiarto et al. Jan 2002 A1
20020065772 Saliba et al. May 2002 A1
20020091635 Dilip et al. Jul 2002 A1
20020095588 Shigematsu et al. Jul 2002 A1
20030023879 Wray Jan 2003 A1
20030028646 Wray Feb 2003 A1
20030060896 Hulai Mar 2003 A9
20030158960 Engberg Aug 2003 A1
20030163425 Cannon, Jr. Aug 2003 A1
20030182035 DiLodovico et al. Sep 2003 A1
20030185370 Rosera Oct 2003 A1
20030204460 Robinson et al. Oct 2003 A1
20040059672 Baig et al. Mar 2004 A1
20050027617 Zucker et al. Feb 2005 A1
20050154913 Barriga et al. Jul 2005 A1
20050177510 Hilt et al. Aug 2005 A1
20050222929 Steier et al. Oct 2005 A1
20050246269 Smith Nov 2005 A1
20060015358 Chua Jan 2006 A1
20060116949 Wehunt et al. Jun 2006 A1
20060136332 Ziegler Jun 2006 A1
20060190569 Neil Aug 2006 A1
20060236384 Lindholm et al. Oct 2006 A1
20070179883 Questembert Aug 2007 A1
20070179942 Heggem Aug 2007 A1
20070198432 Pitroda et al. Aug 2007 A1
20070225047 Bakos Sep 2007 A1
20070255662 Tumminaro Nov 2007 A1
20070289002 van der Horst et al. Dec 2007 A1
20080051059 Fisher Feb 2008 A1
20080052192 Fisher Feb 2008 A1
20080052233 Fisher Feb 2008 A1
20080120129 Seubert et al. May 2008 A1
20080162361 Sklovsky Jul 2008 A1
20080183628 Oliver et al. Jul 2008 A1
20080243784 Stading Oct 2008 A1
20080249931 Gilder et al. Oct 2008 A1
20080250246 Arditti et al. Oct 2008 A1
20090037308 Feinstein Feb 2009 A1
20090070257 Csoka Mar 2009 A1
20090157555 Biffle et al. Jun 2009 A1
20090222900 Benaloh et al. Sep 2009 A1
20090228779 Williamson et al. Sep 2009 A1
20090245521 Vembu Oct 2009 A1
20090271847 Karjala et al. Oct 2009 A1
20090328177 Frey et al. Dec 2009 A1
20100027552 Hill Feb 2010 A1
20100043054 Kidwell Feb 2010 A1
20100049850 Nanduri et al. Feb 2010 A1
20100169072 Zaki et al. Jul 2010 A1
20100185868 Grecia Jul 2010 A1
20100223160 Brown Sep 2010 A1
20100235882 Moore Sep 2010 A1
20100313255 Khuda Dec 2010 A1
20100325710 Etchegoyen Dec 2010 A1
20110055079 Meaney et al. Mar 2011 A1
20110196790 Milne Aug 2011 A1
20110238550 Reich et al. Sep 2011 A1
20110247060 Whitmyer, Jr. Oct 2011 A1
20110295731 Waldron, III et al. Dec 2011 A1
20120059706 Goenka et al. Mar 2012 A1
20120116880 Patel et al. May 2012 A1
20120129503 Lindeman et al. May 2012 A1
20120191603 Nuzzi Jul 2012 A1
20120209775 Milne Aug 2012 A1
20120215688 Musser et al. Aug 2012 A1
20120233212 Newton et al. Sep 2012 A1
20120246073 Gore et al. Sep 2012 A1
20120253876 Hersch Oct 2012 A1
20120278201 Milne Nov 2012 A1
20120281058 Laney et al. Nov 2012 A1
20120284175 Wilson et al. Nov 2012 A1
20120323717 Kirsch Dec 2012 A1
20130019297 Lawson et al. Jan 2013 A1
20130041736 Coppinger Feb 2013 A1
20130041739 Coppinger Feb 2013 A1
20130041744 Coppinger Feb 2013 A1
20130046599 Coppinger Feb 2013 A1
20130097685 Kennedy et al. Apr 2013 A1
20130125223 Sorotokin et al. May 2013 A1
20130174015 Jeff L. Jul 2013 A1
20130191526 Zhao Jul 2013 A1
20130232006 Holcomb et al. Sep 2013 A1
20130232159 Daya et al. Sep 2013 A1
20130247005 Hirsch et al. Sep 2013 A1
20130282577 Milne Oct 2013 A1
20130318592 Grier, Sr. et al. Nov 2013 A1
20140032414 Beisner et al. Jan 2014 A1
20140040148 Ozvat et al. Feb 2014 A1
20140044123 Lawson et al. Feb 2014 A1
20140067499 Stepanovich Mar 2014 A1
20140150072 Castro et al. May 2014 A1
20140165156 Fushman et al. Jun 2014 A1
20140173695 Valdivia Jun 2014 A1
20140180962 Fiala et al. Jun 2014 A1
20140189002 Orioli et al. Jul 2014 A1
20140189808 Mahaffey et al. Jul 2014 A1
20140189828 Baghdasaryan et al. Jul 2014 A1
20140208389 Kelley Jul 2014 A1
20140215551 Allain et al. Jul 2014 A1
20140229462 Lo Aug 2014 A1
20140236716 Shapiro Aug 2014 A1
20140245411 Meng et al. Aug 2014 A1
20140258063 Chourasia et al. Sep 2014 A1
20140280555 Tapia et al. Sep 2014 A1
20140344141 Cook Nov 2014 A1
20140358704 Banerjee et al. Dec 2014 A1
20140365350 Shvarts Dec 2014 A1
20150026024 Calman et al. Jan 2015 A1
20150046338 Laxminarayanan et al. Feb 2015 A1
20150066719 Agrawal et al. Mar 2015 A1
20150066765 Banks et al. Mar 2015 A1
20150088707 Drury et al. Mar 2015 A1
20150088732 DeVan, Jr. et al. Mar 2015 A1
20150113511 Poulin Apr 2015 A1
20150161608 Gilbert Jun 2015 A1
20150193871 Murphy Jul 2015 A1
20150254672 Huesch et al. Sep 2015 A1
20150281225 Schoen et al. Oct 2015 A1
20150310562 Chourasia et al. Oct 2015 A1
20150339664 Wong et al. Nov 2015 A1
20150365399 Biswas et al. Dec 2015 A1
20160063657 Chen et al. Mar 2016 A1
20170118301 Kouru et al. Apr 2017 A1
20170132633 Whitehouse May 2017 A1
20170148021 Goldstein et al. May 2017 A1
20170193112 Desineni Jul 2017 A1
20170193486 Parekh Jul 2017 A1
20170200137 Vilmont Jul 2017 A1
20170200234 Morse Jul 2017 A1
20170262840 Dunwoody Sep 2017 A1
20170300960 Khvostov et al. Oct 2017 A1
20170301013 Alejo et al. Oct 2017 A1
20170308902 Quiroga et al. Oct 2017 A1
20180060927 Gupta Mar 2018 A1
20180157851 Sgambati et al. Jun 2018 A1
20180191685 Bajoria Jul 2018 A1
20180196694 Banerjee et al. Jul 2018 A1
20180232734 Smets et al. Aug 2018 A1
20180246943 Avagyan et al. Aug 2018 A1
20180267847 Smith et al. Sep 2018 A1
20180267874 Keremane et al. Sep 2018 A1
20180330342 Prakash et al. Nov 2018 A1
20180349909 Allen et al. Dec 2018 A1
20180367428 Di Pietro et al. Dec 2018 A1
20190075115 Anderson et al. Mar 2019 A1
20190180364 Chong et al. Jun 2019 A1
20190333159 Chourasia et al. Oct 2019 A1
20190354544 Hertz et al. Nov 2019 A1
20200110585 Perry Apr 2020 A1
20200201878 Putnam et al. Jun 2020 A1
20200234376 Lord et al. Jul 2020 A1
20210004439 Xiong et al. Jan 2021 A1
20210165960 Eisenschlos et al. Jun 2021 A1
20210217016 Putman Jul 2021 A1
20210233162 Hockey et al. Jul 2021 A1
20210281558 Hockey et al. Sep 2021 A1
20210288956 Hockey et al. Sep 2021 A1
20210350340 Lai et al. Nov 2021 A1
20220217147 Pate et al. Jul 2022 A1
20220229980 Jin et al. Jul 2022 A1
Foreign Referenced Citations (15)
Number Date Country
0 848 336 Jun 1998 EP
0 848 338 Jun 1998 EP
0 848 339 Jun 1998 EP
2 747 374 Jun 2014 EP
3 347 846 Jul 2018 EP
WO 9638795 Dec 1996 WO
WO 9710542 Mar 1997 WO
WO 9709682 May 1997 WO
WO 9726612 Jul 1997 WO
WO 9737314 Oct 1997 WO
WO 9814896 Apr 1998 WO
WO 0025227 May 2000 WO
WO 2017044479 Mar 2017 WO
WO 2017173021 Oct 2017 WO
WO 2022082186 Apr 2022 WO
Non-Patent Literature Citations (72)
Entry
Adam et al., “Backend Server System Design Based on REST API for Cashless Payment System on Retail Community”, International Electronics Symposium (IES), Sep. 2019, pp. 208-213.
U.S. Appl. No. 14/719,110, System and Method for Programmatically Accessing Financial Data, filed May 21, 2015.
U.S. Appl. No. 17/302,630, System and Method for Programmatically Accessing Financial Data, filed May 7, 2021.
U.S. Appl. No. 14/719,117, System and Method for Facilitating Programmatic Verification of Transactions, filed May 21, 2015.
U.S. Appl. No. 17/533,728, System and Method for Facilitating Programmatic Verification of Transactions, filed Nov. 23, 2021.
U.S. Appl. No. 17/303,432, Secure Permissioning of Access to User Accounts, Including Secure Deauthorization of Access to User Accounts, filed May 28, 2021.
U.S. Appl. No. 17/126,673, Secure Permissioning of Access to User Accounts, Including Secure Deauthorization of Access to User Accounts, filed Dec. 18, 2020.
U.S. Appl. No. 16/900,052, Parameter-Based Computer Evaluation of User Accounts Based on User Account Data Stored in One or More Databases, filed Jun. 12, 2020.
U.S. Appl. No. 17/230,835, Systems and Methods for Estimating Past and Prospective Attribute Values Associated with a User Account, filed Apr. 14, 2021.
U.S. Appl. No. 17/656,528, Secure Authorization of Access to User Accounts by One or More Authorization Mechanisms, filed Mar. 25, 2022.
U.S. Appl. No. 16/042,147, Browser-Based Aggregation, Jul. 23, 2018.
U.S. Appl. No. 17/103,267, Data Verified Deposits, filed Nov. 24, 2020.
U.S. Appl. No. 17/302,499, Secure Updating of Allocations to User Accounts, filed May 4, 2021.
U.S. Appl. No. 17/658,416, Systems and Methods for Data Parsing, filed Apr. 7, 2022.
“A Single Login Web Service Integrator—WebEntrance”, Yan Zhao, Sixth International World Wide Web Conference, Santa Clara, CA, Apr. 7-11, 1997, 10 pages.
“Automatic Notification of Web Sites Changes,” Google Groups, Aug. 30, 1995, 1 page.
“Boeing Chooses NetMind Enterprise Minder to Help Thousands of Employees Track Web-Based Information,” PR Newswire, Nov. 19, 1998, 3 pages.
“Caravelle's InfoWatcher 1.1 Keeps an Eye on the Web,” PC Week 1997, 2 pages.
“Cognisoft Announces IntelliServ, A Revolutionary Intranet Information Management Application; a Powerful Solution that Enables the Right Information to Find the Right User at the Right Time,” Business Wire, Aug. 14, 1996, 4 pages.
“FirstFloor and AirMedia Announce Partnership,” Business Wire 1997 (“FirstFloor”), 2 pages.
“Fujitsu Announces ‘WebAgent’ Application as part of ByeDesk Link Wireless Server Software,” Business Wire, Sep. 1, 1998, 3 pages.
“Fujitsu Announces Availability of ByeDesk Link for Alpha-Numeric Pagers; Next Step in Empowering Mobile Workforces with ‘Anyplace, Anytime’ Information,” Business Wire, Jul. 9, 1998, 3 pages.
“Fujitsu Picks NetMind for Wireless Web Agent Software,” Computergram International, Sep. 2, 1998, 1 page.
“Fujitsu's ByeDesk Link Now Available On the PalmPilot,” Business Wire, Sep. 21, 1998, 4 pages.
“GC Tech's GlobeID Payment Internet Commerce Software Supports Microsoft, Merchant Server,” Business Wire, Jan. 21, 1997, 3 pages.
“Highly Scalable On-Line Payments via Task Decoupling,” Financial Cryptography First International Conference, 1998, 2 pages.
“Minding Web Site Changes,” PC Week, Sep. 14, 1998, 3 pages.
“NetMind Accepts $7 Million Strategic Investment From Three Prominent VC Firms—BancBoston, Softbank and Draper Fisher Jurvestson,” PR Newswire, Nov. 6, 1998, 3 pages.
“NetMind Updates the World's Largest Free Web Tracking Service,” PR Newswire, Sep. 18, 1998, 4 pages.
“The AT&T Internet Difference Engine: Tracking and Viewing Changes on the Web,” World Wide Web 1 (1); Jan. 1998, pp. 1-29.
“Versatile Intelligent Agents in Commercial Applications,” Google Groups, Dec. 12, 1998, 9 pages.
“Web Interface Definition Language (WIDL)”, W3 Consortium submission from webMethods, Inc., Sep. 22, 1997, 15 pages.
A hierarchical approach to wrapper induction, Ion Muslea, Steve Minton, and Craig A. Knoblock. In Proceedings of the 3rd International Conference on Autonomous Agents 1999, Seattle, WA, 1999. May 1-5, 1999, 8 pages.
Building agents for internet-base supply chain integration, Craig A. Knoblock and Steven Minton. In Proceedings of the Workshop on Agents for Electronic Commerce and Managing the Internet-Enabled Supply Chain, Seattle, WA, 1999. May 1-5, 1999, 6 pages.
Chaulagain et al., “Cloud Based Web Scraping for Big Data Application.” IEEE International Conference on Smart Cloud, 2017, pp. 138-143.
Corena et al., “Secure and fast aggregation of financial data in cloud-based expense tracking applications.” Journal of Network and Systems Management 20.4 (2012): 534-560.
Devlin, J. et al., “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,” arXive, May 24, 2019, retrieved from the internet, URL: https://arxiv.org/pdf/1810.04805.pdf, 16 pages.
Hagel et al. “The Coming Battle for Customer Information.” Harvard Business Review, Jan.-Feb. 1997, reprint No. 97104, 20 pages.
Hummer, Waldemar, Philipp Leitner, and Schahram Dustdar. “Ws-aggregation: distributed of web services data.” Proceedings of the 2011 ACM Symposium on Applied Computing. ACM, 2011, 8 pages.
Intelligent caching for information mediators: A kr based approach, Naveen Ashish, Craig A. Knoblock, and Cyrus Shahabi. In Proceedings of the Workshop on Knowledge Representation meets Databases (KRDB), Seattle, WA, 1998. Presented May 1, 1998, 7 pages.
Jin, C., “How Plaid parses transaction data,” Oct. 22, 2020, retrieved from the internet, URL: https://plaid.com/blog/how-plaid-parsestransaction-data/, 10 pages.
Johner et al. “Sign On with IBM's Global Sign-On!” IBM manual, Nov. 1998. Part 1, in 184 pages.
Johner et al. “Sign On with IBM's Global Sign-On!” IBM manual, Nov. 1998. Part 2, pp. 166-307.
Kim, Young-Gon et al., ‘A Design of User Authentication System Using QR code Identifying Method’, 6th International Conference on Computer Sciences and Convergence Information Technology (ICCIT), pp. 31-35, 2011.
Kyeongwon C., et al., ‘A Mobile based Anti-Phishing Authentication Scheme using QR code’, IEEE International Conference on Mobile IT Convergence, pp. 109-113, 2011.
M. C. McChesney, “Banking in cyberspace: an investment in itself,” IEEE Spectrum, vol. 34, No. 2, Feb. 1997, pp. 54-59.
Mancini et al., “Simulation in the Cloud Using Handheld Devices,” Workshop on Modeling and Simulation on Grid and Cloud Computing, Apr. 25, 2012, 8 pages.
Modeling web sources for information integration, Craig A. Knoblock, Steven Minton, Jose Luis Ambite, Naveen Ashish, Pragnesh Jay Modi, Ion Muslea, Andrew G. Philpot, and Sheila Tejada. In Proceedings of the Fifteenth National Conference on Artificial Intelligence, Madison, WI, 1998. Jul. 26-30, 1998, 9 pages.
Mohammed et al. A Multi-layer of Multi Factors Authentication Model for Online Banking Services, Oct. 15, 2013, 2013 International Conference on Computing, Electrical and Electronic Engineering (ICCEEE), pp. 220-224.
Neville, S.W. et al. Efficiently Archieving Full Three-Way Non-repudiation in Consumer-level eCommerce and M-Commerce Transactions, Nov. 1, 2011, 2011 IEEE 10th International Conference on Trust, Security and Privacy in Computing and Communications, pp. 664-672.
Optimizing Information Agents by Selectively Materializing Data, Naveen Ashish, Craig A. Knoblock, and Cyrus Shahabi. In Proceedings of the AAAI'98 Workshop on AI and Information Integration, Madison, WI, 1998. Jul. 26-30, 1998, 6 pages.
O'Riain et al., “XBRL and open data for global financial ecosystems: A linked data approach.” International Journal of Accounting Information Systems 13.2 (2012): 141-162.
Quwaider et al., “Experimental Framework for Mobile Cloud Computing System”, Jordan University of Science and Technology, Procedia Computer Science 52, 2015, pp. 1147-1152.
Semi-automatic wrapper generation for Internet information sources, Naveen Ashish and Craig A. Knoblock. In Proceedings of the Second IFCIS International Conference on Cooperative Information Systems, Kiawah Island, SC, 1997. Jun. 24-27, 1997, 10 pages.
Sunwoo et al., “A Structured Approach to the Simulation, Analysis and Characterization of Smartphone Applications”, IEEE 2013, pp. 113-122.
The ariadne approach to web-based information integration, Craig A. Knoblock and Steven Minton. IEEE Intelligent Systems, 13(5), Sep./Oct. 1998, 4 pages.
Wrapper generation for semi-structured Internet sources, Naveen Ashish and Craig A. Knoblock. In Proceedings of the Workshop on Management of Semistructured Data, Tucson, AZ, 1997. May 13-15, 1997, 8 pages.
Wrapper induction for semistructured, web-based information sources, Ion Muslea, Steven Minton, and Craig A. Knoblock. In Proceedings of the Conference on Automated Learning and Discovery Workshop on Learning from Text and the Web, Pittsburgh, PA, 1998. Jun. 11-13, 1998, 6 pages.
Y. Zhao, “WebEntree: A Web Service Aggregator”, IBM Systems Journal, vol. 37, No. 4, 1998, pp. 584-595.
Examination Report in CA Application No. 2997115, dated Jun. 20, 2019,4 pages.
Examination Report in CA Application No. 2997115, dated Nov. 13, 2019, 8 pages.
Examination Report in CA Application No. 2997115 dated Apr. 2, 2020, 5 pages.
Examination Report in CA Application No. 2997115 dated Nov. 2, 2020, 3 pages.
Examination Report in CA Application No. 3119897 dated Jul. 30, 2021, 6 pages.
Supplementary European Search Report in EP Application No. 16844973.4, dated Jan. 4, 2019, 2 pages.
Examination Report in EP Application No. 16844973.4 dated Nov. 4, 2020, 6 pages.
Examination Report in AU Application No. 2016321166 dated Dec. 7, 2020, 5 pages.
International Search Report in PCT Application No. PCT/US2016/050536, dated Dec. 15, 2016, 8 pages.
International Search Report and Written Opinion in PCT Application No. PCT/US2021/030808, dated Jun. 21, 2021, 11 pages.
International Search Report and Written Opinion in PCT Application No. PCT/US2021/071851, dated Dec. 13, 2021, 10 pages.
Chard et al., “Efficient and Secure Transfer, Synchronization, and Sharing of Big Data”, IEEE Cloud Computing, 2014, vol. 1, Issue 3, pp. 46-55.
European Search Report in EP Application No. 21215799.4 dated Mar. 25, 2022, 8 pages.
Related Publications (1)
Number Date Country
20220327141 A1 Oct 2022 US
Provisional Applications (1)
Number Date Country
62535859 Jul 2017 US
Continuations (1)
Number Date Country
Parent 16042147 Jul 2018 US
Child 17842444 US