Method and system for implementing effective governance of transactions between trading partners

An embodiment of the present invention is directed to receiving a first independent log from a first trading partner wherein the first independent log comprises at least one request log entry associated with a transaction wherein the request log entry comprises at least a request identifier; receiving a second independent log from a second trading partner wherein the second independent log comprises at least one reply log entry associated with the transaction between the first trading partner and the second trading partner, wherein the reply log entry comprises at least a reply identifier; matching the at least one request log entry and the at least one reply log entry based on one or more of the request identifier and the reply identifier at a third party interface; identifying non-matching log entries at the third party interface; and forwarding the non-matching log entries for one or more of error processing and dispute resolution.

FIELD OF THE INVENTION

The present invention relates generally to transactions between trading partners and, more particularly, to a method and system for implementing effective governance of transactions between trading partners in the financial industry through a third party matching entity.

BACKGROUND OF THE INVENTION

Trading partners are often associated with one another to perform certain types of business transactions or to use shared facilities, such as a communications network. The level of trust among partners may vary depending on the nature of the association, the value of the shared resources, and the value of the transactions carried out. One way of enhancing trust between the members is for an association to charter a third party with the responsibility for governing the use of the network, enforcing business practices, and performing reporting and accounting activities appropriate to the transactions.

In the past, such third parties, including credit card, debit card, and ACH network associations, have discharged their role by actively participating in the transmission of transactions between their members, typically by establishing communications “switches” that received, parsed, evaluated, logged, routed, and transmitted the messages within a secure location controlled by the third party. These “star” or “multi-star” networks, with their centralized switches, were compatible with the networking technology of the day, which relied upon leased lines and minicomputer or mainframe-based messaging hubs.

The Internet (and internet technologies used in private networks) is designed with an entirely different architecture. More specifically, Internet technologies rely on the routing of Internet Protocol packets among routers whose functions are deliberately minimized so as to allow high-speed processing and maximum efficiency in directly connecting network endpoints. There is no small set of centralized hubs through which all messages between the endpoints flow, and functionality is deliberately devolved from the “intelligent network” to the “intelligent periphery.”

For Internet Protocol (IP) networks a new approach to governing the use of the network and the integrity of the transactions is needed.

One approach is for the third party to deploy its own devices at the periphery. There are several disadvantages of this approach, including the number of locations to be equipped, the difficulty of administering and maintaining dispersed devices, and the need to find suitable locations for sheltering, powering, cooling and securing the devices. If the devices are placed in the trading partners' data centers, then there are considerations as to whether the devices are outside a partner's firewalls, within the DMZ, or within the server farm. De-Militarized Zone refers to a network compartment separated from the external network by an external firewall and from the internal corporate networks and corporate server farms by an internal firewall. Devices located on a partner's premises may also be attacked and subverted by the partner, if there is an incentive to do so.

In view of the foregoing, it would be desirable to provide a method and system for implementing effective governance of transactions between trading partners in the financial industry through a third party log entry matching entity, which overcomes the above-described inadequacies and shortcomings.

SUMMARY OF THE INVENTION

According to an embodiment of the present invention, a method and a system provides for effective governance of transactions between trading partners in the financial industry through a third party log entry matching entity.

According to an exemplary embodiment of the present invention, a computer implemented method for governing business transactions between trading partners comprises the steps of: receiving a first independent log from a first trading partner wherein the first independent log comprises at least one request log entry associated with a transaction wherein the request log entry comprises at least a request identifier; receiving a second independent log from a second trading partner wherein the second independent log comprises at least one reply log entry associated with the transaction between the first trading partner and the second trading partner, wherein the reply log entry comprises at least a reply identifier; matching the at least one request log entry and the at least one reply log entry based on one or more of the request identifier and the reply identifier at a third party interface; identifying non-matching log entries at the third party interface; and forwarding the non-matching log entries for one or more of error processing and dispute resolution.

