Patent ID: 12212695

The Figures depict preferred aspects for purposes of illustration only. Alternative aspects of the systems and methods illustrated herein may be employed without departing from the principles of the invention described herein.

DETAILED DESCRIPTION OF THE INVENTION

FIG.1illustrates an example blockchain-based system100configured to provide secure digital identities and affiliations for users via digital tokens, in accordance with various aspects disclosed herein. In the example aspect ofFIG.1, blockchain-based system100includes server(s)102, which may comprise one or more computer servers. In various aspects server(s)102comprise multiple servers, which may comprise multiple, redundant, or replicated servers as part of a server farm. In still further aspects, server(s)102may be implemented as cloud-based servers, such as a cloud-based computing platform. For example, server(s)102may be any one or more cloud-based platform(s) such as MICROSOFT AZURE, GOOGLE CLOUD, AMAZON AWS, or the like. Server(s)102may include one or more processor(s)104as well as one or more computer memories106.

Memory106may include one or more forms of volatile and/or non-volatile, fixed and/or removable memory, such as read-only memory (ROM), electronic programmable read-only memory (EPROM), random access memory (RAM), erasable electronic programmable read-only memory (EEPROM), and/or other hard drives, flash memory, MicroSD cards, and others. Memory106may store an operating system (OS) (e.g., Microsoft Windows, Linux, UNIX, etc.) capable of facilitating the functionalities, apps, methods, or other software as discussed herein. Memory106may also store computing instructions for implementing any one or more of the blockchain-based method(s) as described herein, including as described herein with respect toFIG.2. Additionally, or alternatively, off-chain user data (e.g., such as user profile information) or on-chain data or related data (e.g., user digital wallet information such as user public/private keys), digital token(s), and/or related information, or any other data or information, as described herein, may also be stored in memory106and/or database105. Database105is accessible or otherwise communicatively coupled to server(s)102. In addition, memories106may also store machine readable instructions, including any of one or more application(s) (e.g., an application as described herein), one or more software component(s), and/or one or more application programming interfaces (APIs), which may be implemented to facilitate or perform the features, functions, or other disclosure described herein, such as any methods, processes, elements or limitations, as illustrated, depicted, or described for the various flowcharts, illustrations, diagrams, figures, and/or other disclosure herein. The computing instructions or applications as described herein may be executed by the processor(s)104.

The processor(s)104may be connected to the memory106via a computer bus responsible for transmitting electronic data, data packets, or otherwise electronic signals to and from the processor(s)104and memories106in order to implement or perform the machine readable instructions, methods, processes, elements or limitations, as illustrated, depicted, or described for the various flowcharts, illustrations, diagrams, figures, and/or other disclosure herein.

Processor(s)104may interface with memory106via the computer bus to execute an operating system (OS). Processor(s)104may also interface with the memory106via the computer bus to create, read, update, delete, or otherwise access or interact with the data stored in memories106and/or the database105(e.g., a relational database, such as Oracle, DB2, MySQL, or a NoSQL based database, such as MongoDB). The data stored in memories106and/or database105may include all or part of any of the data or information described herein.

Server(s)102may further include a communication component configured to communicate (e.g., send and receive) data via one or more external/network port(s) to one or more networks or local terminals, such as computer network120and/or terminal109(for rendering or visualizing) described herein. For example, in some aspects, server(s)102may include a client-server platform technology such as ASP.NET, Java J2EE, Ruby on Rails, Node.js, a web service or online API, responsive for receiving and responding to electronic requests. The server(s)102may implement the client-server platform technology that may interact, via the computer bus, with the memory106(including the application(s), component(s), API(s), data, etc. stored therein) and/or database105to implement or perform the machine readable instructions, methods, processes, elements or limitations, as illustrated, depicted, or described for the various flowcharts, illustrations, diagrams, figures, and/or other disclosure herein.

