MICRO PAYMENTS IN A MOBILITY-AS-A-SERVICE NETWORK
20210110374 · 2021-04-15
Inventors
- Ned M. Smith (Beaverton, OR)
- Satish Chandra Jha (Portland, OR, US)
- Vesh Raj Sharma Banjade (Portland, OR, US)
- Ignacio Javier Alvarez Martinez (Portland, OR, US)
- S M Iftekharul Alam (Hillsboro, OR)
Cpc classification
International classification
Abstract
Systems and techniques for micro payments in a mobility-as-a-service (MaaS) network are described herein. A mobility task may be received for execution by a MaaS node of the MaaS network. An electronic contract may be established with a requestor of the task. A payment transaction may be initiated based on the mobility task and the electronic contract. The mobility task may be submitted for execution by the MaaS node using resources of the MaaS node. An amount of the payment may be transferred from an electronic account of the requestor to an electronic account of the MaaS node.
Claims
1. A system for payment processing in a mobility-as-a-service (MaaS) network comprising: at least one processor; and memory including instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: receive a mobility task for execution by a MaaS node of the MaaS network; establish an electronic contract with a requestor of the mobility task; initiate a payment transaction based on the mobility task and the electronic contract; submit the mobility task for execution by the MaaS node using resources of the MaaS node; and transfer an amount of the payment from an electronic account of the requestor to an electronic account of the MaaS node.
2. The system of claim 1, wherein the mobility task is a member of a workload and the payment amount includes an amount that corresponds to the resources used to complete the workload by the MaaS node.
3. The system of claim 1, wherein the electronic contract includes payment options and the electronic account of the requestor.
4. The system of claim 1, the memory further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: obtain telemetry data, analytical data, and sensor data for execution of the mobility task from the MaaS node; and calculate the payment amount using the telemetry data, analytical data, and sensor data.
5. The system of claim 1, the memory further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: calculate a portion of a third-party infrastructure expense attributable to the mobility task; apportion the payment among the MaaS node and the third-party infrastructure expense; and transmit a portion of the payment to an electronic account of an infrastructure provider corresponding to the third-party infrastructure expense.
6. The system of claim 1, the memory further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: calculate available resources of the MaaS node; determine a subset of the available resources dedicated to critical workloads; and limit the resources of the MaaS node that are available for processing the mobility task using software-defined hardware.
7. The system of claim 1, the memory further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: analyze resource utilization and performance metrics to set a target payment rate for resources of the MaaS node; receive an electronic contract proposal from the requestor; calculate that terms of the electronic contract proposal are insufficient to meet the target payment rate; initiate an electronic contract negotiation exchange between the MaaS node and the requestor; and establish the electronic contract based on results of the negotiation exchange.
8. The system of claim 1, the memory further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: receive an attestation request corresponding to the mobility task; collect attestation evidence from the resources of the MaaS node; and schedule the mobility task for execution using the resources of the MaaS node upon validation of the attestation evidence.
9. At least one non-transitory machine-readable medium including instructions for payment processing in a mobility-as-a-service (MaaS) network that, when executed by at least one processor, cause the at least one processor to perform operations to: receive a mobility task for execution by a MaaS node of the MaaS network; establish an electronic contract with a requestor of the mobility task; initiate a payment transaction based on the mobility task and the electronic contract; submit the mobility task for execution by the MaaS node using resources of the MaaS node; and transfer an amount of the payment from an electronic account of the requestor to an electronic account of the MaaS node.
10. The at least one non-transitory machine-readable medium of claim 9, wherein the mobility task is a member of a workload and the payment amount includes an amount that corresponds to the resources used to complete the workload by the MaaS node.
11. The at least one non-transitory machine-readable medium of claim 9, wherein the electronic contract includes payment options and the electronic account of the requestor.
12. The at least one non-transitory machine-readable medium of claim 9, further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: obtain telemetry data, analytical data, and sensor data for execution of the mobility task from the MaaS node; and calculate the payment amount using the telemetry data, analytical data, and sensor data.
13. The at least one non-transitory machine-readable medium of claim 9, further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: calculate a portion of a third-party infrastructure expense attributable to the mobility task; apportion the payment among the MaaS node and the third-party infrastructure expense; and transmit a portion of the payment to an electronic account of an infrastructure provider corresponding to the third-party infrastructure expense.
14. The at least one non-transitory machine-readable medium of claim 9, further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: calculate available resources of the MaaS node; determine a subset of the available resources dedicated to critical workloads; and limit the resources of the MaaS node that are available for processing the mobility task using software-defined hardware.
15. The at least one non-transitory machine-readable medium of claim 9, further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: analyze resource utilization and performance metrics to set a target payment rate for resources of the MaaS node; receive an electronic contract proposal from the requestor; calculate that terms of the electronic contract proposal are insufficient to meet the target payment rate; initiate an electronic contract negotiation exchange between the MaaS node and the requestor; and establish the electronic contract based on results of the negotiation exchange.
16. The at least one non-transitory machine-readable medium of claim 9, further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: receive an attestation request corresponding to the mobility task; collect attestation evidence from the resources of the MaaS node; and schedule the mobility task for execution using the resources of the MaaS node upon validation of the attestation evidence.
17. A system for payment processing in a mobility-as-a-service (MaaS) network comprising: means for receiving a mobility task for execution by a MaaS node of the MaaS network; means for establishing an electronic contract with a requestor of the mobility task; means for initiating a payment transaction based on the mobility task and the electronic contract; means for submitting the mobility task for execution by the MaaS node using resources of the MaaS node; and means for transferring an amount of the payment from an electronic account of the requestor to an electronic account of the MaaS node.
18. The system of claim 17, wherein the mobility task is a member of a workload and the payment amount includes an amount that corresponds to the resources used to complete the workload by the MaaS node.
19. The system of claim 17, wherein the electronic contract includes payment options and the electronic account of the requestor.
20. The system of claim 17, further comprising: means for obtaining telemetry data, analytical data, and sensor data for execution of the mobility task from the MaaS node; and means for calculating the payment amount using the telemetry data, analytical data, and sensor data.
21. The system of claim 17, further comprising: means for calculating a portion of a third-party infrastructure expense attributable to the mobility task; means for apportioning the payment among the MaaS node and the third-party infrastructure expense; and means for transmitting a portion of the payment to an electronic account of an infrastructure provider corresponding to the third-party infrastructure expense.
22. The system of claim 17, further comprising: means for calculating available resources of the MaaS node; means for determining a subset of the available resources dedicated to critical workloads; and means for limiting the resources of the MaaS node that are available for processing the mobility task using software-defined hardware.
23. The system of claim 17, further comprising: means for analyzing resource utilization and performance metrics to set a target payment rate for resources of the MaaS node; means for receiving an electronic contract proposal from the requestor; means for calculating that terms of the electronic contract proposal are insufficient to meet the target payment rate; means for initiating an electronic contract negotiation exchange between the MaaS node and the requestor; and means for establishing the electronic contract based on results of the negotiation exchange.
24. The system of claim 17, further comprising: means for receiving an attestation request corresponding to the mobility task; means for collecting attestation evidence from the resources of the MaaS node; and means for scheduling the mobility task for execution using the resources of the MaaS node upon validation of the attestation evidence.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0003] In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views. Like numerals having different letter suffixes may represent different instances of similar components. The drawings illustrate generally, by way of example, but not by way of limitation, various embodiments discussed in the present document.
[0004]
[0005]
[0006]
[0007]
[0008]
[0009]
[0010]
DETAILED DESCRIPTION
[0011] Mobility-as-a-Service (MaaS) nodes provide connectivity to MaaS services, other MaaS Nodes, edge/internet of things (IoT) services, orchestration, and command-n-control applications. MaaS nodes may also have local sensors, storage, compute, and accelerated compute capabilities. However, MaaS nodes do not provide a way to seamlessly integrate micro-payments for efficient decentralized pay-per-use/pay-per-view use cases. A micro-payment pay-per-use scenario differs from traditional pay-per-use use case. Micro-payments compensate for only the unit of work that is performed. Different tenants on the same MaaS node pay for the unit of work (UoW) attributed to each specific tenant. UoW is a normalized approach to partitioning resources. It is not a scheme for pricing/valuing resources. E-wallets or electronic contracts may provide proof that a tenant has the ability to pay for the scheduled unit of work. Execution of a UoW may be contingent on receipt of payment or proof of ability to pay. Micro-payment clearing may be done using e-tokens and distributed ledger technology (DLT). The DLT clearing house may be decentralized.
[0012] The systems and techniques discussed herein solves the problem with traditional MaaS node compensation that depends on an external payment infrastructure that may be problematic. For example, in rural and underdeveloped geographies, automation of payment is nascent. Additionally, in occasionally connected scenarios including times of critical infrastructure breakdown, network connectivity out-of-reach, etc., external payment infrastructures may not be available.
[0013] Billing is another challenge in traditional MaaS node compensation. Resource utilization instrumentation and accounting is preferable at the granularity of the workload, task, or function that executes. UoW resource utilization metering allows micro-billing that corresponds to a UoW granularity for micro-payment. Current MaaS Nodes are not capable of metering resource utilization at UoW granularity.
[0014] Previous solutions involve a user supplying a traditional form of payment (e.g., cash, credit card, check, PayPal, Vimeo. DLT token—aka Bitcoin, etc.). The user may subscribe to a service provider where a subscription authorizes access to a variety of MaaS services. The user may pay for service through taxation in exchange for public access to MaaS services.
[0015] MaaS micro-payment technology extends MaaS node architectures to include support for micropayments for a UoW that is specific to the execution capability and hosting slice resources (e.g., resources that may be allocated in small segments, etc.). Micro-payments allow direct purchase of resources needed to perform a MaaS workload. For example, power from a smart-cities grid may be a pay for item in MaaS workload increments.
[0016] Pay-per-use in conventional payment methods negatively impacts user experience because the experience is interrupted in order to complete payment processing steps. This becomes increasingly intrusive as the number of MaaS interactions increases—each requiring payment.
[0017] Conventional subscription payment methods introduce an intermediary into the MaaS ecosystem which determines the value of discrete services and the frequency with which the services may be used. This stifles innovation among MaaS suppliers if the wrong set of ecosystem suppliers are compensated while the ones best suited to improve the user experience are starved. Determining value that each supplier/MaaS component brings is political rather than merit based.
[0018] A conventional subscription-based payment system may stifle MaaS innovation by misappropriating value assignment. Users and MaaS service providers may be separated by a central entity such as a network carrier or cloud service provider who normally pre-determines and distributes value within the services value chain. Taxation is often applied to the SLA contract that is typically managed by the central figure in the value chain. By integrating micro-payment and micro-billing capabilities in the compute fabric, every point in the value chain is an opportunity for the entity that provides value to extract payment in exchange for the particular value provided. Additionally, this is also a reasonable point to collect tax on the value provided.
[0019] The systems and techniques discussed herein augment the MaaS node architecture with micro-payment and micro-billing capabilities that operate at UoW granularity. This includes micro-billing resource metering applied to power utilization. CPU/xPU utilization as well as memory, storage, and communication resources. In some cases, variable UoW may be determine if only time of use or distance is relevant (e.g., parking, using last mile animal/donkey-ride, etc.). The resources utilized are managed by a micro-billing agent. MaaS nodes are further integrated with task scheduler/manager capabilities such that operations performed on the node may be multi-tenant scheduled at UoW granularity. Furthermore, a micro-payment manager may directly compensate for micro-billings. Additionally, external entities that support/service the MaaS node (e.g., energy providers, etc.) may be down-stream compensated by the micro-payment manager using e-tokens. E-tokens and cryptographic keys are protected using e-wallet technology (e.g., enclaves, hardware security modules (HSMs), roots-of-trust, etc.). MaaS nodes with micro-billing and micro-payment capabilities may be discovered by other MaaS nodes using attestation of the MaaS node. MaaS infrastructure may include directory or Named Data Networking (NDN) services that introspect connected MaaS nodes and publish details about node capabilities.
[0020] This solution may be referred to as MaaS Micro-Payment Technology (MPT) that extends the reach of traditional payment infrastructures-addresses the gap in first/last mile for payment that is filled by MaaS infrastructure. MPT allows direct compensation for MaaS tasks, functions, workloads from within the MaaS infrastructure enabling those who pioneer build-out of MaaS infrastructure to be able to immediately receive compensation. Cost of MaaS infrastructure build-out is rewarded according to the real value that it brings. Different MaaS geographies have different economics due to remoteness, demographics, market need, etc. and direct compensation removes dependence on a separate value chain/payment infrastructure. A MaaS supply chain may reward the best available suppliers of energy, hosting, maintenance, etc. based on the best innovative approach rather than political clout.
[0021] MaaS ecosystems may be increasingly for-hire businesses, but payment may be tied to subscription payment models that requires a central entity to manage customer subscription relationships and to pay the service supply chain. This places restrictions on how the service supply chain gets paid and often rewards the wrong service providers in terms of the end-user value they bring.
[0022] The MaaS MPT framework, discussed herein, for exchanging value for power/resource where value may be in the form of digital currency or for information assets and e-contracts allows more direct exchange interactions that circumvent complex value chains where a central entity determines the value of the various entities in the value exchange based on political clout, marketing influence, or other factors that may not directly relate to the value that is supplied at the point of asset exchange.
[0023] The MaaS MPT provides an online marketplace-based framework in which the owners of MaaS-aware resources and services may rent-out their facility to earn monetary rewards. This framework opens-up new possibilities for efficiently managing overhead MaaS operational costs by allowing direct payment for MaaS services. For example, an electric vehicle (EV) may have received application-based compensation from ridesharing in e-currency rather than converting Ether to Euros and the charging facility may only accept payment in MaaS blockchain tokens such as Stable-coin.
[0024] The MaaS MPT integrates micro-payment capabilities that may be the only payment infrastructure in rural economies (e.g., e-rickshaw and other forms of non-traditional transportation). MaaS MPT may address the problem of recovering currency conversion loss by exchanging in a variety of e-tokens. This may include information bartering using data assets. E-contracts may facilitate the exchange of assets.
[0025] Downstream suppliers such as an energy provider, MaaS node hosting providers, service providers, and repair service providers may receive payment from the MaaS nodes with MPT directly. Instrumenting MaaS-enabled hardware and software with MPT ensures each supplier in the MaaS ecosystem is capable of directly receiving compensation for service value it provides.
[0026]
[0027] A task manager 105 works with a micro payment manager 125 to coordinate receipt of a micro payment before tasks 110 execute. Once a micro-payment contract 165 is in place, resource utilization and telemetry based on data from performance counters 120, power usage based on data from a watt meter 160, etc. charge against the micro-payment contract 165. Other parts of the MaaS ecosystem may receive micro-payments too such as an energy provider 145 and infrastructure providers 135.
[0028] The MaaS node 195 accepts micro-payment/tokenized currency as a form of payment and may refuse service/processing until fair payment terms are agreed to. Payment terms are normally addressed using a Service Level Agreement (SLA). However, if there are multiple steps to negotiating terms an e-contract may be employed instead or in addition. The e-contract may be part of the micro-payment contract 165. Access to e-wallets 130, 140, 150, and 190 for processing micro-payments and negotiating contracts facilitates integration of micro-payment technology into the MaaS node 195. MaaS architecture integrates the e-wallets 130, 140, 150, and 190 and micro-payment management with MaaS infrastructure, message exchange, etc. MaaS sensor networks, telemetry, and analytics may help drive fair pricing for MaaS services that are offered. Additionally, software defined hardware (SDHW) may be used to control (e.g., limit, etc.) the resources available for hire vs. always available to handle emergency or safety critical circumstances.
[0029] A MaaS orchestrator 180 and a MaaS scheduler 185 work in conjunction to schedule tasks 110 on compute resources 115 using the task manager 105. An e-contract for a task 110 identifies micro-payment options and e-wallets that will handle micro-payment debits and credits. The task 110 and e-contract are combined into an input 175 for the task manager 105. The task manager 105 notifies the micro-payment manager 125 regarding terms of task 110 execution and payment.
[0030] The task manager 105 notifies the MaaS orchestrator 180 when it is ready to complete the micro-payment for the task 110 and execution of the task 110 using the compute resources 115. The MaaS orchestrator 180 provides access to the e-wallet 190 to guarantee payment.
[0031] Compute resources 115 and other resources are allocated to the task 110. The workload may require acceleration (e.g., via field programmable gate array (FPGA), graphics processing unit (GPU), and other specialized processors) or protection (e.g., via trusted execution environment (TEE), etc.). If so, the workload planning/MaaS scheduler 185 will ensure the proper set of resources are allocated.
[0032] The task 110 is submitted to the compute resources 115 for execution. The performance counters 120 (e.g., telemetry counters, computing resource counters, etc.) measure computing resources used while the watt meter 160 measures power usage. Accounting statistics are made available to the micro-payment manager 125.
[0033] Task results 170 are returned to the MaaS orchestrator 180 via the task manager 105 and notifies micro-payment manager 125 of task 110 completion. The micro-payment manager 125 completes a micro-payment transaction for the task 110 (or for a workload including the task 110) from an e-wallet 190 of the MaaS orchestrator 180.
[0034] Other MaaS infrastructure entities such as the infrastructure providers 135 and energy provider 145 may receive downstream micro-payments for services and resources supplied to receive micro-payment as a share of micro-payment that e-wallet 130 receives.
[0035] Each step of the process can be audited/logged via an Audit Manager (shown later in
[0036] In some use cases, advertisers might offer discounts in the form of paid for resources in exchange for a user consuming an ad. A tenant/user profile preference module may provide ad targeting information and may facilitate receipt and presentation of ads to the user. The advertiser might supply an e-contract that agrees to pay e-tokens in exchange for the user consuming the ad. The e-tokens are deposited into an e-wallet of the user. When an e-bill is presented the micro-payment manager 125 may use the local e-wallet of the user to pay the e-bill. Because there is an e-token used, the e-contract does not need to describe payment in the form of the workload execution. This helps avoid what would otherwise be a complex 3-way transaction. The micro-payment manager 125 may also be used to collect taxes where the tax rate is included in the micro-payment contract 165. A suitable e-wallet may be identified to receive the tax transaction such as a government tax collection agency hosted service. The tax collection micro-payment functions similarly to that of the infrastructure providers 135 and the energy provider 145 as a cost of providing the service in the task 110.
[0037]
[0038] A MaaS node 200 with micro-payment technology (MPT) is shown in
[0039] A micro-billing manager module 215 correlates the metered resources with tenant tasks and obtains service contract terms either from a planning/scheduler/orchestrator module 220 or from an e-contract (provided by an e-contracts manager module 225). The micro-billing manager module 215 may establish the e-contract with a requestor (e.g., a user, a tenant, etc.) of the task. In an example, the e-contract may include micro-payment options and the e-wallet of the requestor. In an example, resource utilization and performance metrics may be analyzed to set a target micro-payment rate for resources of the MaaS node 200. An e-contract proposal may be received from the requestor. It may be calculated that the e-contract terms are insufficient to meet the target micro-payment rate. An e-contract negotiation exchange may be initiated between the MaaS node 200 and the requestor and the e-contract may be established based on the results of the negotiation exchange.
[0040] The micro-billing manager module 215 presents a bill for resources used to execute the tenant/user workload to a micro-payment manager module 230. In an example, telemetry data, analytical data, and sensor data may be obtained for execution of the task from the MaaS node 200 and the micro-payment amount may be calculated using the telemetry data, analytical data, and sensor data. In an example, the sensor data may include power consumption data. The micro-payment manager module 230 accesses an e-wallet of the tenant to pay the bill. The micro-payment manager module 230 may initiate a micro-payment transaction based on the task and the e-contract. In an example, the task may be a member of a workload and the micro-payment amount may include an amount that corresponds to the resources used to complete the workload by the Maas node 200.
[0041] The planning/scheduler/orchestrator module 220 may submit the task for execution using resources of the MaaS node 200. In an example, the resource may be a power charging station. In another example, the resource may be a package delivery drone. In an example, the planning/scheduler/orchestrator module 220 may calculate available resources of the MaaS node 200. A subset of the available resources dedicated to critical workloads may be determined and the resources of the MaaS node 200 that are available for processing the task may be limited using software-defined hardware.
[0042] The micro-payment manager module 230 may transfer the micro-payment amount from an e-wallet of the requestor to e-wallet 240 of the MaaS node 200. In an example, the micro-payment transaction may be submitted for processing by a micro-payment clearing service. In an example, the micro-payment may be facilitated using distributed ledger technology. In another example, the micro-payment may be facilitated using a blockchain. This may require use of a distributed ledger technology (DLT) agent module 235 to clear the transaction on a blockchain/DLT. If the tenant's e-wallet is remote, then an e-contract is used to perform the appropriate 2-phase/3-phase commit protocol. The funds may be transferred to the e-wallet 240. The micro-payment manager module 230 may cache transactions locally if connectivity to the clearing network isn't available (e.g., using an auditor/logging module 245). Audit logs record that workload tasks have executed. The auditor/logging module 245 may check the DLT clearing network to verify the payment was processed for work that was done. If the transactions do not clear and the local cache is corrupted, then the auditor/logging module 245 may authorize re-starting the payment clearing process.
[0043] In an example, a portion of a third-party infrastructure expense may be calculated that is attributable to the task. The micro-payment may be apportioned among the MaaS node 200 and the third-party infrastructure expense and a portion of the micro-payment may be transferred to an e-wallet of an infrastructure provider corresponding to the third-party infrastructure expense.
[0044] As a precondition of running the user/tenant workload, the planning/scheduler/orchestrator module 220 may require attestation. The attestation manager 250 collects the attestation evidence from the various parts of the system that will be used to execute the workload. Evidence is forwarded to the planning/scheduler/orchestrator module 220 or to a remote orchestrator. Additionally, the user may wish to see a report of the internal state of the MaaS node 200 via a user interface 255. In an example, an attestation request may be received that corresponds to the task. Attestation evidence may be collected from the resources of the MaaS node 200 and the task may be scheduled for execution using the resources of the MaaS node 200 upon validation of the attestation evidence. A more sophisticated orchestrator may include a policy that identifies the attestation checks that must pass before the workload may proceed. The policy may be accompanied by a service level agreement that authorizes higher payment if higher levels of security can be guaranteed.
[0045]
[0046] MaaS Nodes are connected to a MaaS payment processing network that may use blockchain/DLT to clear micro-payment transactions. In Blockchains and DLT, the cost of achieving consensus and committing transactions to a ledger involves compensation. Unlike traditional blockchains (e.g., Bitcoin. Ethereum, etc.), the cost of transaction clearing need not be paid through mining but instead may be paid through e-wallet exchange. The miner nodes simply require an e-contract that authorizes them to clear a number of transactions in exchange for micro-payments to their e-wallet. If the MaaS ecosystem is funded initially through capital investment sources, the MaaS system may grow with additional capital investments. This approach allows the MaaS ecosystem to grow in accordance with the real value (or perceived real value) based on the amount of real dollars contributed. If there is speculative value associated with MaaS growth it is pre-assessed by venture capital sources, not as speculation on the token itself.
[0047] MaaS micro-payment infrastructure uses a DLT (blockchain) to perform micro-transactions for MaaS Services that may extend to the last/first mile. Micro-transactions are cleared using the MaaS micro-payment infrastructure that may be implemented both on MaaS nodes directly (e.g., MaaS node with micro-payments 305, etc.) or on Edge/Cloud hosting services (e.g., MaaS micro-payment processing nodes 310. Blockchain DLT with micro-payment 315, other MaaS nodes connected via a gateway 320, etc.). The MaaS micro-payment clearing network 300 has a gateway 325 to traditional banks and capital sources 330. The infusion of tokens allows the MaaS infrastructure to operate. The MaaS nodes 310 may be gifted tokens into its respective e-wallet in order to authorize payment for resources required to process a MaaS workload. Subsequent payments for MaaS services rendered serve to replenish the e-wallet such that subsequent gifting is not necessary. If the cost of operation is higher than the proceeds collected, then the price of the MaaS service is raised, or the MaaS node is replaced with a less expensive to operate successor.
[0048]
[0049] The MaaS micro-payment-capable platform 400 is equipped with easy connect micro-payment and charging interfaces such as induction coils under control of a power management integrated circuit 420 where a charging station 405 may supply power (e.g., to recharge a battery, etc.) and, as a condition of charging, receive micro-payments. The platform 400 uses a charging and payment engine (CPE) 415 to meter the current received and to allocate micro-payment tokens in e-wallet 435 to an e-wallet 445 of the charging station. Payment processors 450 in the MaaS Edge 455 may provide clearing services for the e-currency such as Blockchain. PayPal, etc.
[0050] Many MaaS devices are un-tethered and operate on battery 425 or other mobile fuel-cell technology that needs periodic re-charging/re-fueling to operate a processor 430. A simple interface is helpful for connecting the micro-payment exchange that works with charging/refueling interfaces.
[0051] An integrated micro-payment induction coil sensor 440 interface with battery 425 charging induction coil sensor 410 is used so that as watts flow to the battery 425, micro-payments flow from the e-wallet 435 to the charging source (e.g., the e-wallet 445 of the charging station 405, etc.). Other charging sources such as universal serial bus (USB), high-definition multimedia interface (HDMI). Ethernet, etc. may be repurposed to support micro-payment flow in the opposite direction as recharging current flow.
[0052]
[0053] A MaaS Drone 530 may be powered by a battery 525 and may contain a delivery and payment engine (DPE) 520 that manages micro-payment for delivery of a package 505. A customer hosts a micro-payment service 545 in the location where the package 505 is delivered that includes an e-wallet 550. The micro-payment service 545 may operate on a customer wireless network 540. When the package 505 is delivered, the micro-payment service 545 releases payment tokens to an e-wallet 570 of the MaaS drone 530. The package 505 may contain a radio-frequency identification (RFID) tag 510 that a RFID reader controller 515 of the MaaS drone 530 uses to provide package status updates throughout the delivery process. The MaaS drone 530 may use its wide-area network (WAN) controller 535 to deliver frequent status updates throughout the delivery period. The DPE 520 may alter flight path, arrival time, power consumption, etc. to satisfy the terms of payment of the customer. The customer wireless network 540 and the WAN controller 535 connections may be used to perform micro-payment clearing in the MaaS Edge 560 infrastructure via payment processors 565.
[0054] In both rural and urban communities, automated package delivery is paid for by subscription-based model. However, package delivery drone providers may rely on the subscription provider to determine value for package delivery rather than the end-user. Additionally, the user may desire improved tracking/status updates which is a service the drone provider may offer directly to customer.
[0055] The MaaS drone 530 with the RFID reader controller 515 and RFID tag 510 on the package 510 allows for robust package tracking. An induction coil interface may be used in place of RFID for package tracking.
[0056]
[0057] At operation 605, a task may be received to be executed by a MaaS node (e.g., the MaaS node 200 as described in
[0058] At operation 610, an e-contract may be established with a requestor of the task. In an example, the e-contract may include micro-payment options and the e-wallet of the requestor. In an example, resource utilization and performance metrics may be analyzed to set a target micro-payment rate for resources of the MaaS node. An e-contract proposal may be received from the requestor. It may be calculated that the e-contract terms are insufficient to meet the target micro-payment rate. An e-contract negotiation exchange may be initiated between the MaaS node and the requestor and the e-contract may be established based on the results of the negotiation exchange.
[0059] In an example, telemetry data, analytical data, and sensor data may be obtained for execution of the task from the MaaS node 200 and the micro-payment amount may be calculated using the telemetry data, analytical data, and sensor data. In an example, the sensor data may include power consumption data.
[0060] At operation 615, a micro-payment transaction may be initiated based on the task and the e-contract. In an example, the task may be a member of a workload and the micro-payment amount may include an amount that corresponds to the resources used to complete the workload by the MaaS node.
[0061] At operation 620, the task may be submitted for execution using resources of the MaaS node. In an example, the resource may be a power charging station. In another example, the resource may be a package delivery drone. In an example, available resources of the MaaS node may be calculated. A subset of the available resources dedicated to critical workloads may be determined and the resources of the MaaS node that are available for processing the task may be limited using software-defined hardware.
[0062] At operation 625, the micro-payment amount may be transferred from an e-wallet of the requestor to an e-wallet of the MaaS node. In an example, the micro-payment transaction may be submitted for processing by a micro-payment clearing service. In an example, the micro-payment may be facilitated using distributed ledger technology. In another example, the micro-payment may be facilitated using a blockchain.
[0063] In an example, a portion of a third-party infrastructure expense may be calculated that is attributable to the task. The micro-payment may be apportioned among the MaaS node and the third-party infrastructure expense and a portion of the micro-payment may be transferred to an e-wallet of an infrastructure provider corresponding to the third-party infrastructure expense.
[0064] In an example, an attestation request may be received that corresponds to the task. Attestation evidence may be collected from the resources of the MaaS node and the task may be scheduled for execution using the resources of the MaaS node upon validation of the attestation evidence.
[0065]
[0066] Examples, as described herein, may include, or may operate by, logic or a number of components, or mechanisms. Circuit sets are a collection of circuits implemented in tangible entities that include hardware (e.g., simple circuits, gates, logic, etc.). Circuit set membership may be flexible over time and underlying hardware variability. Circuit sets include members that may, alone or in combination, perform specified operations when operating. In an example, hardware of the circuit set may be immutably designed to carry out a specific operation (e.g., hardwired). In an example, the hardware of the circuit set may include variably connected physical components (e.g., execution units, transistors, simple circuits, etc.) including a computer readable medium physically modified (e.g., magnetically, electrically, moveable placement of invariant massed particles, etc.) to encode instructions of the specific operation. In connecting the physical components, the underlying electrical properties of a hardware constituent are changed, for example, from an insulator to a conductor or vice versa. The instructions enable embedded hardware (e.g., the execution units or a loading mechanism) to create members of the circuit set in hardware via the variable connections to carry out portions of the specific operation when in operation. Accordingly, the computer readable medium is communicatively coupled to the other components of the circuit set member when the device is operating. In an example, any of the physical components may be used in more than one member of more than one circuit set. For example, under operation, execution units may be used in a first circuit of a first circuit set at one point in time and reused by a second circuit in the first circuit set, or by a third circuit in a second circuit set at a different time.
[0067] Machine (e.g., computer system) 700 may include a hardware processor 702 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory 704 and a static memory 706, some or all of which may communicate with each other via an interlink (e.g., bus) 708. The machine 700 may further include a display unit 710, an alphanumeric input device 712 (e.g., a keyboard), and a user interface (UI) navigation device 714 (e.g., a mouse). In an example, the display unit 710, input device 712 and UI navigation device 714 may be a touch screen display. The machine 700 may additionally include a storage device (e.g., drive unit) 716, a signal generation device 718 (e.g., a speaker), a network interface device 720, and one or more sensors 721, such as a global positioning system (GPS) sensor, compass, accelerometer, or other sensors. The machine 700 may include an output controller 728, such as a serial (e.g., universal serial bus (USB), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate or control one or more peripheral devices (e.g., a printer, card reader, etc.).
[0068] The storage device 716 may include a machine readable medium 722 on which is stored one or more sets of data structures or instructions 724 (e.g., software) embodying or utilized by any one or more of the techniques or functions described herein. The instructions 724 may also reside, completely or at least partially, within the main memory 704, within static memory 706, or within the hardware processor 702 during execution thereof by the machine 700. In an example, one or any combination of the hardware processor 702, the main memory 704, the static memory 706, or the storage device 716 may constitute machine readable media.
[0069] While the machine readable medium 722 is illustrated as a single medium, the term “machine readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) configured to store the one or more instructions 724.
[0070] The term “machine readable medium” may include any medium that is capable of storing, encoding, or carrying instructions for execution by the machine 700 and that cause the machine 700 to perform any one or more of the techniques of the present disclosure, or that is capable of storing, encoding or carrying data structures used by or associated with such instructions. Non-limiting machine-readable medium examples may include solid-state memories, and optical and magnetic media. In an example, machine readable media may exclude transitory propagating signals (e.g., non-transitory machine-readable storage media). Specific examples of non-transitory machine-readable storage media may include: non-volatile memory, such as semiconductor memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM)) and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[0071] The instructions 724 may further be transmitted or received over a communications network 726 using a transmission medium via the network interface device 720 utilizing any one of a number of transfer protocols (e.g., frame relay, internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), etc.). Example communication networks may include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks (e.g., cellular networks). Plain Old Telephone (POTS) networks, and wireless data networks (e.g., Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards known as Wi-Fi®, LoRa/LoRaWAN low power wide area network (LPWAN) standards, etc.). IEEE 802.15.4 family of standards, peer-to-peer (P2P) networks, satellite communication networks, 3.sup.rd Generation Partnership Project (3GPP) standards for 4G and 5G wireless communication including: 3GPP Long-Term evolution (LTE) family of standards, 3GPP LTE Advanced family of standards, 3GPP LTE Advanced Pro family of standards, 3GPP New Radio (NR) family of standards, among others. In an example, the network interface device 720 may include one or more physical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or more antennas to connect to the communications network 726. In an example, the network interface device 720 may include a plurality of antennas to wirelessly communicate using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) techniques. The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine 700, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software.
ADDITIONAL NOTES & EXAMPLES
[0072] Example 1 is a system for payment processing in a mobility-as-a-service (MaaS) network comprising: at least one processor; and memory including instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: receive a mobility task for execution by a MaaS node of the MaaS network; establish an electronic contract with a requestor of the mobility task; initiate a payment transaction based on the mobility task and the electronic contract; submit the mobility task for execution by the MaaS node using resources of the MaaS node; and transfer an amount of the payment from an electronic account of the requestor to an electronic account of the MaaS node.
[0073] In Example 2, the subject matter of Example 1 wherein, the mobility task is a member of a workload and the payment amount includes an amount that corresponds to the resources used to complete the workload by the MaaS node.
[0074] In Example 3, the subject matter of Examples 1-2 wherein, the electronic contract includes payment options and the electronic account of the requestor.
[0075] In Example 4, the subject matter of Examples 1-3 wherein, the payment transaction is submitted for processing by a payment clearing service.
[0076] In Example 5, the subject matter of Examples 1-4 includes, the memory further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: obtain telemetry data, analytical data, and sensor data for execution of the mobility task from the MaaS node; and calculate the payment amount using the telemetry data, analytical data, and sensor data.
[0077] In Example 6, the subject matter of Example 5 wherein, the sensor data includes power consumption data.
[0078] In Example 7, the subject matter of Examples 1-6 includes, the memory further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: calculate a portion of a third-party infrastructure expense attributable to the mobility task; apportion the payment among the MaaS node and the third-party infrastructure expense; and transmit a portion of the payment to an electronic account of an infrastructure provider corresponding to the third-party infrastructure expense.
[0079] In Example 8, the subject matter of Examples 1-7 includes, the memory further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: calculate available resources of the MaaS node; determine a subset of the available resources dedicated to critical workloads; and limit the resources of the MaaS node that are available for processing the mobility task using software-defined hardware.
[0080] In Example 9, the subject matter of Examples 1-8 includes, the memory further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: analyze resource utilization and performance metrics to set a target payment rate for resources of the MaaS node; receive an electronic contract proposal from the requestor; calculate that terms of the electronic contract proposal are insufficient to meet the target payment rate initiate an electronic contract negotiation exchange between the MaaS node and the requestor; and establish the electronic contract based on results of the negotiation exchange.
[0081] In Example 10, the subject matter of Examples 1-9 includes, the memory further comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: receive an attestation request corresponding to the mobility task; collect attestation evidence from the resources of the MaaS node; and schedule the mobility task for execution using the resources of the MaaS node upon validation of the attestation evidence.
[0082] In Example 11, the subject matter of Examples 1-10 wherein, the payment is facilitated using distributed ledger technology.
[0083] In Example 12, the subject matter of Examples 1-11 wherein, the payment is facilitated using a blockchain.
[0084] In Example 13, the subject matter of Examples 1-12 wherein, the resource is a power charging station.
[0085] In Example 14, the subject matter of Examples 1-13 wherein, the resource is a package delivery drone.
[0086] In Example 15, the subject matter of Examples 1-14 wherein, the MaaS network includes a set of MaaS nodes including the MaaS node, and wherein the set of MaaS nodes are distributed among a set of vehicles operating in a geographic area.
[0087] In Example 16, the subject matter of Examples 1-15 wherein, the MaaS node is mobile computing apparatus corresponding to a vehicle.
[0088] Example 17 is at least one non-transitory machine-readable medium including instructions for payment processing in a mobility-as-a-service (MaaS) network that, when executed by at least one processor, cause the at least one processor to perform operations to: receive a mobility task for execution by a MaaS node of the MaaS network; establish an electronic contract with a requestor of the mobility task; initiate a payment transaction based on the mobility task and the electronic contract; submit the mobility task for execution by the MaaS node using resources of the MaaS node; and transfer an amount of the payment from an electronic account of the requestor to an electronic account of the MaaS node.
[0089] In Example 18, the subject matter of Example 17 wherein, the mobility task is a member of a workload and the payment amount includes an amount that corresponds to the resources used to complete the workload by the MaaS node.
[0090] In Example 19, the subject matter of Examples 17-18 wherein, the electronic contract includes payment options and the electronic account of the requestor.
[0091] In Example 20, the subject matter of Examples 17-19 wherein, the payment transaction is submitted for processing by a payment clearing service.
[0092] In Example 21, the subject matter of Examples 17-20 includes, instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: obtain telemetry data, analytical data, and sensor data for execution of the mobility task from the MaaS node; and calculate the payment amount using the telemetry data, analytical data, and sensor data.
[0093] In Example 22, the subject matter of Example 21 wherein, the sensor data includes power consumption data.
[0094] In Example 23, the subject matter of Examples 17-22 includes, instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: calculate a portion of a third-party infrastructure expense attributable to the mobility task; apportion the payment among the MaaS node and the third-party infrastructure expense; and transmit a portion of the payment to an electronic account of an infrastructure provider corresponding to the third-party infrastructure expense.
[0095] In Example 24, the subject matter of Examples 17-23 includes, instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: calculate available resources of the MaaS node; determine a subset of the available resources dedicated to critical workloads; and limit the resources of the MaaS node that are available for processing the mobility task using software-defined hardware.
[0096] In Example 25, the subject matter of Examples 17-24 includes, instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: analyze resource utilization and performance metrics to set a target payment rate for resources of the MaaS node; receive an electronic contract proposal from the requestor; calculate that terms of the electronic contract proposal are insufficient to meet the target payment rate; initiate an electronic contract negotiation exchange between the MaaS node and the requestor; and establish the electronic contract based on results of the negotiation exchange.
[0097] In Example 26, the subject matter of Examples 17-25 includes, instructions that, when executed by the at least one processor, cause the at least one processor to perform operations to: receive an attestation request corresponding to the mobility task; collect attestation evidence from the resources of the MaaS node; and schedule the mobility task for execution using the resources of the MaaS node upon validation of the attestation evidence.
[0098] In Example 27, the subject matter of Examples 17-26 wherein, the payment is facilitated using distributed ledger technology.
[0099] In Example 28, the subject matter of Examples 17-27 wherein, the payment is facilitated using a blockchain.
[0100] In Example 29, the subject matter of Examples 17-28 wherein, the resource is a power charging station.
[0101] In Example 30, the subject matter of Examples 17-29 wherein, the resource is a package delivery drone.
[0102] In Example 31, the subject matter of Examples 17-30 wherein, the MaaS network includes a set of MaaS nodes including the MaaS node, and wherein the set of MaaS nodes are distributed among a set of vehicles operating in a geographic area.
[0103] In Example 32, the subject matter of Examples 17-31 wherein, the MaaS node is mobile computing apparatus corresponding to a vehicle.
[0104] Example 33 is a method for payment processing in a mobility-as-a-service (MaaS) network comprising: receiving a mobility task for execution by a MaaS node of the MaaS network; establishing an electronic contract with a requestor of the mobility task; initiating a payment transaction based on the mobility task and the electronic contract; submitting the mobility task for execution by the MaaS node using resources of the MaaS node; and transferring an amount of the payment from an electronic account of the requestor to an electronic account of the MaaS node.
[0105] In Example 34, the subject matter of Example 33 wherein, the mobility task is a member of a workload and the payment amount includes an amount that corresponds to the resources used to complete the workload by the MaaS node.
[0106] In Example 35, the subject matter of Examples 33-34 wherein, the electronic contract includes payment options and the electronic account of the requestor.
[0107] In Example 36, the subject matter of Examples 33-35 wherein, the payment transaction is submitted for processing by a payment clearing service.
[0108] In Example 37, the subject matter of Examples 33-36 includes, obtaining telemetry data, analytical data, and sensor data for execution of the mobility task from the MaaS node; and calculating the payment amount using the telemetry data, analytical data, and sensor data.
[0109] In Example 38, the subject matter of Example 37 wherein, the sensor data includes power consumption data.
[0110] In Example 39, the subject matter of Examples 33-38 includes, calculating a portion of a third-party infrastructure expense attributable to the mobility task; apportioning the payment among the MaaS node and the third-party infrastructure expense; and transmitting a portion of the payment to an electronic account of an infrastructure provider corresponding to the third-party infrastructure expense.
[0111] In Example 40, the subject matter of Examples 33-39 includes, calculating available resources of the MaaS node; determining a subset of the available resources dedicated to critical workloads; and limiting the resources of the MaaS node that are available for processing the mobility task using software-defined hardware.
[0112] In Example 41, the subject matter of Examples 33-40 includes, analyzing resource utilization and performance metrics to set a target payment rate for resources of the MaaS node; receiving an electronic contract proposal from the requestor; calculating that terms of the electronic contract proposal are insufficient to meet the target payment rate; initiating an electronic contract negotiation exchange between the MaaS node and the requestor; and establishing the electronic contract based on results of the negotiation exchange.
[0113] In Example 42, the subject matter of Examples 33-41 includes, receiving an attestation request corresponding to the mobility task; collecting attestation evidence from the resources of the MaaS node; and scheduling the mobility task for execution using the resources of the MaaS node upon validation of the attestation evidence.
[0114] In Example 43, the subject matter of Examples 33-42 wherein, the payment is facilitated using distributed ledger technology.
[0115] In Example 44, the subject matter of Examples 33-43 wherein, the payment is facilitated using a blockchain.
[0116] In Example 45, the subject matter of Examples 33-44 wherein, the resource is a power charging station.
[0117] In Example 46, the subject matter of Examples 33-45 wherein, the resource is a package delivery drone.
[0118] In Example 47, the subject matter of Examples 33-46 wherein, the MaaS network includes a set of MaaS nodes including the MaaS node, and wherein the set of MaaS nodes are distributed among a set of vehicles operating in a geographic area.
[0119] In Example 48, the subject matter of Examples 33-47 wherein, the MaaS node is mobile computing apparatus corresponding to a vehicle.
[0120] Example 49 is at least one machine-readable medium including instructions that, when executed by a machine, cause the machine to perform any method of Examples 33-48.
[0121] Example 50 is a system comprising means to perform any method of Examples 33-48.
[0122] Example 51 is a system for payment processing in a mobility-as-a-service (MaaS) network comprising: means for receiving a mobility task for execution by a MaaS node of the MaaS network; means for establishing an electronic contract with a requestor of the mobility task; means for initiating a payment transaction based on the mobility task and the electronic contract; means for submitting the mobility task for execution by the MaaS node using resources of the MaaS node; and means for transferring an amount of the payment from an electronic account of the requestor to an electronic account of the MaaS node.
[0123] In Example 52, the subject matter of Example 51 wherein, the mobility task is a member of a workload and the payment amount includes an amount that corresponds to the resources used to complete the workload by the MaaS node.
[0124] In Example 53, the subject matter of Examples 51-52 wherein, the electronic contract includes payment options and the electronic account of the requestor.
[0125] In Example 54, the subject matter of Examples 51-53 wherein, the payment transaction is submitted for processing by a payment clearing service.
[0126] In Example 55, the subject matter of Examples 51-54 includes, means for obtaining telemetry data, analytical data, and sensor data for execution of the mobility task from the MaaS node; and means for calculating the payment amount using the telemetry data, analytical data, and sensor data.
[0127] In Example 56, the subject matter of Example 55 wherein, the sensor data includes power consumption data.
[0128] In Example 57, the subject matter of Examples 51-56 includes, means for calculating a portion of a third-party infrastructure expense attributable to the mobility task; means for apportioning the payment among the MaaS node and the third-party infrastructure expense; and means for transmitting a portion of the payment to an electronic account of an infrastructure provider corresponding to the third-party infrastructure expense.
[0129] In Example 58, the subject matter of Examples 51-57 includes, means for calculating available resources of the MaaS node; means for determining a subset of the available resources dedicated to critical workloads; and means for limiting the resources of the MaaS node that are available for processing the mobility task using software-defined hardware.
[0130] In Example 59, the subject matter of Examples 51-58 includes, means for analyzing resource utilization and performance metrics to set a target payment rate for resources of the MaaS node; means for receiving an electronic contract proposal from the requestor; means for calculating that terms of the electronic contract proposal are insufficient to meet the target payment rate; means for initiating an electronic contract negotiation exchange between the MaaS node and the requestor; and means for establishing the electronic contract based on results of the negotiation exchange.
[0131] In Example 60, the subject matter of Examples 51-59 includes, means for receiving an attestation request corresponding to the mobility task; means for collecting attestation evidence from the resources of the MaaS node; and means for scheduling the mobility task for execution using the resources of the MaaS node upon validation of the attestation evidence.
[0132] In Example 61, the subject matter of Examples 51-60 wherein, the payment is facilitated using distributed ledger technology.
[0133] In Example 62, the subject matter of Examples 51-61 wherein, the payment is facilitated using a blockchain.
[0134] In Example 63, the subject matter of Examples 51-62 wherein, the resource is a power charging station.
[0135] In Example 64, the subject matter of Examples 51-63 wherein, the resource is a package delivery drone.
[0136] In Example 65, the subject matter of Examples 51-64 wherein, the MaaS network includes a set of MaaS nodes including the MaaS node, and wherein the set of MaaS nodes are distributed among a set of vehicles operating in a geographic area.
[0137] In Example 66, the subject matter of Examples 51-65 wherein, the MaaS node is mobile computing apparatus corresponding to a vehicle.
[0138] Example 67 is at least one machine-readable medium including instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations to implement of any of Examples 1-66.
[0139] Example 68 is an apparatus comprising means to implement of any of Examples 1-66.
[0140] Example 69 is a system to implement of any of Examples 1-66.
[0141] Example 70 is a method to implement of any of Examples 1-66.
[0142] The above detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific embodiments that may be practiced. These embodiments are also referred to herein as “examples.” Such examples may include elements in addition to those shown or described. However, the present inventors also contemplate examples in which only those elements shown or described are provided. Moreover, the present inventors also contemplate examples using any combination or permutation of those elements shown or described (or one or more aspects thereof), either with respect to a particular example (or one or more aspects thereof), or with respect to other examples (or one or more aspects thereof) shown or described herein.
[0143] In this document, the terms “a” or “an” are used, as is common in patent documents, to include one or more than one, independent of any other instances or usages of “at least one” or “one or more.” In this document, the term “or” is used to refer to a nonexclusive or, such that “A or B” includes “A but not B,” “B but not A,” and “A and B,” unless otherwise indicated. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.” Also, in the following claims, the terms “including” and “comprising” are open-ended, that is, a system, device, article, or process that includes elements in addition to those listed after such a term in a claim are still deemed to fall within the scope of that claim. Moreover, in the following claims, the terms “first,” “second,” and “third,” etc. are used merely as labels, and are not intended to impose numerical requirements on their objects.
[0144] The above description is intended to be illustrative, and not restrictive. For example, the above-described examples (or one or more aspects thereof) may be used in combination with each other. Other embodiments may be used, such as by one of ordinary skill in the art upon reviewing the above description. The Abstract is to allow the reader to quickly ascertain the nature of the technical disclosure and is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Also, in the above Detailed Description, various features may be grouped together to streamline the disclosure. This should not be interpreted as intending that an unclaimed disclosed feature is essential to any claim. Rather, inventive subject matter may lie in less than all features of a particular disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment. The scope of the embodiments should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.