In accordance with other aspects of this exemplary embodiment of the present invention, the matching log entries are used to perform a business function as agreed to in a preexisting agreement between the first trading partner and the second trading partner; the business function comprises one or more of billing the first or second partner and transferring value between the partners; each of the request log entry and reply log entry contains at least part of a message plaintext exchanged between the first trading partner and the second trading partner; the message plaintext is encrypted and each of the request log entry and reply log entry contains cryptographic hash functions to allow later verification that the message plaintext logged by the first trading partner and the second trading partner was the actual message communicated in the transaction; the message plaintext is encrypted and each of the request log entry and reply log entry contains cryptographic digital signatures to allow later verification that the message plaintext logged by the first trading partner and the second trading partner was the actual message communicated in the transaction; the first independent log and the second independent log are sent by the first trading partner and the second trading partner, respectively, to the third party interface in real time, wherein each of the request log entry and reply log entry contains time stamps; each of the request log entry and reply log entry is cryptographically signed by each of the first trading partner and the second trading partner before the first independent log and the second independent log are sent to the third party interface; the third party interface matches each log entry in real time and notifies one or more of the first trading partner and the second trading partner that a mismatch has occurred; the third party interface matches each log entry in real time and notifies one or more of the first trading partner and the second trading partner that a match has occurred; each log entry contains data describing a value of a transaction; the value of the transaction comprises an amount of money transferred in the transaction between the first trading partner and the second trading partner; the third party interface uses the value of transactions with matching log data to provide financial settlement between or among the first trading partner and the second trading partner; the first trading partner and the second trading partner regard a transaction as settled when no notification of a mismatch is received from the third party interface or when notification of a match is received from the third party interface; the first trading partner and the second trading partner redo the transaction when one or more of the first trading partner and the second trading partner detects a failure; and the first trading partner and the second trading partner redo the transaction when one or more of the first or the second trading partner is notified of a log entry mismatch by the third party interface.

According to an exemplary embodiment of the present invention, a computer implemented system for governing business transactions between trading partners comprises a receiving module for receiving a first independent log from a first trading partner wherein the first independent log comprises at least one request log entry associated with a transaction wherein the request log entry comprises at least a request identifier and receiving a second independent log from a second trading partner wherein the second independent log comprises at least one reply log entry associated with the transaction between the first trading partner and the second trading partner, wherein the reply log entry comprises at least a reply identifier; and a matching module for matching the at least one request log entry and the at least one reply log entry based on one or more of the request identifier and the reply identifier at a third party interface; identifying non-matching log entries at the third party interface; and forwarding the non-matching log entries for one or more of error processing and dispute resolution.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENT(S)

An embodiment of the present invention generally relates to a method and system for implementing effective governance of transactions between trading partners in the financial industry through a third party matching entity. In many business situations, the trading partners are not motivated individually to subvert the integrity of the network, since it requires two colluding partners in order to use the network for purposes not authorized by the governing association. Therefore, effective governance can be established by having both participants report the essentials of a transaction to a third party.

FIG. 1is an exemplary diagram of a system for third party logging, according to an embodiment of the present invention. In this exemplary system, trading partners may include financial institutions, such as banks represented by Bank110and Bank120. Trading partners may include any entity who communicates and/or performs transactions with other entities. Trading partners are often associated with one another to perform certain types of business transactions or to use shared facilities, such as a communications network. The level of trust among partners may vary depending on the nature of the association, the value of the shared resources, and/or the value of the transactions carried out.

Bank110may include an inquiry application112and a logging module114in accordance with an embodiment of the present invention. In addition, Bank120may include a responding application122and a logging module124. Similarly, if Bank120also functions as an inquiring entity, Bank120may include an inquiry application and if Bank110also functions as a responding entity, Bank110may include a responding application. The illustrative blocks, modules or components may be multiplied for various applications or different application environments. In addition, the modules or components may be further combined into a consolidated unit. Other architectures may be realized. The modules and/or components may be further duplicated, combined and/or separated across multiple systems at local and/or remote locations.

While a single inquiry bank and a single responding bank are shown inFIG. 1, multiple trading partners may also be implemented as inquiry and/or responding entities. For example, multiple trading partners may include a supplier entity, a receiver entity and a manufacturer entity, where each trading partner supplies log entries to a Third Party Logging Entity. In addition, a requesting entity, a transporter entity and a receiving entity may be trading partners in system100. According to another exemplary application, an inquiry bank, responding bank and an escrow entity may be trading partners in system100. In this example, the escrow entity may release data, items, funds, etc. after a condition has been met to the satisfaction of one or more of the banks. Other types of entities may participate in system100. In addition, other applications may be realized.

