DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This is a Final Office Action in response to application 17/201,926 entitled "ANALYSIS OF DATA STREAMS CONSUMED BY HIGH-THROUGHPUT DATA INGESTION AND PARTITIONED ACROSS PERMISSIONED DATABASE STORAGE" filed on January 16, 2025, with claims 1 to 20 pending.
Status of Claims
Claim 1 has been amended and is hereby entered.
Claims 1-20 are pending and have been examined.
Response to Amendment
The amendment filed January 16, 2025, has been entered. Claims 1-20 remain pending in the application. Applicant’s amendments to the Specification, Drawings, and/or Claims have been noted in response to the Non-Final Office Action mailed September 9, 2024.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on April 2, 2021, is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the Examiner.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Please see MPEP 2106 for additional information regarding Patent Subject Matter Eligibility Guidance.
Claims 1-20 are directed to a system, method/process, machine/apparatus, or composition of matter, which are/is one of the statutory categories of invention. (Step 1: YES).
The claimed invention is directed to an abstract idea without significantly more.
Independent Claim 1 recites:
“…a system comprising:
…assigned to a plurality of client accounts such that each of the plurality of client accounts comprises dedicated processing resources;
…is stored across a plurality of ledger instances, wherein each of the plurality of ledger instances is dedicated to one client account of the plurality of client accounts such that a first ledger instance dedicated to a first client account is independent of a second ledger instance dedicated to a second client account, wherein the first ledger instance stores only data associated with the first client account, wherein the second ledger instance stores only data associated with the second client account, wherein data entries stored on the shared permissioned ledger are immutable, and wherein …is not distributed across…;
…wherein …to reduce latency in data analysis by automatically scaling and load-balancing processing resources on the execution platform independently from storage resources …
a data ingestion engine comprising a first portion …that are configured to execute instructions for ingesting data to be stored …wherein each of the first portion of the plurality of processing nodes is in communication with a load balancer that executes…for automatic scaling and load balancing when ingesting the data to be stored …
and a netting module comprising a second portion of the plurality of processing nodes that are configured to execute instructions for calculating real-time liquidity and obligations between the plurality of client accounts;
wherein each of the first portion of the plurality of processing nodes feeds data from an assigned data stream event channel to an assigned node-specific normalizer configured to normalize the data to a canonical format that is readable …
wherein each of the second portion of the plurality of processing nodes is dedicated to only one of the plurality of client accounts and configured to identify one or more trades to be included in a netting group based on the normalized data, and wherein the netting group comprises netting clients comprising three or more of the plurality of client accounts;
wherein the second portion of the plurality of processing nodes execute instructions for calculating multilateral netting for the netting clients based on real-time liquidity and obligations between each of the netting clients as determined based on data stored….”
These limitations clearly relate to managing transactions/interactions between counterparties. These limitations, under their broadest reasonable interpretation, cover performance of the limitation as certain methods of organizing human activity. Specific instances include instructions “calculating real-time liquidity and obligations between the plurality of client accounts” and “calculating multilateral netting for the netting clients based on real-time liquidity and obligations between each of the netting clients” recites a fundamental economic principles or practice and/or commercial or legal interactions. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation as a fundamental economic, commercial, or financial action, principle, or practice then it falls within the “Certain Methods of Organizing Human Activity” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. (Step 2A-Prong 1: YES. The claims recite an abstract idea).
This judicial exception is not integrated into a practical application. In particular, the claims recite the additional elements of:
[an execution platform comprising a plurality of processing nodes] [a database] [the database] [a cloud computing processor that manages the execution platform and the database][the cloud computing processor executes instructions] [of the plurality of processing nodes] [on the database][by the cloud computing processor] [a stateless Application Program Interface (API)]:
merely applying computer processing, storage, and networking technology as tools to perform an abstract idea
[comprising a shared permissioned ledger, wherein the shared permissioned ledger] [on the shared permissioned ledger];[on the shared permissioned ledger]:
merely applying distributed ledger technology as a tool to perform an abstract idea
[a blockchain network]:
generally linking to blockchain technology as a tool to perform an abstract idea
are recited at a high-level of generality (i.e., as a generic processor performing a generic computer function) such that it amounts no more than mere instructions to apply the exception using a generic computer components and/or electronic processes. For example, the Applicant’s Specification reads:
[0310] Computing device 3500 may be used to perform various procedures, such as those discussed herein. Computing device 3500 can function as a server, a client, a client node, a resource manager, or any other computing entity. Computing device 3500 can be any of a wide variety of computing devices, such as a workstation, a desktop computer, a notebook computer, a server computer, a handheld computer, a tablet, a smartphone, and the like.”
[0105] shared permissioned ledger 110 is a database including a plurality of client ledger instances 112, such as client ledger instances … the shared permissioned ledger 110 is stored across a plurality of storage hardware in a cloud-based database system in communication with a network.
[0376] Such computer-readable media can be any available media
[0377] Computer storage media (devices) includes RAM, ROM, EEPROM, CD-ROM, solid state drives (“SSDs”) ...other types of memory, other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium
[0380] disclosure may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers,...routers, switches, various storage devices, and the like.
[0381] functions described herein can be performed in one or more of: hardware, software, firmware, digital components, or analog components.
[0383] comprising such logic (e.g., in the form of software) stored on any computer useable medium.
[0384] Many modifications and variations are possible in light of the disclosed teaching. Further, it should be noted that any or all of the alternate implementations discussed herein may be used in any combination desired
Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. The additional elements merely add instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea, see MPEP 2106.05(f). Accordingly, these additional elements, when considered separately and as an ordered combination, do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea and are at a high level of generality. Therefore, Claim 1 is directed to an abstract idea without a practical application. (Step 2A-Prong 2: NO. The additional claimed elements are not integrated into a practical application)
Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. The additional elements merely add instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea, see MPEP 2106.05(f). Accordingly, the additional elements, do not change the outcome of the analysis, when considered separately and as an ordered combination. The claim further defines the abstract idea and hence is abstract for the reasons presented above. The claim does not include any additional elements that integrate the abstract idea into a practical application or are sufficient to amount to significantly more than the judicial exception when considered both individually and as an ordered combination. Therefore, the claim is directed to an abstract idea. Thus, the claim is not patent eligible. (Step 2B: NO. The claim does not provide significantly more)
Dependent Claims recite additional elements.
This judicial exception is not integrated into a practical application. In particular, the recited additional elements of
Claims 2-4:
“processing node”: merely applying computer processing, networking, and display technologies as a tool to perform an abstract idea
“shared permissioned ledger … ledger instance”:
merely applying distributed ledger technology as a tool to perform an abstract idea
Claim 5:
“processing node”: merely applying computer processing, networking, and display technologies as a tool to perform an abstract idea
Claim 6:
“shared permissioned ledger”:
merely applying distributed ledger technology as a tool to perform an abstract idea
Claim 7: (none found: does not include additional elements and merely narrows the abstract idea)
Claim 8:
“shared permissioned ledger”:
merely applying distributed ledger technology as a tool to perform an abstract idea
Claims 9-12: (none found: does not include additional elements and merely narrows the abstract idea)
Claim 13:
“processing node”: merely applying computer processing, networking, and display technologies as a tool to perform an abstract idea
Claim 14: (none found: does not include additional elements and merely narrows the abstract idea)
Claim 15:
“processing node”: merely applying computer processing, networking, and display technologies as a tool to perform an abstract idea
Claim 16: (none found: does not include additional elements and merely narrows the abstract idea)
Claim 17:
“stored on the ledger”:
merely applying distributed ledger technology as a tool to perform an abstract idea
Claim 18: (none found: does not include additional elements and merely narrows the abstract idea)
Claim 19:
“between two ledgers”:
merely applying distributed ledger technology as a tool to perform an abstract idea
Claim 20: (none found: does not include additional elements and merely narrows the abstract idea)
are recited at a high-level of generality (i.e., as a generic processor performing a generic computer function) such that it amounts no more than mere instructions to apply the exception using a generic computer components and/or electronic processes. For example, the Applicant’s Specification reads, “[0310] Computing device 3500 may be used to perform various procedures, such as those discussed herein. Computing device 3500 can function as a server, a client, a client node, a resource manager, or any other computing entity. Computing device 3500 can be any of a wide variety of computing devices, such as a workstation, a desktop computer, a notebook computer, a server computer, a handheld computer, a tablet, a smartphone, and the like.” and “[0105] shared permissioned ledger 110 is a database including a plurality of client ledger instances 112, such as client ledger instances … the shared permissioned ledger 110 is stored across a plurality of storage hardware in a cloud-based database system in communication with a network.” Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. The additional elements merely add instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea, see MPEP 2106.05(f). Accordingly, these additional elements, when considered separately and as an ordered combination, do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea and are at a high level of generality. Therefore, the claim is directed to an abstract idea without a practical application. (Step 2A-Prong 2: NO. The additional claimed elements are not integrated into a practical application)
Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. The additional elements merely add instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea, see MPEP 2106.05(f). For example, the Applicant’s Specification reads, “[0310] Computing device 3500 may be used to perform various procedures, such as those discussed herein. Computing device 3500 can function as a server, a client, a client node, a resource manager, or any other computing entity. Computing device 3500 can be any of a wide variety of computing devices, such as a workstation, a desktop computer, a notebook computer, a server computer, a handheld computer, a tablet, a smartphone, and the like.” Accordingly, these additional elements, do not change the outcome of the analysis, when considered separately and as an ordered combination. Dependent claims further define the abstract idea that is present in their respective independent claims and hence are abstract for the reasons presented above. The dependent claims do not include any additional elements that integrate the abstract idea into a practical application or are sufficient to amount to significantly more than the judicial exception when considered both individually and as an ordered combination. Therefore, the dependent claims are directed to an abstract idea. Thus, the claims are not patent eligible. (Step 2B: NO. The claims do not provide significantly more)
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-3 are rejected under 35 U.S.C. 103 as being unpatentable over Pierce ("DATA PAYMENT AND AUTHENTICATION VIA A SHARED DATA STRUCTURE", U.S. Publication Number: 20170352116 A1),in view of Creighton (“REAL-TIME SETTLEMENT OF SECURITIES TRADES OVER APPEND-ONLY LEDGERS”, U.S. Publication Number: 20160321751 A1).
Regarding Claim 1,
Pierce teaches,
a system comprising: an execution platform comprising a plurality of processing nodes assigned to a plurality of client accounts such that each of the plurality of client accounts comprises dedicated processing resources;
(Pierce [0214] The exemplary computer devices 116 and 118 may communicate with each other and with other computer and other devices which are coupled
Pierce [0142] Ledgers typically utilize double-entry book keeping whereby separate ledger entries, or separate ledgers, are maintained for each side (account/party) to a transaction and transactions are recorded as a pair of opposing transactions, e.g. credits vs. debits, to each respective account/party,... in separate ledgers, each maintained by the respective party
Pierce [0230] dedicated or otherwise specifically configured hardware implementations... hardware devices, can be constructed to implement one or more of the methods described herein.)
a database comprising a shared permissioned ledger, wherein the shared permissioned ledger is stored across a plurality of ledger instances, wherein each of the plurality of ledger instances is dedicated to one client account of the plurality of client accounts
(Pierce [0145] A database is a structured collection of information or content, typically held in a computer, e.g. stored in a memory or other storage device that can be readily accessed, managed and updated, for storing the current value or net/cumulative result of a series of transactions.
Pierce [0122] the distributed electronic ledger may be a permissioned ledger.
Pierce [0132] interacting with a shared data structure
Pierce [0142] whereby separate ledger entries, or separate ledgers, are maintained for each side (account/party) to a transaction and transactions are recorded as a pair of opposing transactions, e.g. credits vs. debits, to each respective account/party, either in the same ledger or in separate ledgers, each maintained by the respective party
Pierce [0142] separate ledgers
Pierce [0144] replicated ledgers of blockchain)
such that a first ledger instance dedicated to a first client account is independent of a second ledger instance dedicated to a second client account,
(Pierce [0142] Ledgers typically utilize double-entry book keeping whereby ...separate ledgers, are maintained for each side (account/party) to a transaction and transactions are recorded as a pair of opposing transactions, e.g. credits vs. debits, to each respective account/party.... in separate ledgers, each maintained by the respective party.
Pierce [0142] separate ledgers
Pierce [0144] replicated ledgers of blockchain)
and wherein the database is not distributed across a blockchain network;
(Pierce [0152] Many business applications rely upon centralized databases/DBMS's, i.e. a database under the control of single or central entity, which, because they do not feature the replicated structure of blockchain or the cryptographic chaining of transactions, are typically implemented as a System of Record.
Pierce [0145] As used herein, a database refers not only to the underlying data structure(s) which are used to actually contain data but also the mechanisms coupled therewith to enable access, management, updating, etc. Together, this may also be referred to as a database management system (“DBMS”).)
a cloud computing processor that manages the execution platform
(Pierce [0038] as a distributed system, e.g., where some of the disclosed functions are performed by the computer systems of the market participants.
Pierce [0238] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network.)
and the database,
(Pierce [0152] Many business applications rely upon centralized databases/DBMS's, i.e. a database)
wherein the cloud computing processor executes instructions
(Pierce [0038] as a distributed system, e.g., where some of the disclosed functions are performed by the computer systems of the market participants.
Pierce [0238] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network.)
a data ingestion engine comprising a first portion of the plurality of processing nodes that are configured to execute instructions for ingesting data to be stored on the database,
(Pierce [0100] to data dissemination via electronic messages and data feeds, ..., e.g., market data feeds.
Pierce [0102] As used herein, the terms “data feed” and “data stream” may refer to a sequentially or serially communicated set of related data/data messages, each of which may be transmitted/communicated, automatically or responsive to a request therefore, to a recipient in real time or a substantial approximation thereof
Pierce [Claim 1] receiving,...a plurality of electronic data
Pierce [0026] database 108 may be included to store information
Pierce [0055] data relating to the received transaction is stored. The data may be stored in any device)
that executes a stateless Application Program Interface (API)
(Pierce [0239] using an open message standard implementation, such as FIX, FIX Binary, FIX/FAST, or by an exchange-provided API)
when ingesting the data to be stored on the database;
(Pierce [0100] to data dissemination via electronic messages and data feeds, ..., e.g., market data feeds.
Pierce [0102] As used herein, the terms “data feed” and “data stream” may refer to a sequentially or serially communicated set of related data/data messages, each of which may be transmitted/communicated, automatically or responsive to a request therefore, to a recipient in real time or a substantial approximation thereof
Pierce [Claim 1] receiving,...a plurality of electronic data
Pierce [0026] database 108 may be included to store information
Pierce [0055] data relating to the received transaction is stored. The data may be stored in any device)
and a netting module
(Pierce [0142] the current “state” of a ledger may be ascertained by netting or otherwise totaling all of the entries up to the current time period...The net result of these two entries is the extinguishing of the debt of B to A.
Pierce [0145] a memory or other storage device that can be readily accessed, managed and updated, for storing the current value or net/cumulative result of a series of transactions... a database typically records only the net result of the performance of those transactions.
Pierce [0156] The business logic/business rules may further define, where the proposed value differs from the recalculated value, an acceptable range by which those values may differ)
comprising a second portion of the plurality of processing nodes that are configured to execute instructions
(Pierce [0179] may be implemented with computer devices and computer networks
Pierce [0208] and executable by the processor 602 to cause the processor)
for calculating real-time liquidity and obligations between the plurality of client accounts;
(Pierce [0162] such reconciliation may be referred to as real time or self-reconciliation or that the data structure is real time or self-reconciling, immediately reconciled, reconciled in real time or inherently reconciled
Pierce [0065] An MQI may be considered a value indicating a likelihood that a particular order will improve or facilitate liquidity in a market.... an indication of a particular market participant's effect on market liquidity. For example, a Market Quality Index (“MQI”) of an order may be determined using the characteristics. An MQI may be considered a value indicating a likelihood that a particular order will improve or facilitate liquidity in a market
Pierce [0019] settling trading accounts)
wherein each of the first portion of the plurality of processing nodes feeds data from an assigned data stream event channel to an assigned node-specific
(Pierce [0179] may be implemented with computer devices and computer networks
Pierce [0208] and executable by the processor 602 to cause the processor
Pierce [0100] to data dissemination via electronic messages and data feeds, ..., e.g., market data feeds.
Pierce [0102] As used herein, the terms “data feed” and “data stream” may refer to a sequentially or serially communicated set of related data/data messages, each of which may be transmitted/communicated, automatically or responsive to a request therefore, to a recipient in real time or a substantial approximation thereof
Pierce [Claim 1] receiving,...a plurality of electronic data
Pierce [0012] data entitlement system provides data stream generation, flow, control and permissioning
Pierce [0013] based on the permission and access level granted to each entity.)
normalizer configured to normalize the data
(Pierce [0106] Examples of the various types of market data feeds ... to provide such information in different formats
Pierce [0108] An MBP feed may utilize different message formats for conveying different types of market impacting events...MBP feeds may further batch reporting of multiple events, i.e., report the result of multiple market impacting events in a single message.
Pierce [0112] Market data is configured and formatted so that an end user of the market data, e.g., a trader, requires one...software packages...to view and consume the market data.
Pierce [0146] the information is organized in a structured manner, i.e. using a particular format, protocol or structure for organizing and storing the data therein, and the information may be accessed, or edited via transactions, i.e. single database operations, according to a particular set of principles)
to a canonical format that is readable
(Pierce [0146] Usually, the information is organized in a structured manner, i.e. using a particular format, protocol or structure for organizing and storing the data therein, and the information may be accessed, or edited via transactions, i.e. single database operations, according to a particular set of principles)
by the cloud computing processor;
(Pierce [0038] as a distributed system, e.g., where some of the disclosed functions are performed by the computer systems of the market participants.
Pierce [0238] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network.)
wherein each of the second portion of the plurality of processing nodes is dedicated to only one of the plurality of client accounts
(Pierce [0179] computer devices
Pierce [0129] shows nodes
Pierce [0142] separate ledgers, are maintained for each side (account/party) to a transaction and transactions are recorded as a pair of opposing transactions, e.g. credits vs. debits, to each respective account/party, ... in separate ledgers, each maintained by the respective party.
Pierce [0143] Ledgers may be held by individual parties)
and configured to identify one or more trades to be included in a netting group based on the normalized data,
(Pierce [0166] executes trades on behalf of the traders
Pierce [0025] includes information identifying traders and other users of exchange computer system 100, such as account numbers or identifiers, user names )
and wherein the netting group comprises netting clients comprising three or more of the plurality of client accounts;
(Pierce [0142] the current “state” of a ledger may be ascertained by netting or otherwise totaling all of the entries up to the current time period...The net result of these two entries is the extinguishing of the debt of B to A.
Pierce [0142] separate ledgers, are maintained for each side (account/party) to a transaction and transactions are recorded as a pair of opposing transactions, e.g. credits vs. debits, to each respective account/party, ... in separate ledgers, each maintained by the respective party.
Pierce [0143] Ledgers may be held by individual parties
Pierce [0129] nodes 708, 710, 712, 714, and 716
Pierce [0025] includes information identifying traders and other users of exchange computer system 100, such as account numbers)
wherein the second portion of the plurality of processing nodes execute instructions for calculating multilateral netting for the netting clients
(Pierce [0142] the current “state” of a ledger may be ascertained by netting or otherwise totaling all of the entries up to the current time period...The net result of these two entries is the extinguishing of the debt of B to A.
Pierce [0145] a memory or other storage device that can be readily accessed, managed and updated, for storing the current value or net/cumulative result of a series of transactions... a database typically records only the net result of the performance of those transactions.
Pierce [0156] The business logic/business rules may further define, where the proposed value differs from the recalculated value, an acceptable range by which those values may differ.
Pierce [Abstract] flow, control and permissioning between multiple entities
Pierce [0001] data is often subscribed to, provided and consumed in a non-linear, multilateral fashion)
based on real-time liquidity
(Pierce [0162] such reconciliation may be referred to as real time or self-reconciliation or that the data structure is real time or self-reconciling, immediately reconciled, reconciled in real time or inherently reconciled
Pierce [0065] An MQI may be considered a value indicating a likelihood that a particular order will improve or facilitate liquidity in a market)
and obligations between each of the netting clients as determined
(Pierce [0142] A ledger may be a collection of entries (obligations, assertions, debts, credits, etc.)
Pierce [0133] transaction between two participants in which the first party undertakes an obligation to the second party)
based on data stored on the shared permissioned ledger.
(Pierce [0042] The net result of these two entries is the extinguishing of the debt of B to A. Ledgers typically utilize double-entry book keeping whereby separate ledger entries, or separate ledgers, are maintained for each side (account/party) to a transaction
Pierce [0145] a memory or other storage device that can be readily accessed, managed and updated, for storing the current value or net/cumulative result of a series of transactions... a database typically records only the net result of the performance of those transactions.
Pierce [0156] The business logic/business rules may further define, where the proposed value differs from the recalculated value, an acceptable range by which those values may differ.
Pierce [Abstract] flow, control and permissioning between multiple entities)
Pierce does not teach wherein the first ledger instance stores only data associated with the first client account, wherein the second ledger instance stores only data associated with the second client account, wherein data entries stored on the shared permissioned ledger are immutable; to reduce latency
in data analysis by automatically scaling and load-balancing processing resources on the execution platform independently from storage resources on the shared permissioned ledger; wherein each of the first portion of the plurality of processing nodes is in communication with a load balancer ...for automatic scaling and load balancing.
Creighton teaches,
wherein the first ledger instance stores only data associated with the first client account, wherein the second ledger instance stores only data associated with the second client account, wherein data entries stored on the shared permissioned ledger are immutable;
(Creighton [0042] Using a primary ledger, the system 512 is able to create an unlimited number of side ledgers, or secondary and tertiary ledgers which contain only a subset of the global trade orders.
Creighton [0049] The system 600 further include additional ledgers including secondary ledgers 604a-b which correspond to custodians 606a-b....Secondary ledgers 604a-b contain an incomplete history of transactions. The secondary ledgers 604a-b include only those transactions corresponding to securities held by the associated custodian 604a/606a and 604b/606b. The system 600 further includes tertiary ledgers 608a-d which are include only transactions for securities controlled by traders 610a-d.
Creighton [0032] For purposes of the disclosure, the terms “immutable” or “append-only” with reference to ledgers mean that once data has been entered into the ledger, that data is not changed.)
to reduce latency
(Creighton [0077] The instructions are encrypted and hashed to reduce latency.
Creighton [0086] transferring 40 character hashes is much faster and less demanding on latency.)
in data analysis by automatically scaling and load-balancing processing resources on the execution platform independently from storage resources on the shared permissioned ledger;
(Creighton [0059] Enough workers are spawned to handle the real-time load. For example, if it takes a worker one second to process a report completely, and 1000 reports are generated per second, at least 1000 workers are spawned to process jobs, or a backlog will occur. The system scales workers dynamically to handle larger loads during peak transaction volume times.
Creighton [0108] govern and/or manage permission to access/proxy data in a computer network
Creighton [Abstract] into a cryptographic ledger.)
wherein each of the first portion of the plurality of processing nodes is in communication with a load balancer ...for automatic scaling and load balancing
(Creighton [0031] The physical device is referred to a node in as much as the physical device is programmed to contribute to the network. The word “node” can additionally refer to the programming or software on the physical device that causes the device to know which other devices to communicate with and contribute with the network.
Creighton [0059] Enough workers are spawned to handle the real-time load. For example, if it takes a worker one second to process a report completely, and 1000 reports are generated per second, at least 1000 workers are spawned to process jobs, or a backlog will occur. The system scales workers dynamically to handle larger loads during peak transaction volume times.)
It is prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the data ingestion across permissioned ledgers of Pierce to incorporate the load-balancing and latency reduction of Creighton for “The instructions are encrypted and hashed to reduce latency.” (Creighton [0077]). The modification would have been obvious, because it is merely applying a known technique (i.e. segregated database in a multiple distributed ledger system) to a known concept (i.e. load-balancing and latency reduction) ready for improvement to yield predictable result (i.e. “The system scales workers dynamically to handle larger loads during peak transaction volume times.” Creighton [0059])
Regarding Claim 2,
Pierce and Creighton teach the data ingestion across permissioned ledgers of Claim 1 as described earlier.
Pierce teaches,
wherein the resource manager is coupled to the first client account and the second client account, and wherein: the execution platform
(Pierce [0142] Ledgers typically utilize double-entry book keeping whereby ...separate ledgers, are maintained for each side (account/party) to a transaction and transactions are recorded as a pair of opposing transactions, e.g. credits vs. debits, to each respective account/party.... in separate ledgers, each maintained by the respective party.
Pierce [0065] thus the system may use computing resources more efficiently by expending resources to match orders of the higher value messages prior to expending resources of lower value messages.
Pierce [0098] to the data transaction processing system over a data communication network
Pierce [0019] settling trading accounts
Pierce [0025] identifying traders and other users of exchange computer system 100, such as account numbers or identifiers, user names and passwords. An account data module 104 may be provided which may process account information that may be used during trades.)
comprises a first processing node assigned to the first client account and a second processing node assigned to the second client account;
(Pierce [0069] trading is advertised, to the market participants through electronic notifications/broadcasts
Pierce [0129] shows nodes...representative of participants
Pierce [0025] identifying traders and other users of exchange computer system 100, such as account numbers or identifiers, user names and passwords. An account data module 104 may be provided which may process account information that may be used during trades.)
the shared permissioned ledger comprises the first ledger … assigned to the first client account and the second ledger … assigned to the second client account;
(Pierce [0122] the distributed electronic ledger may be a permissioned ledger.
Pierce [0142] whereby separate ledger entries, or separate ledgers, are maintained for each side (account/party) to a transaction and transactions are recorded as a pair of opposing transactions, e.g. credits vs. debits, to each respective account/party, either in the same ledger or in separate ledgers, each maintained by the respective party.
Pierce [0143] Ledgers may be held by individual parties
Pierce [0034] It should be appreciated that concurrent processing limits may be defined by or imposed separately or in combination,...on one or more of the trading system components, including the user database 102, the account data module
Pierce [0142] Ledgers typically utilize double-entry book keeping whereby separate ledger entries, or separate ledgers, are maintained for each side (account/party))
of the data ingestion engine for consuming data pushed by the first client account, wherein the first instance of the data ingestion engine comprises one or more node-specific ingestors
(Pierce [0100] to data dissemination via electronic messages and data feeds, ..., e.g., market data feeds.
Pierce [0102] As used herein, the terms “data feed” and “data stream” may refer to a sequentially or serially communicated set of related data/data messages, each of which may be transmitted/communicated, automatically or responsive to a request therefore, to a recipient in real time or a substantial approximation thereof
Pierce [Claim 1] receiving,...a plurality of electronic data
Pierce [0034] It should be appreciated that concurrent processing limits may be defined by or imposed separately or in combination,...on one or more of the trading system components, including the user database 102, the account data module
Pierce [0142] Ledgers typically utilize double-entry book keeping whereby separate ledger entries, or separate ledgers, are maintained for each side (account/party))
and one or more node-specific normalizers each assigned to one data stream event channel pushed by the first client account; and the second processing node executes a second instance
(Pierce [0069] trading is advertised, to the market participants through electronic notifications/broadcasts
Pierce [0106] Examples of the various types of market data feeds ... to provide such information in different formats
Pierce [0108] An MBP feed may utilize different message formats for conveying different types of market impacting events...MBP feeds may further batch reporting of multiple events, i.e., report the result of multiple market impacting events in a single message.
Pierce [0112] Market data is configured and formatted so that an end user of the market data, e.g., a trader, requires one...software packages...to view and consume the market data.
Pierce [0146] the information is organized in a structured manner, i.e. using a particular format, protocol or structure for organizing and storing the data therein, and the information may be accessed, or edited via transactions, i.e. single database operations, according to a particular set of principles.
Pierce [0142] Ledgers typically utilize double-entry book keeping whereby separate ledger entries, or separate ledgers, are maintained for each side (account/party))
of the data ingestion engine for consuming data pushed by the second client account, wherein the second instance of the data ingestion engine comprises one or more node-specific ingestors
(Pierce [0100] to data dissemination via electronic messages and data feeds, ..., e.g., market data feeds.
Pierce [0102] As used herein, the terms “data feed” and “data stream” may refer to a sequentially or serially communicated set of related data/data messages, each of which may be transmitted/communicated, automatically or responsive to a request therefore, to a recipient in real time or a substantial approximation thereof
Pierce [Claim 1] receiving,...a plurality of electronic data
Pierce [0034] It should be appreciated that concurrent processing limits may be defined by or imposed separately or in combination,...on one or more of the trading system components, including the user database 102, the account data module
Pierce [0142] Ledgers typically utilize double-entry book keeping whereby separate ledger entries, or separate ledgers, are maintained for each side (account/party))
and one or more node-specific normalizers each assigned to one data stream event channel pushed by the second client account.
(Pierce [0069] trading is advertised, to the market participants through electronic notifications/broadcasts
Pierce [0106] Examples of the various types of market data feeds ... to provide such information in different formats
Pierce [0108] An MBP feed may utilize different message formats for conveying different types of market impacting events...MBP feeds may further batch reporting of multiple events, i.e., report the result of multiple market impacting events in a single message.
Pierce [0112] Market data is configured and formatted so that an end user of the market data, e.g., a trader, requires one...software packages...to view and consume the market data.
Pierce [0146] the information is organized in a structured manner, i.e. using a particular format, protocol or structure for organizing and storing the data therein, and the information may be accessed, or edited via transactions, i.e. single database operations, according to a particular set of principles.
Pierce [0142] Ledgers typically utilize double-entry book keeping whereby separate ledger entries, or separate ledgers, are maintained for each side (account/party))
Regarding Claim 3,
Pierce and Creighton teach the data ingestion across permissioned ledgers of Claim 2 as described earlier.
Pierce teaches,
wherein the resource manager scales the processing resources on the execution platform and the storage resources
(Pierce [0065] thus the system may use computing resources more efficiently by expending resources to match orders of the higher value messages prior to expending resources of lower value messages.
Pierce [0013] the disclosed data entitlement system may improve the fault tolerance of a data messaging system by replicating data across different locations simultaneously, or substantially or approximately simultaneously
Pierce [0222] The memory 204 may be an external storage device or database for storing data...memory 204 is operable to store instructions executable by the processor ...The functions, acts or tasks are independent of the particular type of instructions set, storage media, processor or processing strategy )
on the shared permissioned ledger …
(Pierce [0122] the distributed electronic ledger may be a permissioned ledger.
Pierce [0132] interacting with a shared data structure
Pierce [0142] whereby separate ledger entries, or separate ledgers, are maintained for each side (account/party) to a transaction and transactions are recorded as a pair of opposing transactions, e.g. credits vs. debits, to each respective account/party, either in the same ledger or in separate ledgers, each maintained by the respective party.)
to the first processing node, the second processing node, the first ledger instance, and the second ledger instance based on client need.
(Pierce [0122] the distributed electronic ledger may be a permissioned ledger.
Pierce [0142] whereby separate ledger entries, or separate ledgers, are maintained for each side (account/party) to a transaction and transactions are recorded as a pair of opposing transactions, e.g. credits vs. debits, to each respective account/party, either in the same ledger or in separate ledgers, each maintained by the respective party
Pierce [0142] separate ledgers
Pierce [0144] replicated ledgers of blockchain)
Pierce does not teach resource manager scales… up and down
Creighton teaches,
resource manager scales… up and down
(Creighton [0059] Enough workers are spawned to handle the real-time load. For example, if it takes a worker one second to process a report completely, and 1000 reports are generated per second, at least 1000 workers are spawned to process jobs, or a backlog will occur. The system scales workers dynamically to handle larger loads during peak transaction volume times.)
It is prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the data ingestion across permissioned ledgers of Pierce to incorporate the load-balancing and latency reduction of Creighton for “The instructions are encrypted and hashed to reduce latency.” (Creighton [0077]). The modification would have been obvious, because it is merely applying a known technique (i.e. segregated database in a multiple distributed ledger system) to a known concept (i.e. load-balancing and latency reduction) ready for improvement to yield predictable result (i.e. “The system scales workers dynamically to handle larger loads during peak transaction volume times.” Creighton [0059])
Claims 4-7 and 10-12 are rejected under 35 U.S.C. 103 as being unpatentable over Pierce and Creighton in view of Crouchman (“MANAGING APPLICATION PERFORMANCE IN VIRTUALIZATION SYSTEMS”, U.S. Patent Number: 9830192 B1).
Regarding Claim 4,
Pierce and Creighton teach the data ingestion across permissioned ledgers of Claim 2 as described earlier.
Pierce teaches,
the first ledger instance stores trade data only associated with the first client account; the second ledger instance stores trade data only associated with the second client account; the first processing node …on the second ledger instance; and the second processing node … on the first ledger ….
(Pierce [0012] In particular, the disclosed data entitlement system provides data stream generation, flow, control and permissioning
Pierce [0142] whereby separate ledger entries, or separate ledgers, are maintained for each side (account/party) to a transaction and transactions are recorded as a pair of opposing transactions, e.g. credits vs. debits, to each respective account/party, either in the same ledger or in separate ledgers, each maintained by the respective party
Pierce [0142] separate ledgers
Pierce [0144] replicated ledgers of blockchain.)
Pierce does not teach does not have read or write authorization;
Crouchman teaches,
does not have read or write authorization
(Crouchman [Col 3, Lines 20-23] Container systems provide an operating-system level virtualization in which the kernel of an operating system can allow for multiple isolated user space instances.
Crouchman [Col 3, Lines 37-42] The container system provides means to provision containers, allocate and control the resources available to a container, deploy and execute applications in the container, and facilitate full use of the container resources by such containerized applications, while isolating them from other applications
Crouchman [Col 27, Lines 25-27] regardless of type (such as authorizations of software use per user, per CPU, per server, or per container))
It is prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the data ingestion across permissioned ledgers of Pierce to incorporate the virtualization teachings of Crouchman for “assuring application performance by matching the supply of resources (e.g., application resources, VM resources, or physical resources) with the fluctuating demand placed on the application.” (Crouchman [Abstract]). The modification would have been obvious, because it is merely applying a known technique (i.e. virtualization) to a known concept (i.e. data ingestion across permissioned ledgers) ready for improvement to yield predictable result (i.e. “predict future resource requirements based on planning assumptions related to future application demand.” Crouchman [Abstract])
Regarding Claim 5,
Pierce, Creighton, and Crouchman teach the data ingestion across permissioned ledgers of Claim 4 as described earlier.
Pierce teaches,
wherein the one or more node-specific normalizers of the first processing node push normalized data to a first normalized data channel, and wherein the one or more node-specific normalizers of the second processing node push normalized data to a second normalized data channel,
(Pierce [0106] Examples of the various types of market data feeds ... to provide such information in different formats
Pierce [0108] An MBP feed may utilize different message formats for conveying different types of market impacting events...MBP feeds may further batch reporting of multiple events, i.e., report the result of multiple market impacting events in a single message.
Pierce [0146] the information is organized in a structured manner, i.e. using a particular format, protocol or structure for organizing and storing the data therein, and the information may be accessed, or edited via transactions, i.e. single database operations, according to a particular set of principles.
Pierce [0129] shows nodes...representative of participants
Pierce [0104] separate communications channel or feed.
Pierce [0101]messages may be communicated using packeting or other techniques operable to communicate information between systems and system components.)
and wherein: the first processing node executes a first instance of the netting module, wherein the first instance of the netting module reads the first normalized data channel; and the second processing node executes a second instance of the netting module, wherein the second instance of the netting module reads the second normalized data channel and
(Pierce [0142] whereby separate ledger entries, or separate ledgers, are maintained for each side (account/party) to a transaction and transactions are recorded as a pair of opposing transactions, e.g. credits vs. debits, to each respective account/party, either in the same ledger or in separate ledgers, each maintained by the respective party
Pierce [0042] the current “state” of a ledger may be ascertained by netting or otherwise totaling all of the entries up to the current time period...The net result of these two entries is the extinguishing of the debt of B to A.
Pierce [0145] a memory or other storage device that can be readily accessed, managed and updated, for storing the current value or net/cumulative result of a series of transactions... a database typically records only the net result of the performance of those transactions.
Pierce [0156] The business logic/business rules may further define, where the proposed value differs from the recalculated value, an acceptable range by which those values may differ.
Pierce [0129] shows nodes...representative of participants
Pierce [0142] whereby separate ledger entries, or separate ledgers, are maintained for each side (account/party) to a transaction and transactions are recorded as a pair of opposing transactions, e.g. credits vs. debits, to each respective account/party, either in the same ledger or in separate ledgers, each maintained by the respective party.
Pierce [0146] the information is organized in a structured manner, i.e. using a particular format, protocol or structure for organizing and storing the data therein, and the information may be accessed, or edited via transactions, i.e. single database operations, according to a particular set of principles.)
…to the second normalized data channel;
(Pierce [0106] Examples of the various types of market data feeds ... to provide such information in different formats
Pierce [0112] Market data is configured and formatted so that an end user of the market data, e.g., a trader, requires one or more software packages...to view and consume the market data.
Pierce [0146] the information is organized in a structured manner, i.e. using a particular format, protocol or structure for organizing and storing the data therein, and the information may be accessed, or edited via transactions, i.e. single database operations, according to a particular set of principles.)
the first normalized data channel.
(Pierce [0106] Examples of the various types of market data feeds ... to provide such information in different formats
Pierce [0112] Market data is configured and formatted so that an end user of the market data, e.g., a trader, requires one or more software packages...to view and consume the market data.
Pierce [0146] the information is organized in a structured manner, i.e. using a particular format, protocol or structure for organizing and storing the data therein, and the information may be accessed, or edited via transactions, i.e. single database operations, according to a particular set of principles.)
Pierce does not teach does not have authorization; does not have authorization to read;
Crouchman teaches,
does not have authorization; does not have authorization to read
(Crouchman [Col 3, Lines 20-23] Container systems provide an operating-system level virtualization in which the kernel of an operating system can allow for multiple isolated user space instances.
Crouchman [Col 3, Lines 37-42] The container system provides means to provision containers, allocate and control the resources available to a container, deploy and execute applications in the container, and facilitate full use of the container resources by such containerized applications, while isolating them from other applications
Crouchman [Col 27, Lines 25-27] regardless of type (such as authorizations of software use per user, per CPU, per server, or per container))
It is prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the data ingestion across permissioned ledgers of Pierce to incorporate the virtualization teachings of Crouchman for “assuring application performance by matching the supply of resources (e.g., application resources, VM resources, or physical resources) with the fluctuating demand placed on the application.” (Crouchman [Abstract]). The modification would have been obvious, because it is merely applying a known technique (i.e. virtualization) to a known concept (i.e. data ingestion across permissioned ledgers) ready for improvement to yield predictable result (i.e. “predict future resource requirements based on planning assumptions related to future application demand.” Crouchman [Abstract])
Regarding Claim 6,
Pierce, Creighton, and Crouchman teach the data ingestion across permissioned ledgers of Claim 5 as described earlier.
Pierce teaches,
wherein each of the first instance of the netting module and the second instance of the netting module execute netting instructions for calculating netting obligations, wherein the first instance of the netting module calculates netting obligations for the first client account, and wherein the second instance of the netting module calculates netting obligations for the second client account, and wherein the netting instructions comprise: determining a most recent netting cycle based on data stored on the shared permissioned ledger, wherein the most recent netting cycle comprises trades wherein the first client account and the second client account are counterparties;
(Pierce [0142] whereby separate ledger entries, or separate ledgers, are maintained for each side (account/party) to a transaction and transactions are recorded as a pair of opposing transactions, e.g. credits vs. debits, to each respective account/party, either in the same ledger or in separate ledgers, each maintained by the respective party.
Pierce [0042] the current “state” of a ledger may be ascertained by netting or otherwise totaling all of the entries up to the current time period...The net result of these two entries is the extinguishing of the debt of B to A.
Pierce [0145] a memory or other storage device that can be readily accessed, managed and updated, for storing the current value or net/cumulative result of a series of transactions... a database typically records only the net result of the performance of those transactions.
Pierce[0055] Data may be stored relating received transactions for a period of time, indefinitely, or for a rolling most recent time period such that the stored data is indicative of the market participant's recent activity in the electronic market.
Pierce [0122] the distributed electronic ledger may be a permissioned ledger.
Pierce [0132] interacting with a shared data structure
Pierce [0133] Parties, counterparties, and/or witnesses to transactions may all be required to validate transactions for the transactions to be complete as will be described.)
identifying one or more pending trades between the first client account and the second client account since the most recent netting cycle; generating a current netting group comprising the one or more pending trades since the most recent netting cycle; and dynamically updating the current netting group with new trades between the first client account and the second client account based on data received from the first normalized data channel and/or the second normalized data channel.
(Pierce [0026] identifying trades and descriptions of trades.
Pierce [0055] Data may be stored relating received transactions for a period of time, indefinitely, or for a rolling most recent time period such that the stored data is indicative of the market participant's recent activity in the electronic market.
Pierce [0083] The counterparty orders that are matched against such a combination order may be individual, “outright” orders or may be part of other combination orders.
Pierce [0042] the current “state” of a ledger may be ascertained by netting or otherwise totaling all of the entries up to the current time period...The net result of these two entries is the extinguishing of the debt of B to A.
Pierce [0145] a memory or other storage device that can be readily accessed, managed and updated, for storing the current value or net/cumulative result of a series of transactions... a database typically records only the net result of the performance of those transactions.
Pierce [0139] Data indicative of a “validated”, “attested to” or “confirmed” state may be stored in the entry and updated as new data is stored into the entry
Pierce [0104] separate communications channel or feed.
Pierce [0101]messages may be communicated using packeting or other techniques operable to communicate information between systems and system components.)
Regarding Claim 7,
Pierce, Creighton, and Crouchman teach the data ingestion across permissioned ledgers of Claim 6 as described earlier.
Pierce teaches,
wherein the netting instructions further comprise determining when the current netting group should be closed and settled based on rules-based triggers and specifications set by the first client account and/or the second client account
(Pierce [0032] A settlement module 142 (or settlement processor or other payment processor) may be included to provide one or more functions related to settling or otherwise administering transactions cleared...may implement one or more settlement price determination techniques.
Pierce [0083] The counterparty orders that are matched against such a combination order may be individual, “outright” orders or may be part of other combination orders.
Pierce [0133] Parties, counterparties, and/or witnesses to transactions may all be required to validate transactions for the transactions to be complete as will be described.)
comprising one or more of: a predetermined time and/or date for settling netting groups, a trade-quantity risk profile, a trade-value risk profile, a liquidity threshold, or an output of a stochastic predictive model for calculating future obligations and exposures.
(Pierce [0129] As the other nodes ...receive transaction 718, the transaction is grouped together
Pierce [0035] an associated action to be executed within a designated period of time having a beginning time and an ending time
Pierce [0028] A risk management module 134 may be included to compute and determine a user's risk utilization in relation to the user's defined risk thresholds.
Pierce [0054] it may be determined whether the incoming transaction comprises an order to buy or sell a quantity of the associated financial instrument
Pierce [0018] agreement to buy or sell a commodity at a specified price at a predetermined future time
Pierce [0032] determine a payment amount based on a spot price, the price of the futures contract or other financial instrument, or other price data, at various times.)
Regarding Claim 10,
Pierce, and Creighton teach the data ingestion across permissioned ledgers of Claim 1 as described earlier.
Pierce teaches,
wherein each of the plurality of client account represents a financial institution comprising one or more of a bank, credit union, hedge fund, asset management system, asset management organization, mutual fund, clearinghouse, or exchange, and wherein the financial institution pushes financial trade data to the data ingestion engine.
(Pierce [0160] In one embodiment, the shared data structure may be used to implement financial transactions where, for example, a party makes an assertion that they have available funds or credit in an account maintained by a financial institution.
Pierce [0153] financial institutions and even private/public companies may host/control the data ... For example, banks, 401k providers
Pierce [0100] to data dissemination via electronic messages and data feeds, ..., e.g., market data feeds.
Pierce [0102] As used herein, the terms “data feed” and “data stream” may refer to a sequentially or serially communicated set of related data/data messages, each of which may be transmitted/communicated, automatically or responsive to a request therefore, to a recipient in real time or a substantial approximation thereof
Pierce [0019] An exchange may provide for a centralized “clearing house” through which trades made must be confirmed, matched, and settled each day until offset or delivered.)
Regarding Claim 11,
Pierce and Creighton teach the data ingestion across permissioned ledgers of Claim 1 as described earlier.
Pierce teaches,
wherein the data ingestion engine
(Pierce [0100] to data dissemination via electronic messages and data feeds, ..., e.g., market data feeds.
Pierce [0102] As used herein, the terms “data feed” and “data stream” may refer to a sequentially or serially communicated set of related data/data messages, each of which may be transmitted/communicated, automatically or responsive to a request therefore, to a recipient in real time or a substantial approximation thereof
Pierce [Claim 1] receiving,...a plurality of electronic data)
receives financial trade in a plurality of data formats, and wherein the plurality of node-specific normalizers comprise a software module for translating ingested raw data from a language defined by the applicable client account to a canonical format used by the resource manager.
(Pierce [0129] As the other nodes ...receive transaction
Pierce [0106] Examples of the various types of market data feeds ... to provide such information in different formats
Pierce [0108] An MBP feed may utilize different message formats for conveying different types of market impacting events...MBP feeds may further batch reporting of multiple events, i.e., report the result of multiple market impacting events in a single message.
Pierce [0112] Market data is configured and formatted so that an end user of the market data, e.g., a trader, requires one...software packages...to view and consume the market data.
Pierce [0146] the information is organized in a structured manner, i.e. using a particular format, protocol or structure for organizing and storing the data therein, and the information may be accessed, or edited via transactions, i.e. single database operations, according to a particular set of principles.)
Regarding Claim 12,
Pierce and Creighton teach the data ingestion across permissioned ledgers of Claim 1 as described earlier.
Pierce teaches,
wherein the netting module calculates bilateral netting for two parties within the netting group
(Pierce [0142] the current “state” of a ledger may be ascertained by netting or otherwise totaling all of the entries up to the current time period...The net result of these two entries is the extinguishing of the debt of B to A.
Pierce [0145] a memory or other storage device that can be readily accessed, managed and updated, for storing the current value or net/cumulative result of a series of transactions... a database typically records only the net result of the performance of those transactions.
Pierce [0156] The business logic/business rules may further define, where the proposed value differs from the recalculated value, an acceptable range by which those values may differ.
Pierce [Abstract] flow, control and permissioning between multiple entities)
and further calculates multilateral netting for three or more parties in the netting group
(Pierce [0116] to traders 123, 324 and 345, all of whom who may be individual traders
Pierce [0025] includes information identifying traders and other users of exchange computer system 100, such as account numbers or identifiers, user names and passwords. An account data module 104 may be provided which may process account information that may be used during trades.)
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over Pierce, Creighton, and Crouchman in view of Norman (“CLEARING SYSTEM”, U.S. Publication Number: 20120323753 A1).
Regarding Claim 8,
Pierce, Creighton, and Crouchman teach the data ingestion across permissioned ledgers of Claim 6 as described earlier.
Pierce teaches,
identifying a trade ID for trades ; causing updated data entries to be stored on the shared permissioned ledger for each trade … wherein the updated data entries comprise the … an applicable trade ID;
(Pierce [0026] A trade database 108 may be included to store information identifying trades and descriptions of trades. In particular, a trade database may store information identifying the time that a trade took place and the contract price.
Pierce [0145] a memory or other storage device that can be readily accessed, managed and updated, for storing the current value or net/cumulative result of a series of transactions... a database typically records only the net result of the performance of those transactions.
Pierce [0122] the distributed electronic ledger may be a permissioned ledger.
Pierce [0132] interacting with a shared data structure
Pierce [0025] such as account numbers or identifiers)
Pierce does not teach assigning a netting ID to the current netting group; within the current netting group; the netting ID
Norman teaches,
assigning a netting ID to the current netting group; within the current netting group; the netting ID
(Norman [0069] The accounts are also grouped into a number of different information risk netting groups IR1, IR2 and IR3.
Norman [0074] It is contemplated that the information risk netting group ID field may be divided up into a fixed number of sub-fields.
Norman [0075] access group id equal AG1, a risk netting group ID equal to R1 and information risk netting group IDs equal to IR1 and IR2.
Norman [0086] the access group id may be included)
It is prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the data ingestion across permissioned ledgers of Pierce to incorporate the clearing system teachings of Norman for a “clearing system being configured to organise the plurality of accounts in at least three independent structures comprising a member structure, a user access structure and a risk calculation structure” (Norman [0009]). The modification would have been obvious, because it is merely applying a known technique (i.e. clearing system) to a known concept (i.e. data ingestion across permissioned ledgers) ready for improvement to yield predictable result (i.e. “allow users access to particular accounts and stop them from accessing other accounts.” Norman [0007])
Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over Pierce, Creighton, Crouchman in view of Pessin (“APPARATUS AND METHOD OF A DISTRIBUTED CAPITAL SYSTEM”, U.S. Publication Number: 20120259763 A1).
Regarding Claim 9,
Pierce, Creighton, Crouchman and teach the data ingestion across permissioned ledgers of Claim 7 as described earlier.
Pierce teaches,
wherein the netting instructions further comprise
(Pierce [0042] the current “state” of a ledger may be ascertained by netting or otherwise totaling all of the entries up to the current time period...The net result of these two entries is the extinguishing of the debt of B to A.
Pierce [0145] a memory or other storage device that can be readily accessed, managed and updated, for storing the current value or net/cumulative result of a series of transactions... a database typically records only the net result of the performance of those transactions.)
comprises calculating a predictive quantity
(Pierce [0028] A risk management module 134 may be included to compute and determine a user's risk utilization in relation to the user's defined risk thresholds.
Pierce [0153] individual's or business entity's transaction records, e.g. account balance and/or transaction history
Pierce [0032] determine a payment amount based on a spot price, the price of the futures contract or other financial instrument, or other price data, at various times.
Pierce [0054] it may be determined whether the incoming transaction comprises an order to buy or sell a quantity of the associated financial instrument)
for each asset type traded
(Pierce [0067] various types of products including financial instruments such as stocks, bonds, futures contracts, options, currency, cash, and other similar instruments.... For some types of products (e.g., futures or options), the specification further defines a quantity of the underlying product)
within the current netting group at a future time.
(Pierce [0042] the current “state” of a ledger may be ascertained by netting or otherwise totaling all of the entries up to the current time period...The net result of these two entries is the extinguishing of the debt of B to A.
Pierce [0145] a memory or other storage device that can be readily accessed, managed and updated, for storing the current value or net/cumulative result of a series of transactions... a database typically records only the net result of the performance of those transactions.
Pierce [0018] agreement to buy or sell a commodity at a specified price at a predetermined future time
Pierce [0032] determine a payment amount based on a spot price, the price of the futures contract or other financial instrument, or other price data, at various times.)
Pierce does not teach executing the stochastic predictive model to predict future obligations and exposures based on historical data, wherein executing the stochastic predictive model
Pessin teaches,
executing the stochastic predictive model to predict future obligations and exposures based on historical data, wherein executing the stochastic predictive model
(Pessin [0232] provide a predictive awareness of the user's finances, for the user to make and manage decisions across the range of all user financial activities the user chooses to handle via the system. In one embodiment, the program of the system may provide customized decision-analysis and support to the user, based on historical and statistical resources.
Pessin [0282] activity which can take place at a future time
Pessin [0232] and statistical resources
Pessin [0181] random variables
Pessin [0295] include set or variable amounts remitted at regular or random intervals)
It is prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the data ingestion across permissioned ledgers of Pierce to incorporate the predictive modeling teachings of Pessin as “the system can provide a predictive awareness of the user's finances.” (Pessin [0232]). The modification would have been obvious, because it is merely applying a known technique (i.e. predictive modeling) to a known concept (i.e. data ingestion across permissioned ledgers) ready for improvement to yield predictable result (i.e. “provide customized decision-analysis and support to the user.” Pessin [0232])
Claims 13-18 are rejected under 35 U.S.C. 103 as being unpatentable over Pierce, Creighton, and Pessin.
Regarding Claim 13,
Pierce and Creighton teach the data ingestion across permissioned ledgers of Claim 1 as described earlier.
Pierce does not teach wherein the plurality of processing nodes are configured to calculate trade splits for an assigned client account, wherein the trade split comprises an indication of how many trade-let executions should be executed to settle a trade in full.
Pessin teaches,
wherein the plurality of processing nodes are configured to calculate trade splits for an assigned client account, wherein the trade split comprises an indication of how many trade-let executions should be executed to settle a trade in full.
(Pessin [0133] buyers and sellers to be automatically matched simply based upon price (i.e., when there are a multitude of buyers and sellers at the same price, the system will automatically code-divide the incoming trade-requests such that the zero-sum can be spread to a non-symmetric number of counterparties)
Pessin [0053] in the distributed financial network of the present invention, every node on the network has a set of closest neighbors, and each node shares its awareness-universe with its neighbors
Pessin [0012] the financial transaction can be executed with additional parties to the at least one party until a total monetary or exchange value for which the parties will execute the financial transaction is equal to the determined monetary or exchange value of the financial transaction responsive to the identified at least one party not executing the financial transaction for the monetary or exchange value.)
It is prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the data ingestion across permissioned ledgers of Pierce to incorporate the split trade teachings of Pessin as “when there are a multitude of buyers and sellers at the same price, the system will automatically code-divide the incoming trade-requests.” (Pessin [0133]). The modification would have been obvious, because it is merely applying a known technique (i.e. split trade) to a known concept (i.e. data ingestion across permissioned ledgers) ready for improvement to yield predictable result (i.e. “such that the zero-sum can be spread to a non-symmetric number of counterparties.” Pessin [0133])
Regarding Claim 14,
Pierce, Creighton, and Pessin teach the data ingestion across permissioned ledgers of Claim 13 as described earlier.
Pierce teaches,
based on one or more of: obligations and exposures of the assigned client account for an asset type applicable to a certain trade; current liquidity of the assigned client account; predicted liquidity of a counterparty to the certain trade based on an output from a stochastic liquidity model; permissible lot size as defined by the assigned client account; one or more risk thresholds or liquidity thresholds defined by the assigned client account; a number of settlement cycles remaining in a defined time period;
(Pierce [0028] a user's risk utilization in relation to the user's defined risk thresholds.
Pierce [0032] settlement-related functions may include or involve daily or other mark to market settlements for margining purposes. ... The determination may be made at one or more points in time during the term of the financial instrument... Such determinations may also be made on a settlement date for the financial instrument for the purposes of final settlement.)
Pierce does not teach wherein calculating the trade splits comprises suggesting a trade split
Pessin teaches,
wherein calculating the trade splits comprises suggesting a trade split.
(Pessin [0133] buyers and sellers to be automatically matched simply based upon price (i.e., when there are a multitude of buyers and sellers at the same price, the system will automatically code-divide the incoming trade-requests such that the zero-sum can be spread to a non-symmetric number of counterparties)
Pessin [0053] in the distributed financial network of the present invention, every node on the network has a set of closest neighbors, and each node shares its awareness-universe with its neighbors
Pessin [0012] the financial transaction can be executed with additional parties to the at least one party until a total monetary or exchange value for which the parties will execute the financial transaction is equal to the determined monetary or exchange value of the financial transaction responsive to the identified at least one party not executing the financial transaction for the monetary or exchange value.
Pessin [0329] a system-suggested date… Once the transaction can be executed)
It is prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the data ingestion across permissioned ledgers of Pierce to incorporate the split trade teachings of Pessin as “when there are a multitude of buyers and sellers at the same price, the system will automatically code-divide the incoming trade-requests.” (Pessin [0133]). The modification would have been obvious, because it is merely applying a known technique (i.e. split trade) to a known concept (i.e. data ingestion across permissioned ledgers) ready for improvement to yield predictable result (i.e. “such that the zero-sum can be spread to a non-symmetric number of counterparties.” Pessin [0133])
Regarding Claim 15,
Pierce, Creighton, and Pessin teach the data ingestion across permissioned ledgers of Claim 14 as described earlier.
Pierce teaches,
to one or more counterparties for the certain trade for approval or denial by the one or more counterparties.
(Pierce [0157] If the counter-party participant validates the intention of the party to change the data, e.g. responds to the validation request approving the requested change,...the data structure is updated in accordance therewith as both parties, who are the only parties interested in that data, have approved the change. If the counter-party participant responds to the validation request disapproving of the requested change, the data structure is not modified.)
Pierce does not teach wherein the processing node is further configured to provide the suggested trade split
Pessin teaches,
wherein the processing node is further configured to provide the suggested trade split.
(Pessin [0133] buyers and sellers to be automatically matched simply based upon price (i.e., when there are a multitude of buyers and sellers at the same price, the system will automatically code-divide the incoming trade-requests such that the zero-sum can be spread to a non-symmetric number of counterparties)
Pessin [0053] in the distributed financial network of the present invention, every node on the network has a set of closest neighbors, and each node shares its awareness-universe with its neighbors)
It is prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the data ingestion across permissioned ledgers of Pierce to incorporate the split trade teachings of Pessin as “when there are a multitude of buyers and sellers at the same price, the system will automatically code-divide the incoming trade-requests.” (Pessin [0133]). The modification would have been obvious, because it is merely applying a known technique (i.e. split trade) to a known concept (i.e. data ingestion across permissioned ledgers) ready for improvement to yield predictable result (i.e. “such that the zero-sum can be spread to a non-symmetric number of counterparties.” Pessin [0133])
Regarding Claim 16,
Pierce and Creighton, teach the data ingestion across permissioned ledgers of Claim 1 as described earlier.
Pierce teaches,
wherein the resource manager further comprises a liquidity router for … for executing a currency exchange,
(Pierce [0064] The mutual existence, when functioning properly, may facilitate liquidity in the market such that a market may exist with “tight” bid-ask spreads
Pierce [0065] An MQI may be considered a value indicating a likelihood that a particular order will improve or facilitate liquidity in a market.
Pierce [0022] it should be appreciated that the disclosed embodiments may be applicable to any equity, fixed income security, currency, commodity, options or futures trading system or market now available or later developed.
Pierce [0067] An exchange provides one or more markets for the purchase and sale of various types of products including financial instruments such as ... currency, cash, and other similar instruments.)
wherein … comprises one or more of: a lowest cost based on currency exchange rate losses or a lowest-cost based on fewest number of hop trades.
(Pierce [0067] exchange establishes a specification for each market provided thereby that defines at least the product traded in the market, minimum quantities that must be traded, and minimum changes in price...the exchange may further define the matching algorithm, or rules, by which incoming orders will be matched/allocated to resting orders.
Pierce [0064] mutual existence, when functioning properly, may facilitate liquidity in the market such that a market may exist with “tight” bid-ask spreads (e.g., small difference between bid and ask prices) and a “deep” volume from many currently provided orders such that large quantity orders may be executed without driving prices significantly higher or lower.
Pierce [0082] Spread instruments may be traded in an attempt to profit from the ... narrowing of the spread)
Pierce does not teach calculating a lowest-cost pathway
Pessin teaches,
calculating a lowest-cost pathway
(Pessin [0334] determines the “optimal” capital exercise option which provides the best return for the required system liquidity level
Pessin [0382] The client/server/servent of the present system identifies direct communication pathway to that remote client/server/servent, and opens communications.
Pessin [0301] using the Collaborative Compound embodiment to make the transaction more efficient or less costly or both.)
It is prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the data ingestion across permissioned ledgers of Pierce to incorporate the awareness propagation teachings of Pessin as (Pessin [0382] “client/server/servent of the present system identifies direct communication pathway.”) The modification would have been obvious, because it is merely applying a known technique (i.e. awareness propagation) to a known concept (i.e. data ingestion across permissioned ledgers) ready for improvement to yield predictable result (i.e. Pessin [0382] “this now means that banking information can be completely redundantly dispersed, and to a large extent anonymously, or at least in encrypted form”.. Pessin [0174] “to make the transaction more efficient or less costly”. )
Regarding Claim 17,
Pierce, Creighton, and Pessin teach the data ingestion across permissioned ledgers of Claim 16 as described earlier.
Pierce teaches,
wherein each of the plurality of client accounts engaging in currency exchange comprises an independent liquidity router, wherein each of the independent liquidity routers is assigned to one client account of the plurality of client accounts such that the independent liquidity routers can only access data stored on the ledger instance assigned to the one client to which the independent liquidity router is assigned.
(Pierce [0064] The mutual existence, when functioning properly, may facilitate liquidity in the market such that a market may exist with “tight” bid-ask spreads
Pierce [0065] An MQI may be considered a value indicating a likelihood that a particular order will improve or facilitate liquidity in a market.
Pierce [0022] it should be appreciated that the disclosed embodiments may be applicable to any equity, fixed income security, currency, commodity, options or futures trading system or market now available or later developed.
Pierce [0067] An exchange provides one or more markets for the purchase and sale of various types of products including financial instruments such as ... currency, cash, and other similar instruments.
Pierce [0222] The functions, acts or tasks are independent of the particular type of instructions set, storage media, processor or processing strategy
Pierce [0142] whereby separate ledger entries, or separate ledgers, are maintained for each side (account/party) to a transaction and transactions are recorded as a pair of opposing transactions, e.g. credits vs. debits, to each respective account/party, either in the same ledger or in separate ledgers, each maintained by the respective party.)
Regarding Claim 18,
Pierce, Creighton, and Pessin teach the data ingestion across permissioned ledgers of Claim 16 as described earlier.
Pierce does not teach wherein the liquidity router executes a currency predictive model for calculating the lowest-cost pathway for executing the currency exchange, wherein the currency predictive model is a stochastic model for predicting current and future liquidity of a plurality of currencies based on one or more of: current currency positions of counterparties to a trade, current liquidity for a plurality of currencies, least cross, historical best rates for the plurality of currencies, and an identification of market makers likely to have liquidity in any of the plurality of currencies, and wherein the currency predictive model outputs results to a pseudo ledger.
Pessin teaches,
wherein the liquidity router executes a currency predictive model for calculating the lowest-cost pathway for executing the currency exchange, wherein the currency predictive model is a stochastic model for predicting current and future liquidity
(Pessin [0334] determines the “optimal” capital exercise option which provides the best return for the required system liquidity level
Pessin [0382] The client/server/servent of the present system identifies direct communication pathway to that remote client/server/servent, and opens communications.
Pessin [0301] using the Collaborative Compound embodiment to make the transaction more efficient or less costly or both.
Pessin [0232] decision-analysis and support to the user, based on historical and statistical resources.
Pessin [0282] activity which can take place at a future time)
of a plurality of currencies based on one or more of: current currency positions of counterparties to a trade, current liquidity for a plurality of currencies, least cross, historical best rates for the plurality of currencies, and an identification of market makers likely to have liquidity in any of the plurality of currencies, and wherein the currency predictive model outputs results to a pseudo ledger.
(Pessin [0006] symmetric (i.e., parties on each side of transaction hold equivalent value, to be exchanged in full with opposite counterparty) or asymmetric (parties on each side of transaction hold different value amounts)—specifically currencies, between parties worldwide ...transactions in different currencies
Pessin [0334] determines the “optimal” capital exercise option which provides the best return for the required system liquidity level)
It is prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the data ingestion across permissioned ledgers of Pierce to incorporate the awareness propagation teachings of Pessin as (Pessin [0382] “client/server/servent of the present system identifies direct communication pathway.”) The modification would have been obvious, because it is merely applying a known technique (i.e. awareness propagation) to a known concept (i.e. data ingestion across permissioned ledgers) ready for improvement to yield predictable result (i.e. Pessin [0382] “this now means that banking information can be completely redundantly dispersed, and to a large extent anonymously, or at least in encrypted form”.. Pessin [0174] “to make the transaction more efficient or less costly”. )
Claims 19 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Pierce, Creighton, and Pessin in view of Liberty (“MOBILE GLOBAL EXCHANGE PLATFORM”, U.S. Publication Number: 20160055583 A1).
Regarding Claim 19,
Pierce, Creighton, and Pessin teach the data ingestion across permissioned ledgers of Claim 18 as described earlier.
Pierce does not teach wherein the liquidity router calculates the lowest-cost pathway for executing the currency exchange based on outputs stored on the pseudo ledger and by executing a shortest path algorithm in graph theory, wherein: a first algorithm node indicates an initial currency in the currency exchange; a second algorithm node indicates a final currency in the currency exchange; one or more intermediary nodes indicate currency pairs that can be exchanged; and edges between nodes in the shortest path algorithm indicate a back-to-back trade between two ledgers for an applicable currency pair.
Pessin teaches,
wherein the liquidity router calculates
(Pessin [0334] determines the “optimal” capital exercise option which provides the best return for the required system liquidity level
Pessin [0382] The client/server/servent of the present system identifies direct communication pathway to that remote client/server/servent, and opens communications.
Pessin [0301] using the Collaborative Compound embodiment to make the transaction more efficient or less costly or both.)
the lowest-cost pathway; and by executing a shortest path algorithm in graph theory,
(Pessin [0334] determines the “optimal” capital exercise option which provides the best return for the required system liquidity level
Pessin [0382] The client/server/servent of the present system identifies direct communication pathway to that remote client/server/servent, and opens communications.
Pessin [0301] using the Collaborative Compound embodiment to make the transaction more efficient or less costly or both.
Pessin [0053] every node on the network has a set of closest neighbors, and each node shares its awareness-universe with its neighbors.)
wherein: a first algorithm node indicates an initial currency in the currency exchange; a second algorithm node indicates a final currency in the currency exchange; one or more intermediary nodes indicate currency pairs that can be exchanged;
(Pessin [0053] More particularly, in the distributed financial network of the present invention, every node on the network has a set of closest neighbors, and each node shares its awareness-universe with its neighbors.
Pessin [0098] netting summations. It is a matching utility, including various algorithms, that achieve efficiency in assigning counterparty matches
Pessin [0328] executing a Distributed Funds Transfer process, could, given proper settings of target bank accounts, simply resolve a vector schedule that comprised of two domestic transfers, one in each the US and China, to each the opposite company's accounts from the local company's account....swapping their hard currencies via a distributed system.
Pessin [0109] Thus, the matching of a request to exchange currency can be matched using several algorithms
Pessin [0101] In this way, the SVR program module executes a netting function, funds transfer algorithms, currency exchange algorithms, consolidated accounting algorithms)
and edges between nodes in the shortest path algorithm indicate a back-to-back trade between two ledgers for an applicable currency pair.
(Pessin [0334] determines the “optimal” capital exercise option which provides the best return for the required system liquidity level
Pessin [0382] The client/server/servent of the present system identifies direct communication pathway to that remote client/server/servent, and opens communications.
Pessin [0301] using the Collaborative Compound embodiment to make the transaction more efficient or less costly or both.
Pessin [0322] satisfies the net ledger account for each party in the universe (by summing the values in each of the individual ledgers for Enterprise A, Institution B, and Bob).
Pessin [0323] changing funds into British pounds, a country, like the United States, could pay the United Nations US$4 million in back dues, converted to Euros, for example, to be deposited in a Geneva bank account....request for Euros by the U.S.... to anything that may be treated as a fungible instrument of trade.)
It is prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the data ingestion across permissioned ledgers of Pierce to incorporate the awareness propagation teachings of Pessin as (Pessin [0382] “client/server/servent of the present system identifies direct communication pathway.”) The modification would have been obvious, because it is merely applying a known technique (i.e. awareness propagation) to a known concept (i.e. data ingestion across permissioned ledgers) ready for improvement to yield predictable result (i.e. Pessin [0382] “this now means that banking information can be completely redundantly dispersed, and to a large extent anonymously, or at least in encrypted form”.. Pessin [0174] “to make the transaction more efficient or less costly”. )
Pessin does not teach for executing the currency exchange based on outputs stored on the pseudo ledger
Liberty teaches,
for executing the currency exchange based on outputs stored on the pseudo ledger
(Liberty [0084] The term “agent branch ledger” refers to a written (or electronic) ledger maintained by the mFS platform. Agent branch transactions are performed on the agent's and subscriber's mobile phones where an electronic record of the transaction is generated and stored on the mFS platform.... serve as a backup record to the electronic transactions.
Liberty [0201] communicate with the mobile global exchange platform using local currency ... each time the mobile wallet application is used, the application itself may change to use the currency of the country it is in)
It is prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the data ingestion across permissioned ledgers of Pierce to incorporate the backup ledger teachings of Liberty as ( “a written (or electronic) ledger maintained …electronic transactions are then reconciled.” Liberty [0084]) The modification would have been obvious, because it is merely applying a known technique (i.e. backup ledger ) to a known concept (i.e. data ingestion across permissioned ledgers) ready for improvement to yield predictable result (i.e. “ledgers are printed or electronic transaction logs that are distributed … in hard copy form to serve as a backup record to the electronic transactions”. Liberty [0084])
Regarding Claim 20,
Pierce, Creighton, and Pessin in view of Liberty teach the data ingestion across permissioned ledgers of Claim 19 as described earlier.
Pierce does not teach wherein one or more of the initial currency or the final currency in the currency exchange is an exotic currency, wherein exotic currencies comprises non-G10 currencies.
Liberty teaches,
wherein one or more of the initial currency or the final currency in the currency exchange is an exotic currency, wherein exotic currencies comprises non-G10 currencies.
(Pessin [0327] an exchange of capital funds can be made ... If for example, an American company wishes to repatriate RMB profits earned in China, back to the US (as US Dollars), there are likely to be restrictions on transferring funds out of China. And if a US company wishes to have a supply of US Dollars converted to RMB for the sake of new investment in China, there are likely to be restrictions on bringing in new capital.
Pessin [0328] The SVR program module, executing a Distributed Funds Transfer process, could, given proper settings of target bank accounts, simply resolve a vector schedule that comprised of two domestic transfers, one in each the US and China, to each the opposite company's accounts from the local company's account. At face value this would appear to be two independent, unrelated domestic movements of funds, but as a macro event would amount to the two companies swapping their hard currencies via a distributed system. In this way, the two companies could each achieve their objectives to move money across an international boundary, but without the difficulties, notice, cost, and possible restriction on international capital movements.
Examiner notes that RMB is a non-G10 currency. )
It is prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the data ingestion across permissioned ledgers of Pierce to incorporate the global currency exchange of Liberty as ( “mobile global exchange platform may be configured to process transactions where first and second monetary transaction systems are located in countries that use different currencies.” Liberty [0200]) The modification would have been obvious, because it is merely applying a known technique (i.e. global currency exchange) to a known concept (i.e. data ingestion across permissioned ledgers) ready for improvement to yield predictable result (i.e. “money may be transferred from the first monetary transaction system to the second monetary transaction system using a SWIFT exchange”. Liberty [0200])
Response to Remarks
Applicant's arguments filed on January 16, 2025, have been fully considered and Examiner’s remarks to Applicant’s amendments follow.
Response Remarks on Claim Rejections - 35 USC § 101
The Applicant states:
“Applicant's counsel explained the "database comprising a shared permissioned ledger" is not distributed across a blockchain network at least because "the first ledger instance stores only data associated with the first client account" and "the second ledger instance stores only data associated with the second client account" such that the first ledger instance is not a copy of the second ledger instance. Additionally, Applicant's counsel explained that data entries stored on the database are immutable as the database consumes enormous quantities of transactional data entries from numerous client accounts."
Examiner responds:
Applicant’s invention merely describes partial replication of an immutable database.
Douglas Wiebe ("A Distributed Repository for Immutable Persistent Objects", 1986) writes [page 458] "Databases may be partially or fully replicated. When partial replication is used, it is possible that none of the database replicas has a "complete" collection of the objects in the database." and [page 453] "JStore provides a "write-once" guarantee that stored objects are truly immutable." and [Abstract - page 453] "This paper describes JStore, a distributed, replicated repository for system model objects. JStore provides robust, transactional, write-once storage.”
Nicolas Schiper ("P-Store: Genuine Partial Replication in Wide Area Networks", 2010) writes, [Abstract] “Partial replication is a way to increase the scalability of replicated systems: updates only need to be applied to a subset of the system's sites, thus allowing replicas to handle independent parts of the workload in parallel. In this paper, we propose P-Store, a partially replicated key-value store for wide area networks. In P-Store, each transaction T optimistically executes on one or more sites and is then certified to guarantee serializability of the execution.”
The Applicant states:
“As discussed in the interview with Examiner Ekechukwu held on January 13, 2025, the MPEP § 2106.04(d)(I) indicates that Step 2A Prong Two excludes consideration of whether the claimed elements are well-understood, routine, or conventional activity… Accordingly, in Step 2A Prong Two, examiners should ensure they give weight to all additional elements, whether or not they are conventional, when evaluating whether a judicial exception has been integrated into a practical application."
Examiner responds:
“Well-understood, routine, or conventional activity” was not considered under Step 2A Prong Two.
To reiterate, for Step 2A Prong Two, Examiner wrote:
This judicial exception is not integrated into a practical application. In particular, the claims recite the additional elements of:
[an execution platform comprising a plurality of processing nodes] [a database] [the database] [a cloud computing processor that manages the execution platform and the database][the cloud computing processor executes instructions] [of the plurality of processing nodes] [on the database][by the cloud computing processor] [a stateless Application Program Interface (API)]:
merely applying computer processing, storage, and networking technology as tools to perform an abstract idea
[comprising a shared permissioned ledger, wherein the shared permissioned ledger] [on the shared permissioned ledger];[on the shared permissioned ledger]:
merely applying distributed ledger technology as a tool to perform an abstract idea
[a blockchain network]:
generally linking to blockchain technology as a tool to perform an abstract idea
are recited at a high-level of generality (i.e., as a generic processor performing a generic computer function) such that it amounts no more than mere instructions to apply the exception using a generic computer components and/or electronic processes. For example, the Applicant’s Specification reads:
[0310] Computing device 3500 may be used to perform various procedures, such as those discussed herein. Computing device 3500 can function as a server, a client, a client node, a resource manager, or any other computing entity. Computing device 3500 can be any of a wide variety of computing devices, such as a workstation, a desktop computer, a notebook computer, a server computer, a handheld computer, a tablet, a smartphone, and the like.”
[0105] shared permissioned ledger 110 is a database including a plurality of client ledger instances 112, such as client ledger instances … the shared permissioned ledger 110 is stored across a plurality of storage hardware in a cloud-based database system in communication with a network.
[0376] Such computer-readable media can be any available media
[0377] Computer storage media (devices) includes RAM, ROM, EEPROM, CD-ROM, solid state drives (“SSDs”) ...other types of memory, other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium
[0380] disclosure may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers,...routers, switches, various storage devices, and the like.
[0381] functions described herein can be performed in one or more of: hardware, software, firmware, digital components, or analog components.
[0383] comprising such logic (e.g., in the form of software) stored on any computer useable medium.
[0384] Many modifications and variations are possible in light of the disclosed teaching. Further, it should be noted that any or all of the alternate implementations discussed herein may be used in any combination desired
Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. The additional elements merely add instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea, see MPEP 2106.05(f). Accordingly, these additional elements, when considered separately and as an ordered combination, do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea and are at a high level of generality. Therefore, Claim 1 is directed to an abstract idea without a practical application. (Step 2A-Prong 2: NO. The additional claimed elements are not integrated into a practical application)
The Applicant states:
“Applicant submits that claim 1 recites numerous elements that are not well-understood, routine, or conventional activity. However, for the sake of argument, even if claim 1 exclusively recited well-understood, routine, and conventional activity, claim 1 would still be patent-eligible under 35 U.S.C. § 101 for integrating the alleged judicial exception into a practical application under Step 2A Prong Two. "
Examiner responds:
The Applicant is “merely applying” partial replication of an immutable database.
The focus of the claims is not on such an improvement in partial replication of an immutable database as a tool, but on certain independently abstract ideas that use partial replication of an immutable database as a tool.
The Applicant states:
“As a whole, claim 1 integrates the alleged judicial exception of an "abstract idea" into the following practical applications:
" Novel database organization … including numerous ledger instances that are not copies of another and enable insights into real-time data between separate accounts without enabling direct access to private data…. Reduction of latency …automatic scaling and load balancing when ingesting data to be stored on the database…. Improvement in data security by implementing dedicated ingestion resources…dedicated netting resources, and dedicated normalization resources for each of a plurality of client accounts….Reduction of latency in data analysis to calculate real-time liquidity and obligations by automatically scaling and load-balancing processing resources independently of storage resources"
Examiner responds:
Firstly, a number of the alleged improvements are abstract ideas and not technological improvement:
"Novel database organization...including numerous ledger instances that are not copies of another and enable insights into real-time data between separate accounts without enabling direct access to private data...automatic scaling and load balancing when ingesting data... implementing dedicated ingestion resources...dedicated netting resources, and dedicated normalization resources for each of a plurality of client accounts... calculate real-time liquidity and obligations by automatically scaling and load-balancing processing resources" all express an abstract idea.
An abstract idea cannot integrate another abstract idea into a practical application.
As for the alleged technological improvements of “reduction of latency” and “improvement in data security”, both of which are inherent to any application of partial replication of an immutable database. Nicolas Schiper ("P-Store: Genuine Partial Replication in Wide Area Networks", 2010) writes, [Abstract] “Partial replication is a way to increase the scalability of replicated systems… executes on one or more sites and is then certified to guarantee serializability of the execution.”
Examiner maintains that to “analyze large sums of data to determine obligations and exposures” and to “assess incoming, up-to-date transactional data” and “data analysis” amounts to gathering, sharing, and manipulation of data expresses an Abstract Idea [Intellectual Ventures I v. Capital One Fin. Corp., 850 F.3d 1332, 121 USPQ2d 1940 (Fed. Cir. 2017) “collecting, displaying, and manipulating data” was considered part of the abstract idea], and Selecting A Particular Data Source or Type Of Data To Be Manipulated [Selecting information, based on types of information and availability of information in a power-grid environment, for collection, analysis and display, Electric Power Group, LLC v. Alstom S.A., 830 F.3d 1350, 1354-55, 119 USPQ2d 1739, 1742 (Fed. Cir. 2016)]
The claims’ invocation of permissioned ledgers, load-balancers, and dedicated processing devices does not transform the claimed subject matter into patent-eligible applications. The claims at issue do not require any nonconventional permissioned ledgers, load-balancers, and dedicated processing device components, or even a “non-conventional and non-generic arrangement of known, conventional pieces,” but merely call for performance of the claimed information collection, analysis, and display functions on a set of generic computer components, permissioned ledgers, load-balancers, and dedicated processing devices.
Therefore, the rejection under 35 USC § 101 remains.
Response Remarks on Claim Rejections - 35 USC § 103
Applicant's amendments required the application of new/additional prior art.
New prior art includes:
Creighton (“REAL-TIME SETTLEMENT OF SECURITIES TRADES OVER APPEND-ONLY LEDGERS”, U.S. Publication Number: 20160321751 A1).
Excised prior art includes:
Klianev (“OPEN NETWORK OF PERMISSIONED LEDGERS”, Australian Publication Number: AU 2016101976 A4)
Chan (“SYSTEM AND METHOD FOR MAINTAINING A SEGREGATED DATABASE IN A MULTIPLE DISTRIBUTED LEDGER SYSTEM”, US Publication Number: US 20180068130 A1)
In response to applicant's arguments against the references individually, one cannot cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In reMerck & Co., Inc., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986). Where a rejection of a claim is based on two or more references, a reply that is limited to what a subset of the applied references teaches or fails to teach, or that fails to address the combined teaching of the applied references may be considered to be an argument that attacks the reference(s) individually. Where an applicant’s reply establishes that each of the applied references fails to teach a limitation and addresses the combined teachings and/or suggestions of the applied prior art, the reply as a whole does not attack the references individually as the phrase is used in Keller and reliance on Keller would not be appropriate. This is because "[T]he test for obviousness is what the combined teachings of the references would have suggested to [a PHOSITA]." In re Mouttet, 686 F.3d 1322, 1333, 103 USPQ2d 1219, 1226 (Fed. Cir. 2012).
Applicant’s remarks regarding the rejection made under 35 USC § 103 are rendered moot by the introduction of additional prior art.
Therefore, the rejection under 35 USC § 103 remains.
Prior Art Cited But Not Applied
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Douglas Wiebe ("A Distributed Repository for Immutable Persistent Objects", 1986) writes [page 458] "Databases may be partially or fully replicated. When partial replication is used, it is possible that none of the database replicas has a "complete" collection of the objects in the database." and [page 453] "JStore provides a "write-once" guarantee that stored objects are truly immutable." and [Abstract - page 453] "This paper describes JStore, a distributed, replicated repository for system model objects. JStore provides robust, transactional, write-once storage.”
Nicolas Schiper ("P-Store: Genuine Partial Replication in Wide Area Networks", 2010) writes, [Abstract] “Partial replication is a way to increase the scalability of replicated systems: updates only need to be applied to a subset of the system's sites, thus allowing replicas to handle independent parts of the workload in parallel. In this paper, we propose P-Store, a partially replicated key-value store for wide area networks. In P-Store, each transaction T optimistically executes on one or more sites and is then certified to guarantee serializability of the execution.”
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHINEDU EKECHUKWU whose telephone number is (571)272-4493. The examiner can normally be reached on Mon-Fri 9 AM ET to 3:30 PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Christine Behncke, can be reached on (571) 272-8103. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov.
Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/C.E./Examiner, Art Unit 3695
/HAO FU/ Primary Examiner, Art Unit 3695