In various aspects, the server(s)102may include, or interact with, one or more transceivers (e.g., WWAN, WLAN, and/or WPAN transceivers) functioning in accordance with IEEE standards, 3GPP standards, or other standards, and that may be used in receipt and transmission of data via external/network ports connected to computer network120. In some aspects, computer network120may comprise a private network or local area network (LAN). Additionally, or alternatively, computer network120may comprise a public network such as the Internet.

Server(s)102may further include or implement an operator interface configured to present information to an administrator or operator and/or receive inputs from the administrator or operator. As shown inFIG.1, an operator interface may provide a display screen (e.g., via terminal109). Server(s)102may also provide I/O components (e.g., ports, capacitive or resistive touch sensitive input panels, keys, buttons, lights, LEDs), which may be directly accessible via, or attached to, server(s)102, or may be indirectly accessible via or attached to terminal109. According to some aspects, an administrator or operator may access the server102via terminal109to review information, make changes, establish or configure digital tokens, and/or perform other functions as described herein.

As described herein, in some aspects, server(s)102may perform the functionalities as discussed herein as part of a “cloud” network or may otherwise communicate with other hardware or software components within the cloud to send, retrieve, or otherwise analyze data or information described herein.

In general, a computer program or computer based product, application, or code (e.g., the e.g., code to allow users to interact with their digital wallets or otherwise with a blockchain) may be stored on a computer usable storage medium, or tangible, non-transitory computer-readable medium (e.g., standard random access memory (RAM), an optical disc, a universal serial bus (USB) drive, or the like) having such computer-readable program code or computer instructions embodied therein, wherein the computer-readable program code or computer instructions may be installed on or otherwise adapted to be executed by the processor(s)104(e.g., working in connection with the respective operating system in memories106) to facilitate, implement, or perform the machine readable instructions, methods, processes, elements or limitations, as illustrated, depicted, or described for the various flowcharts, illustrations, diagrams, figures, and/or other disclosure herein. In this regard, the program code may be implemented in any desired program language, and may be implemented as machine code, assembly code, byte code, interpretable source code or the like (e.g., via Golang, Python, C, C++, C#, Objective-C, Java, Scala, ActionScript, JavaScript, HTML, CSS, XML, etc.).

As shown inFIG.1, server(s)102are communicatively connected, via computer network120to the one or more user computing devices111c1-111c3via base station111b. In some aspects, base station111bmay comprise one or more cellular base stations, such as cell towers, communicating to the one or more user computing devices111c1-111c3via wireless communications121based on any one or more of various mobile phone standards, including NMT, GSM, CDMA, UMMTS, LTE, 5G, or the like. Additionally, or alternatively, base station111bmay comprise routers, wireless switches, or other such wireless connection points communicating to the one or more user computing devices111c1-111c3via wireless communications122based on any one or more of various wireless standards, including by non-limiting example, IEEE 802.11a/b/c/g (WIFI), the BLUETOOTH standard, or the like.

Any of the one or more user computing devices111c1-111c3may comprise mobile devices and/or client devices for accessing and/or communicating with server(s)102. Such mobile devices may comprise one or more mobile processor(s) and/or an imaging device for capturing images. In various aspects, user computing devices111c1-111c3may comprise a mobile phone (e.g., a cellular phone), a tablet device, a personal data assistance (PDA), or the like, including, by non-limiting example, an APPLE iPhone or iPad device or an ANDROID based mobile phone or tablet.

In various aspects, the one or more user computing devices111c1-111c3may implement or execute an operating system (OS) or mobile platform such as APPLE iOS and/or ANDROID operation system. Any of the one or more user computing devices111c1-111c3may comprise one or more processors and/or one or more memories for storing, implementing, or executing computing instructions or code, e.g., a mobile application, as described in various aspects herein. As shown inFIG.1, application (app)108and/or an application as described herein, or at least portions thereof, may also be stored locally on a memory of a user computing device (e.g., user computing device111c1). App108may be configured to collect and/or display information regarding user data (e.g., such as user profile information) or off-chain data, (e.g., user digital wallet information such as user public/private keys) or on-chain data (e.g., digital token(s)), and/or other data or information as described herein. App108may be configured to perform or execute other actions as described herein, such as communicate with or transmit information and/or data to and from server(s)102. For example, app108may comprise a user's digital wallet used to communicate with blockchain130, for example, to submit or review transactions related to digital tokens (e.g., digital tokens1-3as shown forFIG.1) as stored on blockchain130and/or to send and/or receive indications of affiliation information, association information, and/or ownership information of digital tokens (e.g., digital token indications1-3(132i1to132i3) as shown forFIG.1). A user's digital wallet may comprise the user's cryptographic keys, such as the user's private key and public key. The public key may be viewed publically by other users and may be used to identify the user on-chain (e.g., on blockchain130) and off-chain (e.g., more generally on computer network120, on server(s)102, on third party platform(s)140, and/or on app108via computing devices111c1-111c3). In addition, the user's cryptographic keys each comprise a string of data that identifies the user and provides access to the user's digital wallet. The user's private key and public key provide the user with a secure digital identity on the blockchain130that may be used to authenticate the user via digital signatures and make transactions, such as trading digital tokens (e.g., any one or more of digital tokens1-3) on the blockchain130.

User computing devices111c1-111c3may each comprise a wireless transceiver to receive and transmit wireless communications121and/or122to and from base station111b. In various aspects, indication(s) of association or affiliations of digital tokens of may be transmitted via computer network120to user computing devices111c1-111c3and/or third party platform(s)140for distribution, sharing, authentication, granting access, provision, or as otherwise described herein. For example, one or more of digital token1identification121, digital token2identification122, and/or digital token1identification123may be transmitted between or among user computing devices111c1-111c3, third party platform(s)140, server(s)102, and/or blockchain130for authentication, identification, or other purposes as described herein.

Blockchain130comprises a blockchain-based software platform that allows generation, storage, recordation, transaction, and/or otherwise manipulation of digital assets, such as digital tokens. Blockchain130may implement one or more blockchain-based software algorithms, standards, or protocols which can comprise, for example the ETHEREUM standard (e.g., ERC-20). Blockchain130may comprise various computing nodes, such as computing nodes130a,130b, and130c. Computing nodes130a-130ccomprise individual computers or computing platforms configured to validate or authorize blockchain transactions, in a series of blocks, stored on-chain, that is, on blockchain130. Blockchain130may store, or otherwise record, transactions that reference a set digital tokens, e.g., set of digital tokens132comprising at least digital token1, digital token2, and digital token3as illustrated forFIG.1. Each of digital token1, digital token2, and/or digital token3may comprise fungible tokens and/or non-fungible tokens. Each of digital token1identification121, digital token2identification122, and digital token1identification123correspond to digital token1, digital token2, and digital token3, respectively, as stored on blockchain130. That is, the digital token1identification121, digital token2identification122, and digital token1identification123are network based identifications, which can be transmitted on computer network120, to identify or indicate affiliation, association, or ownership of digital token1, digital token2, and/or digital token3, respectively. It is to be understood that while set of digital tokens132illustrate a set of three tokens, the set of digital tokens132may comprise millions of digital tokens as part of blockchain130.

Third party platform(s)140may comprise server(s) or computing platforms associated with an entity or person. For example, in one example, third party platform(s)140may correspond to server(s) or a computing platform associated with an entity such as a sports team, a company, merchandiser, or other such entity. As another example, third party platform(s)140may correspond to server(s) or a computing platform associated with a person such as a musician, actor, star, influencer, or other such individual. Third party platform(s)140may comprise one or more processors, that receive requests and send information on computer network120. In various aspects, third party platform(s)140accept digital token identification (e.g., digital token1identification121, digital token2identification122, and digital token1identification123) to identify a user based on the user's associated or owned digital tokens (e.g., digital tokens1-3of blockchain130).

FIG.2illustrates an example blockchain-based method200for providing secure digital identities and affiliations for users via digital tokens (e.g., any one or more of digital tokens1-3of set of digital tokens132), in accordance with various aspects disclosed herein. At block202, method200comprises generating, by one or more processors, a set of digital tokens (e.g., set of digital tokens132) sharable on a distributed computer network (e.g., blockchain130). The one or more processors, as used to generate or otherwise establish the digital tokens, may comprise, by way of non-limiting example, one or more processors of an off-chain server (e.g., CPU104of server(s)102), one or more processors of an on-chain network (e.g., processors of computing node(s)130a-130c), and/or off-chain computers (e.g., server(s)102) in conjunction with a distributed network computers (e.g., processors of computing node(s)130a-130c). For example, the off-chain server (e.g., server(s)102) may generate the set of tokens132by submitting a request to blockchain130to create or otherwise establish digital tokens1-3. Digital tokens1-3may comprise fungible tokens or non-fungible tokens (NFTs). Digital tokens may be traded on blockchain130among users. In this way, digital tokens may increase and/or decrease in value.

In some aspects, blockchain130comprises an ETHEREUM-based platform or blockchain. In such aspects, digital tokens1-3of set of tokens132may comprise ERC-20 standard-based tokens. Such tokens may comprise smart contracts, which include executable computing code or instructions, or software that execute when predetermined conditions are met. For example, a smart contract, as part of a digital token, may be executed for facilitating transactions or other interactions between users of the digital tokens. For digital tokens based on the ERC-20 standard, rules are established regarding how tokens can be transferred, how transactions are approved, how users can access data about a token, and the total supply of tokens. For example, ERC-20 defines six different implementation coding functions for the benefit of other tokens within the Ethereum system. In terms of implementation coding for ERC-20 tokens, the six basic coding functions comprise: total supply, balance, allowance, approval, transfer, and transfer from. Such coding functions may be used to define the smart contract aspects of a given token (e.g., digital tokens1-3).

In is to be understood, however, that an ETHEREUM-based platform is but one example of a distributed computer network, and that other blockchain-based networks or distributed systems, based on different standards, may be used in accordance with the disclosure herein.

At block204, method200comprises affiliating, by the one or more processors, the set of digital tokens (e.g., set of digital tokens132) with an entity (e.g., such as a person or a company). In some examples, the entity or the person may comprise a real-world entity or a real-world person. For example, the real-world entity may be a sports team and a real-world person may comprise a musical artist. In other examples, the entity or the person may comprise a virtual entity or a virtual person. For example, the virtual entity or a virtual person may comprise a fictional character of the Metaverse, a video game character, or an online personality. In other aspects, the virtual entity or a virtual person may comprise a non-fictional or quasi-fictional avatar or character associated with a real-world person or entity. By way of non-limiting examples, each ofFIGS.3A and3Billustrate examples of entities or persons affiliated with the set of digital tokens132.

At block206, method200comprises providing, by the one or more processors, one or more of the digital tokens (e.g., one or more of digital tokens1-3of set of digital tokens132) to one or more users of the distributed computer network (e.g., blockchain130). The one or more users may comprise at least a first user. The first user may be provided a first token (e.g., digital token1) as selected from the one or more of the digital tokens (e.g., set of digital tokens132).

At block208, method200comprises identifying, by the one or more processors, the first user as affiliated with the entity or the person based on a receipt of an indication that the first user is associated with the first token. For example, a first user may be associated with a first token (e.g., digital token1of set of digital tokens132). The first user may use his or her association with digital token1by transmitting or otherwise providing the digital token1indication132i1on computer network120to third party platform(s)140. For example, a user may show ownership or affiliation of digital token1by sending information from his or her digital wallet (e.g., digital token1indication132i1) to indicate that he or she owns or is otherwise affiliated with digital token1. Such indication may comprise signing, with the first user's private or public cryptographic key(s), an electronic message (e.g., which may comprise digital token1indication132i1) to indicate the first user's ownership of affiliation with digital token1.

More generally, by using app108, as executing on a user computing device (e.g., computing device111c1), may be used by a user (e.g., the first user) to access, trade, or otherwise interact with digital tokens1-3. For example, the first user may access app108that stores or has access to the user's digital wallet, which in turn may store or list the user's digital tokens, cryptographic keys (e.g., public and/or private keys), and account information. The user's digital wallet may be stored locally (e.g., on user computing device111c1) and/or remotely (e.g., stored in memory106of server(s)102). The user may use a GUI rendered by app104to interact with his or her digital wallet, such as by performing actions as described herein, including, for example, actions identifying or otherwise demonstrating affiliation, association, ownership, or relationship to one or more digital tokens (e.g., any one or more of set of digital tokens132). The one or more digital tokens may be configured to perform actions, such as execute code or computing instructions, e.g., as part of a smart contract, in order to grant access, authorize transactions, digitally sign, and/or perform other activities, including any as described herein.

For example, in some aspects, a digital token (e.g., a first token such as digital token1of set of digital tokens132) may be configured to grant access to a physical area or location associated with the entity or the person. This may comprise a backstage area or backstage pass of a concert event for a given musical artist as exemplified herein forFIG.3B. In such aspects, an indication (e.g., digital token1indication132i1) of affiliation of the first user with the first token may be shown (e.g., via a display screen of user computing device111c1) or provided digitally to grant access to a physical area or location.

As a further example, a digital token (e.g., a first token such as digital token1of set of digital tokens132) may be configured to grant access to a virtual area or a virtual resource associated with the entity or the person. For example, an indication (e.g., digital token1indication132i1) of affiliation of the first user with the first token may be provided digitally to grant access to the virtual area or virtual resource, which may comprise a website, Metaverse location or resource, or other virtual asset associated with the entity or person. In some aspects, the digital token identification may act as, or take the place of, a password as used for security access to the virtual asset or other asset.

As a further example, a digital token (e.g., a first token such as digital token1of set of digital tokens132) may be configured to authorize a discount associated with the entity or the person. For example, an indication (e.g., digital token1indication132i1) of affiliation of the first user with the first token may be provided digitally to provide discount on merchandise, such as fan merchandise of pop singer or of sports team, e.g., as exemplified herein forFIG.3A.

As a still further example, a digital token (e.g., a first token such as digital token1of set of digital tokens132) may be configured to provide a digital signature for the first user. The digital signature may be provided via the digital token and/or first user's private and/or public keys associated with the first user's digital wallet. The digital signature may be used to identify the user on the computer network120, blockchain130, to third party platform(s)140, or otherwise, and show that the first user is affiliated with the first token.

As a still further example, a digital token, (e.g., a first token such as digital token1of set of digital tokens132) may be configured to provide regulatory compliance through identification of the first user. For example, an indication (e.g., digital token1indication132i1) of demonstration of affiliation of the first user with the first token, may be provided to authenticate or otherwise show authenticity of the first user for regulatory purposes. This may comprise, for example, for use with security trading. In such aspects, regulatory compliance, such as KYC (know your customer) and AML (anti-money laundering), may be facilitated by using the first digital token to ensure that the first user is who the first user says he or she is, and to demonstrate no or low risk to the related entity or person who receives the indication (e.g., digital token1indication132i1) of affiliation of the first token with the first user. In such aspects, the indication (e.g., digital token1indication132i1) may include the user's public/private keys that can be used (e.g., via a digital signature or smart contract execution) to confirm the user's identity to a security trading platform.

FIG.3Aillustrates an example entity (e.g., a sports team) and a related event300(e.g., a sporting event) to which the first user has access to through acquisition of a digital token (e.g., digital token1), in accordance with various aspects disclosed herein. For example, as shown forFIG.3A, a first user302is a fan of a given sports team holding a sporting event300, e.g., a football game. First user302may have a received a discount on tickets to the sporting event300and/or related merchandise (e.g., a hat or jersey of the sports team) by virtue of ownership or affiliation of one or more of the set of digital tokens132, such as a digital token1. For example, a digital token, (e.g., a first token such as digital token1of set of digital tokens132) may be configured to authorize a discount associated with the entity (e.g., the sports team). In such aspects, an indication (e.g., digital token1indication132i1) of affiliation of the first user302with the first token (e.g., digital token1) may be displayed (e.g., such as displayed via user computing device111c1onsite at sporting event300) or provided digitally to provide discount on tickets or merchandise, such as fan merchandise of the sports team.

FIG.3Billustrates an example person (e.g., musical artist354) and a related event (e.g., a concert event350) to which the first user (e.g., first user352) has access to through acquisition of a digital token (e.g., digital token1), in accordance with various aspects disclosed herein. For example, as shown forFIG.3B, a first user352is a fan of a given musical artist354holding an event350, e.g., a concert. First user352may have a discount on tickets to the event350and/or related merchandise (e.g., an album or merchandise of the musical artist) by virtue of ownership or affiliation of one or more of the set of digital tokens132, such as a digital token1. In addition, a digital token, (e.g., a first token such as digital token1of set of digital tokens132) may be configured to grant access to a physical area or location associated with the entity or the person. This may comprise a backstage area or backstage pass of concert event300of musical artist354. For example, a digital token (e.g., a first token such as digital token1of set of digital tokens132) may be configured to authorize a discount associated with the person (e.g., musical artist354). As a further example, an indication (e.g., digital token1indication132i1) of affiliation of the first user302with the first token (e.g., digital token1) may be displayed (e.g., such as displayed via user computing device111c1onsite at concert event350) or provided digitally to provide discount on merchandise or grant access to a backstage area of the of the concert event352.

FIG.4illustrates an example graphic user interface (GUI)402as rendered on a display screen400of a user computing device (e.g., user computing device111c1), in accordance with various aspects disclosed herein. GUI402is an example depicting a rendering of what a first user302may experience for sporting event302as described forFIG.3Aherein. For example, as shown in the example ofFIG.4, GUI402may be implemented or rendered via an app executing on user computing device111c1. GUI402may be implemented or rendered via a native app executing on user computing device111c1. In the example ofFIG.4, user computing device111c1is a user computer device as described forFIG.1, e.g., where111c1is illustrated as an APPLE IPHONE that implements the APPLE iOS operating system and that has display screen400. User computing device111c1may execute one or more native applications (apps) on its operating system, including, for example, an app (e.g., app108) as described herein. Such native apps may be implemented or coded (e.g., as computing instructions) in a computing language (e.g., SWIFT) executable by the user computing device operating system (e.g., APPLE iOS) by the processor of user computing device111c1. In various aspects, app108may be configured to display content to the user, including information associated with entities, persons, events and/or other information, data, or images as described herein.

Additionally, or alternatively, GUI402may be implemented or rendered via a web interface, such as via a web browser application, e.g., SAFARI and/or CHROME based web browsers, browser apps, and/or other such web browser or the like. In such aspects, the web browser would return HTML code provided by, or otherwise associated with, the server(s)102.

By using app108, as executing on user computing device(s)111c1-111c3, a user (e.g., the first user) may access, trade, sell, buy, or otherwise interact with digital tokens1-3. For example, the first user may access app108that stores or has access to the user's digital wallet. The digital wallet may store or list the user's digital tokens, cryptographic keys (e.g., public and/or private keys), account information, or other information related to the user. The user's digital wallet may be stored locally (e.g., on user computing device111c1) and/or remotely (e.g., stored in memory106of server(s)102). The user may use a GUI rendered by app104to interact with his or her digital wallet, such as by performing actions as described herein, including, for example, actions identifying or demonstrating affiliation, association, ownership, or relationship to one or more digital tokens (e.g., any one or more of set of digital tokens132). The one or more digital tokens may be configured to perform actions, such as execute code or computing instructions, e.g., as part of a smart contract, in order to grant access, authorize transactions, digitally sign, and/or perform other activities.

In the example ofFIG.4, GUI402depicts a graphic410to graphically indicate that the app108is displaying information associated with sporting event300as described forFIG.3A. First user302may interact with app108to purchase merchandise422. Such merchandise may include a sports jersey that the user302may select for purchase and/or shipment via a section option426. The purchase may comprise app108transmitting or otherwise providing the digital token1indication132i1to identify the first user as affiliated with the entity (e.g., the sports team), where receipt of the indication identifies or confirms that the first user is associated with the first token, and, therefore, the related entity (e.g., sports team).

In additional aspects, digital tokens may be exchanged with the entity and/or other users. For example, in some aspects, the first token may be configured to be provided to the entity in exchange for a real-world item. As an additional example, in some aspects, the first token may be configured for electronic trading for one or more other tokens as provided to other users. In such aspects, a first value of the first token may vary with respect to respective values of the one or more other tokens based on a degree of privilege or access to the entity that each token provides. As a specific example, a company (e.g., a bakery) that sells digital tokens representing its goods (e.g., such as cookies) can be redeemed for actual cookies or traded with other users where the values, as bound to items of the entity, vary across digital tokens (e.g., 3 cookies for 1 muffin, where the digital tokens are tied to baked goods originating from, or otherwise associated with, the entity).

In further aspects, digital tokens may represent shares or membership of the entity. For example, in such aspects, a first token may define a fractional share of the entity, and the blockchain-based method (e.g., method200as described herein) may further comprise providing the first user with a fractional distribution or privilege proportional to the fractional share of the entity. In this way, the digital tokens (including the first token) may be used by the entity to raise capital. For example, the entity could sell digital tokens as shares that are redeemable for a corresponding fractional percentage of net profits of the entity, net losses of the entity, ownership of the entity, control of the entity, and/or the like.

ADDITIONAL CONSIDERATIONS

Although the disclosure herein sets forth a detailed description of numerous different aspects, it should be understood that the legal scope of the description is defined by the words of the claims set forth at the end of this patent and equivalents. The detailed description is to be construed as exemplary only and does not describe every possible aspect since describing every possible aspect would be impractical. Numerous alternative aspects may be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims.

The following additional considerations apply to the foregoing discussion. Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.

Additionally, certain aspects are described herein as including logic or a number of routines, subroutines, applications, or instructions. These may constitute either software (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware. In hardware, the routines, etc., are tangible units capable of performing certain operations and may be configured or arranged in a certain manner. In example aspects, one or more computer systems (e.g., a standalone, client or server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.

The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example aspects, comprise processor-implemented modules.

Similarly, the methods or routines described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented hardware modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example aspects, the processor or processors may be located in a single location, while in other aspects the processors may be distributed across a number of locations.

The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example aspects, the one or more processors or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other aspects, the one or more processors or processor-implemented modules may be distributed across a number of geographic locations.

This detailed description is to be construed as exemplary only and does not describe every possible aspect, as describing every possible aspect would be impractical, if not impossible. A person of ordinary skill in the art may implement numerous alternate aspects, using either current technology or technology developed after the filing date of this application.

Those of ordinary skill in the art will recognize that a wide variety of modifications, alterations, and combinations can be made with respect to the above described aspects without departing from the scope of the invention, and that such modifications, alterations, and combinations are to be viewed as being within the ambit of the inventive concept.

The patent claims at the end of this patent application are not intended to be construed under 35 U.S.C. § 112(f) unless traditional means-plus-function language is expressly recited, such as “means for” or “step for” language being explicitly recited in the claim(s). The systems and methods described herein are directed to an improvement to computer functionality, and improve the functioning of conventional computers.