According to an embodiment of the present invention, Bank110may transmit an inquiry to Bank120. The inquiry may be transmitted via various modes of communication, such as electronic (e.g., email, instant messages, Internet, Intranet, etc.), voice (e.g., wireless, phone, etc.), mobile devices (e.g., PDA, etc.) and/or other methods of communicating digital information. For example, Bank110may forward a Request130to Bank120. The Request130may include a Request Header132and Request Body134. In response, Bank120may forward a Response140to Bank110. Response140may include a Reply Header142and Reply Body144.

The inquiry may concern account and/or other information. For example, Bank110may receive a check or other payment instrument drawn on Bank120. To verify the existence of the account, Bank110may inquire whether a particular account number is open and/or valid. Bank120may reply to the inquiry. The response may include confirmation that the account number is open or closed. The response may include a simple yes or no response or other response indicating the same. If desired, additional information concerning an invalid account may be relayed, such as when the account was closed, under what circumstances, and whether fraud was involved thereby alerting the inquiry entity of a possible fraud situation.

In addition, Bank110may inquire whether an account has available funds for withdrawal or other action prior to or shortly thereafter payment of the same. In this example, the responding bank may indicate availability of funds. In addition, further details concerning the amount or level of funds available may be provided. Further, Bank110may inquire about a customer's credit history or other related information. According to another embodiment, the trading partners may be different types of entities. For example, a mortgage company may transmit an inquiry to a financial institution concerning a particular customer. A requesting entity may request confirmation that certain accounts exist and/or that information provided by the customer is accurate. In addition, the requesting entity may request data concerning fraudulent and/or potentially fraudulent activities.

For example, a requesting entity may request that money be moved between an account at Bank110and an account at Bank120. For example, the request may contain the Federal Reserve Routing and Transit Number, account number, check number, amount, and/or other data for one or more checks along with corresponding check images. The reply may contain an indication of whether the check(s) had been received for clearing and settlement in good order or not. Other non-check payment instructions may also be included corresponding to various payment types and/or payment services. However, the method is not limited to value bearing or non-value bearing transactions between financial institutions, but may also include purchasing transactions between commercial partners, transfer of records between medical organizations, and/or other transfer of useful information.

Participating trading partners may enter into agreements between or among themselves. In addition, the trading partners may enter into an agreement with a third party, individually or collectively. For example, Bank110and Bank120may have an existing agreement. In this example, a business agreement among the partners may indicate that Bank110will pay the third party for carrying the messages over an IP network service or other network, and Bank110will pay Bank120for the information about the account, provided that the response was received promptly. Other conditions and arrangements may be agreed upon.

For privacy and security, the Request Body134of the Request130and the Reply Body144of the Reply140may be encrypted between the Inquiry Application112of Bank110and a Responding Application122of Bank120. The headers on the messages (e.g., Request Header132and Reply Header142) may include an identifier for correlating the request with the reply. In addition, the header may also include the identities of the banks, the request type, possibly “public” data which is not sensitive and which may be recapitulated from the body, the bank's digital cryptographic signature on the body and/or other data. More specifically, the sending bank may first create a digital cryptographic signature on the message body, which the receiving bank may use to authenticate the identify of the sending bank. In addition, the receiving bank may verify that the message has not been modified in transit, and/or assure itself that the sending bank cannot repudiate the message contents to the extent agreed a priori. Other functions may be performed. Since the body of the message, including the signature may be encrypted to ensure privacy and confidentiality of the content, a copy of the digital cryptographic signature may be copied into the header so that the third party log may contain the time of transmission, the signature and/or other data. Further, the third party may provide a digital notary service without being privy to the message content. Other encryption and/or security measures may be implemented.

For example, Bank110may sign the request body using Bank110's private key (or other secure signature). Bank120may verify Bank110's signature on the request body using Bank110's public key. Similarly, Bank120may sign the reply body using Bank120's private key (or other secure signature). Bank110may verify Bank120's signature on the request body using Bank120's public key. During the logging process, both Banks may privately log the plaintext request body and the reply body, as well as the signatures on each, so that each Bank may obtain a complete record of the business transaction.

As Bank110executes transactions with Bank120and with other trading partners, Bank110may log each entry where each entry may include a request header, a send time, a reply header and a receive time, through Logging Module114. Other data may be included in each log entry. Bank120may perform similar logging operations through Logging Module124. Immediately or at predetermined intervals, each trading partner may forward a log of log entries to Third Party Logging Entity160.

Third Party Logging Entity160may include various modules for performing matching and other functionality in accordance with the various embodiments of the present invention. For example, Third Party Logging Entity160may include a Receiving Module170for receiving the respective logs (as shown by Log Entries150and Log Entries152) from Bank110and Bank120. Third Party Logging Entity160may include Matching Module172for matching log entries from the respective logs150,152forwarded by requesting and responding banks, e.g., Bank110and Bank120. Third Party Logging Entity160may identify the matching log entries in a database162or other storage mechanism. Third Party Logging Entity160may represent a service provider or other independent entity.

As shown by164, matching entries may be used to bill or pay one or more trading partners for the agreed upon fees or to create settlement entries in the case of value-bearing transactions. For example, if the third party provides the data communications network, it may bill the requesting or responding Bank to recover the costs of data communications. In another example, the Third Party may bill the requesting Bank and pay the responding Bank an amount to compensate the responding Bank for the value of its information. Other header information, such as the type of transaction or the time between request and response may be used. In some cases, the responding Bank may not be paid if it does not respond within a Service Level Agreement defined interval. Finally, if the transaction clears a check or checks, and the aggregate value thereof is contained in the header, the Third Party may debit the responding Bank's settlement account and credit the requesting Bank's settlement account to transfer the funds between the Banks. Other business arrangements related to governance of transactions, the collection of fees or the transfer of value may be implemented as desired by the Banks. If a dispute arises, it may be agreed to forward the dispute to an agreed upon fourth party dispute resolver, as detailed below in connection withFIG. 4discussed below.

Third Party may identify unmatched entries at166. The unmatched entries may be forwarded for error processing, as shown by168. For example, unmatched entries may be due to failures of the software components, servers, and communications lines and devices between the trading partners. However, with modern transactional protocols between the partners, the layers of error detection and recovery in IP network protocol stacks, and the protection of encryption and digital signatures, a mismatch due to technical factors will be very rare. This is in contrast to former networks which employed analog modems to connect partners to switches using elementary protocols.

When unmatched entries are identified, the third party may notify one or more of the trading partners and take an appropriate action. For example, one action may be to suspend billing for services until the discrepancy is resolved. This may involve determining whether a technical problem has occurred or whether one of the partners is at fault. Another action may involve suspending the settlement of a value-bearing transaction. Another exemplary action may include reducing the amount settled if the reply header contains a lesser amount than the request header, due to the responding Bank's not accepting one or more checks contained in the request. Any systematic attempt by any single trading partner to deny that transactions have occurred will be revealed by a pattern of unmatched log entries from other trading partners. The logs collected by the third party may also be used to resolve disputes regarding the content of the transactions themselves.

FIG. 2is an exemplary diagram of details of transactions, according to an embodiment of the present invention. In connection withFIG. 1,FIG. 2provides details concerning the transactions between trading partners and the third party. As discussed above, Request130may include Request Header132and Request Body134. Request Header132may include Request Identifier, Bank110, Bank120, Request Type, “Public” Request Data and Bank110's signature on the Request Body. Examples of “Request Type” may include “clear a check(s),” “verify that an account is open and able to be debited,” “verify that an identified individual has authority over an account,” etc. Examples of “Public Request Data” may include the value of the check(s) being cleared, the Federal Reserve Routing and Transit Number of an account, or the type of identifier (e.g., tax ID, driver's license, passport number, etc.) being used. Reply140may include Reply Header142and Reply Body144. Reply Header142may include Reply Identifier, Bank110, Bank120, Reply Type, “Public” Reply Data and Bank120's signature on the Reply Body.

As discussed above, Bank110may forward a log of log entries to the third party. Each log entry may include Request Header, Request Send Time at Bank110, Reply Header and Reply Receive Time at Bank110. In addition, Bank120may forward log entries to third party. This transaction may include Request Header, Request Receive Time at Bank120, Reply Header and Reply Send Time at Bank120.

FIG. 3is an exemplary flowchart illustrating a method for third party logging, according to an embodiment of the present invention. At step310, Bank A may log an entry. At step312, Bank A may transmit a log entry or file of log entries to a Third Party. At step314, Bank Z may log an entry. At step316, Bank Z may transmit a log entry or file of log entries to a Third Party. At step318, the Third Party may match the respective log entries from trading partners, e.g. Bank A and Bank Z. If a match is determined, a billing process, or other business processes depending on message types, business agreements and/or other considerations may be implemented at step320. If a match is not determined, the data may be forwarded for error processing, as shown by step322. For example, error processing may involve identifying a mismatch, at step324and/or identifying a pattern of errors, at step326. Based on the results of the error processing, one or both Banks may be notified, at step328. The Bank may then take appropriate action, at step330. The steps ofFIG. 3will be described in detail below.

At step310, Bank A may log an entry. The log entry may include a request, reply header and respective time data. The log entries from each trading partner may contain part or all of a message plaintext exchanged between the trading partners. The message plaintext may be encrypted and the log entries may contain cryptographic hash functions to allow later verification that a plaintext message logged by a trading partner was the actual message communicated. In addition, the log entries may contain cryptographic digital signatures or other signature mechanism for subsequent verification.

At step312, at a predetermined time or other interval, Bank A may transmit a log entry or a file of log entries to a Third Party. The logs may be sent by each respective trading partner to the third party in real time, wherein each log entry may contain time stamps or other indication. Each log entry of each log may be cryptographically signed by the trading partners before the logs are sent to the third party.

At step314, Bank Z may log an entry. The log entry may include a request, reply header and respective time data. The log entries from each trading partner may contain part or all of a message plaintext exchanged between the trading partners. The message plaintext may be encrypted and the log entries may contain cryptographic hash functions to allow later verification that a plaintext message logged by a trading partner was the actual message communicated. In addition, the log entries may contain cryptographic digital signatures or other signature mechanism for subsequent verification.

In addition, each log entry (at either or both trading partner) may contain data describing characteristics of a transaction. For example, the log entry may contain the value of the transaction, e.g., an amount of money transferred between the trading partners. Other data may be included.

At step316, at a predetermined time or other interval, Bank Z may transmit a log entry or file of log entries to a Third Party. The logs may be sent by each respective trading partner to the third party in real time, wherein each log entry may contain time stamps or other indication. Each log entry of each log may be cryptographically signed by the trading partners before the logs are sent to the third party.

At step318, the Third Party may match the respective log entries from trading partners, e.g. Bank A and Bank Z. For example, the third party may match the log entries by an identifier, such as a request identifier and a reply identifier. One method of matching may involve Bank A uniquely identifying each request with successive values from a counter, and for Bank B to reuse the request serial number as the reply identifier serial number. In this case, the matching may be achieved by sorting and aligning the corresponding log entries from the two banks. In addition, the two Banks may independently generate globally unique identifiers for the request identifier and reply identifier using the mechanisms available in operating systems and include both the request and reply identifiers in each log entry. In this case, the Third Party may choose to sort on the request or reply identifier, align the log entries accordingly, and in the case of mismatches attempt to sort and align log entries on the other identifier before declaring a mismatch. The third party may match each log entry in real time and notify either or both trading partners that a mismatch or a match has occurred within a predetermined time interval.

If a match is determined, the billing process may be implemented at step320. For example, each bank may be billed for matching entries, per an agreement. The trading partners may regard a transaction as final based on an event. For example, if a notification of a mismatch is not received from the third party or if notification of a match is received from a third party, the transaction may be considered settled. As discussed above, log entries may contain data describing characteristics of a transaction. For example, the log entry may contain the value of the transaction, e.g., an amount of money transferred between the trading partners. According to an embodiment of the present invention, the third party may use the value of transactions with matching log data to provide financial settlement between or among the partners.

If a match is not determined, the data may be forwarded for error processing, as shown by step322. The trading partners may redo any transaction based on certain circumstances, such as if the trading partners independently detect a failure with by their own analysis of cryptographic hashes and/or the completion of transactional protocols.

For example, error processing may involve identify a mismatch, at step326and/or identify a pattern of errors, at step326. Based on the results of the error processing, one or both Banks may be notified, at step328. For example, the trading partners may be notified of a log entry mismatch by the third party. The Bank may then take appropriate action, at step330. According to an embodiment of the present invention, trading partners may update their records prior to any feedback from the third party. Either they get no message from the third party or they receive an indication that there was no match, in which case the course of action to redo or rollback the transaction is dependent on the business practices between the trading partners.

FIG. 4is an exemplary flowchart illustrating a method for third party dispute resolution, according to an embodiment of the present invention. As shown inFIG. 4, the third party may provide a combined log, as shown by410. The combined log may include log information from both trading partners. In this example, the combined log may include the Request Header with sent time and receive time data combined with the Reply Header with sent time and receive time data. The combined log entry of410may also have been dated, time stamped, and/or countersigned cryptographically by the Third Party at the time when the log entries were matched, which is useful when the dispute resolution is decided and enforced by a Fourth Party, such as in providing evidence to a court. Each trading partner may submit data concerning a disputed transaction. For example, evidence from a disputing entity may include the unencrypted request body420and unencrypted reply body422as recorded in and extracted from the disputing party's private transaction logs. In addition, the request identifier, the public request data and public reply data may be contained in the appropriate Request Body and Reply Body. Thus, the plaintext of the request and reply may be forwarded to a fourth party “resolver” to resolve the dispute.

The resolver can verify the public key signatures as logged by the third party on both the request and response plaintext. For example, the resolver may verify Bank110's signature to prove that the unencrypted body is a true or accurate copy of the Request that was logged. Evidence from Bank110may include Bank110's public key data, as illustrated by430. In addition, the resolver may verify Bank120's signature to prove that the unencrypted body is a true or accurate copy of the reply that was logged. Evidence from Bank120may include Bank120's public key data, as illustrated by432. According to an embodiment of the present invention, the third party is trusted to deliver a true or accurate copy of the logged data. For example, the third party may sign the log data using the third party private key and then return the logs to each trading partner for signature verification and individual safekeeping. Accordingly, the third party does not need to retain any data.

The fact that the signatures are provided by the third party prevents either trading partner from modifying the plaintext and computing a new digital signature and it prevents either trading partner from denying that the transaction occurred at or near the time the log data was collected. According to an exemplary application, the time that a transmission occurred may be prior to the time that the log entry was received by the Third Party. Successive log entries in a continuous stream of transactions may also be used to demonstrate that the transaction occurred after the time of the log entry for a previous transaction received by the Third Party. Furthermore, the time stamps applied to a stream of headers may be used by the Third Party to detect a systematic error or bias in the clocks of Banks110and120. In particular, the two times provided by Bank120may be logically between the two time stamps provided by Bank110. That fact, along with the Third Party's collection of network transit times generally, may be used to estimate the relative inaccuracy of the two Bank's clocks.

According to an embodiment of the invention, the systems and processes described above invention may be implemented on any general or special purpose computational device, either as a standalone application or applications, or even across several general or special purpose computational devices connected over a network and as a group operating in a client-server mode. According to another embodiment of the invention, a computer-usable and writeable medium having a plurality of computer readable program code stored therein may be provided for practicing the process of the present invention. The process and system of the embodiments of the present inventions may be implemented within a variety of operating systems, such as a Windows® operating system, various versions of a Unix-based operating system (e.g., a Hewlett Packard, a Red Hat, or a Linux version of a Unix-based operating system), or various versions of an AS/400-based operating system. For example, the computer-usable and writeable medium may be comprised of a CD ROM, a floppy disk, a hard disk, or any other computer-usable medium. One or more of the components of the system or systems embodying the embodiments of the present inventions may comprise computer readable program code in the form of functional instructions stored in the computer-usable medium such that when the computer-usable medium is installed on the system or systems, those components cause the system to perform the functions described. The computer readable program code for the embodiments of the present inventions may also be bundled with other computer readable program software. Also, only some of the components may be provided in computer-readable code.

Additionally, various entities and combinations of entities may employ a computer to implement the components performing the above-described functions. According to an embodiment of the invention, the computer may be a standard computer comprising an input device, an output device, a processor device, and a data storage device. According to other embodiments of the invention, various components may be computers in different departments within the same corporation or entity. Other computer configurations may also be used. According to another embodiment of the invention, various components may be separate entities such as corporations or limited liability companies. Other embodiments, in compliance with applicable laws and regulations, may also be used.

According to one specific embodiment of the present invention, the system may comprise components of a software system. The system may operate on a network and may be connected to other systems sharing a common database. Other hardware arrangements may also be provided.

The present invention is not to be limited in scope by the specific embodiments described herein. Indeed, various modifications of the present invention, in addition to those described herein, will be apparent to those of ordinary skill in the art from the foregoing description and accompanying drawings. Thus, such modifications are intended to fall within the scope of the following appended claims. Further, although the present invention has been described herein in the context of a particular implementation in a particular environment for a particular purpose, those of ordinary skill in the art will recognize that its usefulness is not limited thereto and that the present invention can be beneficially implemented in any number of environments for any number of purposes. Accordingly, the claims set forth below should be construed in view of the full breath and spirit of the present invention as disclosed herein.