# US 12,120,236 B2 · Accessing a virtual reality environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,120,236 B2
- Document ID: US12120236B2
- Status: Granted
- Kind: B2
- Application number: 18/231,826
- Filed: 2023-08-09
- Published: 2023-12-14
- Granted: 2024-10-15
- Earliest claimed: 2021-12-16
- Assignees: Enduvo, Inc.
- Applicants: Enduvo, Inc.
- Inventors: Matthew Bramlet; Justin Douglas Drawz; Steven J. Garrou; Christine Mancini Varani; Gary W. Grube
- Web page: https://patentgrep.com/patent/US12120236B2

## CPC

- H04L 9/3213: {using tickets or tokens, e.g. Kerberos (network architectures or network communication protocols for entities authentication using tickets in a packet data network H04L63/0807)}
- G06Q 20/1235: {with control of digital rights management [DRM]}
- G06Q 20/3825: {Use of electronic signatures}
- G06Q 20/3827: {Use of message hashing}
- G06Q 20/389: {Keeping log of transactions for guaranteeing non-repudiation of a transaction}
- G06Q 30/018: Certifying business or products
- G06Q 30/0601: Electronic shopping [e-shopping]
- G06Q 50/184: {Intellectual property management}
- G06Q 50/205: {Education administration or guidance}
- G06Q 50/265: {Personal security, identity or safety}
- G06T 15/08: Volume rendering
- G06T 19/00: Manipulating three-dimensional [3D] models or images for computer graphics
- G06T 19/006: {Mixed reality (object pose determination, tracking or camera calibration for mixed reality G06T7/00)}
- G09B 5/00: Electrically-operated educational appliances (working with questions and answers G09B7/00; simulators G09B9/00; advertising or displaying in general G09F)
- G09B 5/06: with both visual and audible presentation of the material to be studied
- G09B 5/12: different stations being capable of presenting different information simultaneously (G09B5/14 takes precedence)
- H04L 9/0825: {using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates}
- H04L 9/3236: {using cryptographic hash functions}
- H04L 9/3247: {involving digital signatures}
- H04L 67/104: Peer-to-peer [P2P] networks
- G06Q 2220/18: Licensing
- G06T 2219/20: Indexing scheme for editing of 3D models
- G09B 7/00: Electrically-operated teaching apparatus or devices working with questions and answers (mechanically operated G09B3/00; computing arrangements G06F)
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 67/131: Protocols for games, networked simulations or virtual reality
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- H04L 2209/603: Digital right managament [DRM]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G09B: EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS (devices for psychotechnics or for testing reaction times A61B5/16; games, sports, amusements A63; projectors, projector screens G03B)

## Abstract

A method includes a computing device interpreting a request for a requesting entity to access a set of learning objects pertaining to a common topic represented in a virtual reality environment to produce a set of requested learning object identifiers. The method further includes determining whether a license smart contract for the set of learning objects associated with a non-fungible token of the object distributed ledger affirms access by the requesting entity to the set of learning objects. When access is affirmed, the method furth includes generating the virtual reality environment utilizing a group of object representations in accordance with interaction information for at least some of the object representations of the group of object representations. The method further includes outputting the virtual reality environment to the requesting entity for interactive consumption.

## Claims

### Claim 1

A computer-implemented method of using a computing infrastructure to create a virtual reality environment regarding a common topic utilizing an object distributed ledger, the method comprises:
interpreting, by a computing device of the computing infrastructure, a request, received via a user interface of the computing infrastructure, for a requesting entity to access a set of learning objects pertaining to the common topic represented in the virtual reality environment to produce a set of requested learning object identifiers, wherein a multitude of license blocks of a blockchain of the object distributed ledger identifies valid licensees of an inventory of learning objects, wherein each learning object of the inventory of learning objects is associated with a unique learning object identifier;
determining, by the computing device, whether a license smart contract for the set of learning objects associated with a non-fungible token (NFT) of the object distributed ledger affirms access by the requesting entity to the set of learning objects, wherein the license smart contract includes one or more of a learning object set identifier of the set of learning objects, an identifier of an affiliated lesson package, license terms, an effectiveness metric for the set of learning objects, an accreditation indicator for the set of learning objects, and at least one learning object owner identifier associated with the set of learning objects; and
when the access is affirmed:
generating, by the computing device, the virtual reality environment utilizing a group of object representations in accordance with interaction information for at least some of the object representations of the group of object representations, wherein at least some of the object representations are associated with corresponding three dimensional (3-D) physical objects, wherein the interaction information includes 3-D models and position information for the at least some of the object representations of the group of object representations, wherein a first set of object representations of the group of object representations is associated with a first piece of information regarding the common topic, wherein a second set of object representations of the group of object representations is associated with a second piece of information regarding the common topic, wherein the generating the virtual reality environment further includes:
identifying a common illustrative asset based on the first and second sets of object representations, wherein the common illustrative asset belongs to the first and second sets of object representations and depicts an aspect regarding the common topic pertaining to the first and second pieces of information, rendering a portion of the common illustrative asset to produce a set of common illustrative asset video frames,
selecting a subset of the set of common illustrative asset video frames to produce a common portion of video frames for the virtual reality environment with regards to the first and second sets of object representations to reduce duplicative rendering, rendering another representation of the first set of object representations to produce a first remaining portion of the video frames for the virtual reality environment with regards to the first set of object representations,
rendering another representation of the second set of object representations to produce a second remaining portion of the video frames for the virtual reality environment with regards to the second set of object representations, and
linking the common portion, the first remaining portion, and the second remaining portion of the video frames to produce the virtual reality environment; and
outputting, by the computing device via the user interface, the virtual reality environment to the requesting entity for interactive consumption.

### Claim 2 (depends on 1)

The method of claim 1 further comprises:
generating, by the computing device, a consumption block to indicate performance aspects of the interactive consumption; and
causing, by the computing device, affiliation of the consumption block with the blockchain of the object distributed ledger associated with the NFT.

### Claim 3 (depends on 2)

The method of claim 2, wherein the causing affiliation of the consumption block with the blockchain of the object distributed ledger associated with the NFT comprises:
determining whether to indirectly or directly update the object distributed ledger;
when indirectly updating the object distributed ledger:
issuing a blockchain update request to an object ledger computing device of the computing infrastructure serving as a blockchain node of the object distributed ledger, wherein the blockchain update request includes the consumption block; and
when directly updating the object distributed ledger:
obtaining a copy of the object distributed ledger,
hashing the consumption block utilizing a receiving public key of the object distributed ledger to produce a next transaction hash value,
encrypting the next transaction hash value utilizing a private key of the computing device to produce a next transaction signature,
generating a next block of the blockchain of the object distributed ledger to include the consumption block and the next transaction signature, and
causing inclusion of the next block in the object distributed ledger.

### Claim 4 (depends on 1)

The method of claim 1, wherein the determining whether the license smart contract for the set of learning objects associated with the NFT of the object distributed ledger affirms the access by the requesting entity to the set of learning objects comprises:
identifying the NFT associated with the set of learning objects based on the set of requested learning object identifiers; and
indicating that the license smart contract affirms the access by the requesting entity to the set of learning objects when:
detecting a block of a copy of the object distributed ledger associated with the NFT that includes the license smart contract for the set of learning objects, and
interpreting the license smart contract to include a valid license by the requesting entity for the set of learning objects.

### Claim 5 (depends on 4)

The method of claim 4, wherein the identifying the NFT associated with the set of learning objects comprises:
determining whether to indirectly or directly access the object distributed ledger;
when indirectly accessing the object distributed ledger:
issuing a non-fungible token (NFT) access request to an object ledger computing device of the computing infrastructure serving as a blockchain node of the object distributed ledger, wherein the non-fungible token access request includes at least some of the set of requested learning object identifiers, and
receiving the NFT in response to the NFT access request; and
when directly accessing the object distributed ledger:
obtaining a copy of the object distributed ledger, and
extracting the NFT from the copy of the object distributed ledger, wherein the NFT includes the at least some of the set of requested learning object identifiers.

### Claim 6 (depends on 1)

The method of claim 1, wherein the generating the virtual reality environment further comprises:
identifying the common illustrative asset based on third and fourth sets of object representations of the group of object representations, wherein the third set of object representations is associated with a third piece of information regarding the common topic and the fourth set of object representations is associated with a fourth piece of information regarding the common topic, wherein the common illustrative asset further belongs to the third and fourth sets of object representations and depicts another aspect regarding the common topic pertaining to third and fourth pieces of information;
rendering another portion of the common illustrative asset to produce the set of common illustrative asset video frames;
selecting another subset of the set of common illustrative asset video frames to produce another common portion of video frames for the virtual reality environment with regards to the third and fourth sets of object representations to further reduce duplicative rendering;
rendering another representation of the third set of object representations to produce a third remaining portion of the video frames for the virtual reality environment with regards to the third set of object representations;
rendering another representation of the fourth set of object representations to produce a fourth remaining portion of the video frames for the virtual reality environment with regards to the fourth set of object representations; and
linking the other common portion, the third remaining portion, and the fourth remaining portion of the video frames to produce the virtual reality environment.

### Claim 7

A computing device of a computing infrastructure, the computing device comprises:
an interface;
a local memory; and
a processor operably coupled to the interface and the local memory, wherein the processor performs functions to:
interpret a request received via the interface for a requesting entity to access a set of learning objects pertaining to a common topic represented in a virtual reality environment to produce a set of requested learning object identifiers, wherein a multitude of license blocks of a blockchain of an object distributed ledger identifies valid licensees of an inventory of learning objects, wherein each learning object of the inventory of learning objects is associated with a unique learning object identifier;
determine whether a license smart contract for the set of learning objects associated with a non-fungible token (NFT) of the object distributed ledger affirms access by the requesting entity to the set of learning objects, wherein the license smart contract includes one or more of a learning object set identifier of the set of learning objects, an identifier of an affiliated lesson package, license terms, an effectiveness metric for the set of learning objects, an accreditation indicator for the set of learning objects, and at least one learning object owner identifier associated with the set of learning objects; and
when the access is affirmed:
generate the virtual reality environment utilizing a group of object representations in accordance with interaction information for at least some of the object representations of the group of object representations, wherein at least some of the object representations are associated with corresponding three dimensional (3-D) physical objects, wherein the interaction information includes 3-D models and position information for the at least some of the object representations of the group of object representations, wherein a first set of object representations of the group of object representations is associated with a first piece of information regarding the common topic, wherein a second set of object representations of the group of object representations is associated with a second piece of information regarding the common topic, wherein the processor further generates the virtual reality environment by:
identifying a common illustrative asset based on the first and second sets of object representations, wherein the common illustrative asset belongs to the first and second sets of object representations and depicts an aspect regarding the common topic pertaining to the first and second pieces of information,
rendering a portion of the common illustrative asset to produce a set of common illustrative asset video frames,
selecting a subset of the set of common illustrative asset video frames to produce a common portion of video frames for the virtual reality environment with regards to the first and second sets of object representations to reduce duplicative rendering,
rendering another representation of the first set of object representations to produce a first remaining portion of the video frames for the virtual reality environment with regards to the first set of object representations,
rendering another representation of the second set of object representations to produce a second remaining portion of the video frames for the virtual reality environment with regards to the second set of object representations, and
linking the common portion, the first remaining portion, and the second remaining portion of the video frames to produce the virtual reality environment; and
output, via the interface, the virtual reality environment to the requesting entity for interactive consumption.

### Claim 8 (depends on 7)

The computing device of claim 7, wherein the processor performs further functions to:
generate a consumption block to indicate performance aspects of the interactive consumption; and
cause affiliation of the consumption block with the blockchain of the object distributed ledger associated with the NFT.

### Claim 9 (depends on 8)

The computing device of claim 8, wherein the processor performs functions to cause affiliation of the consumption block with the blockchain of the object distributed ledger associated with the NFT by:
determining whether to indirectly or directly update the object distributed ledger;
when indirectly updating the object distributed ledger:
issuing, via the interface, a blockchain update request to an object ledger computing device of the computing infrastructure serving as a blockchain node of the object distributed ledger, wherein the blockchain update request includes the consumption block; and
when directly updating the object distributed ledger:
obtaining, via the interface, a copy of the object distributed ledger, hashing the consumption block utilizing a receiving public key of the object distributed ledger to produce a next transaction hash value,
encrypting the next transaction hash value utilizing a private key of the computing device to produce a next transaction signature,
generating a next block of the blockchain of the object distributed ledger to include the consumption block and the next transaction signature, and
causing, via the interface, inclusion of the next block in the object distributed ledger.

### Claim 10 (depends on 7)

The computing device of claim 7, wherein the processor performs functions to determine whether the license smart contract for the set of learning objects associated with the NFT of the object distributed ledger affirms the access by the requesting entity to the set of learning objects by:
identifying the NFT associated with the set of learning objects based on the set of requested learning object identifiers; and
indicating that the license smart contract affirms the access by the requesting entity to the set of learning objects when:
detecting a block of a copy of the object distributed ledger associated with the NFT that includes the license smart contract for the set of learning objects, and
interpreting the license smart contract to include a valid license by the requesting entity for the set of learning objects.

### Claim 11 (depends on 10)

The computing device of claim 10, wherein the processor performs functions to identify the NFT associated with the set of learning objects by:
determining whether to indirectly or directly access the object distributed ledger;
when indirectly accessing the object distributed ledger:
issuing, via the interface, a non-fungible token (NFT) access request to an object ledger computing device of the computing infrastructure serving as a blockchain node of the object distributed ledger, wherein the non-fungible token access request includes at least some of the set of requested learning object identifiers, and
receiving, via the interface, the NFT in response to the NFT access request; and
when directly accessing the object distributed ledger:
obtaining, via the interface, a copy of the object distributed ledger, and
extracting the NFT from the copy of the object distributed ledger, wherein the NFT includes the at least some of the set of requested learning object identifiers.

### Claim 12 (depends on 7)

The computing device of claim 7, wherein the processor performs further functions to generate the virtual reality environment by:
identifying the common illustrative asset based on third and fourth sets of object representations of the group of object representations, wherein the third set of object representations is associated with a third piece of information regarding the common topic and the fourth set of object representations is associated with a fourth piece of information regarding the common topic, wherein the common illustrative asset further belongs to the third and fourth sets of object representations and depicts another aspect regarding the common topic pertaining to third and fourth pieces of information;
rendering another portion of the common illustrative asset to produce the set of common illustrative asset video frames;
selecting another subset of the set of common illustrative asset video frames to produce another common portion of video frames for the virtual reality environment with regards to the third and fourth sets of object representations to further reduce duplicative rendering;
rendering another representation of the third set of object representations to produce a third remaining portion of the video frames for the virtual reality environment with regards to the third set of object representations;
rendering another representation of the fourth set of object representations to produce a fourth remaining portion of the video frames for the virtual reality environment with regards to the fourth set of object representations; and
linking the other common portion, the third remaining portion, and the fourth remaining portion of the video frames to produce the virtual reality environment.

### Claim 13

A non-transitory computer readable memory comprises:
a first memory element that stores operational instructions that, when executed by a processing module, causes the processing module to:
interpret a request for a requesting entity to access a set of learning objects pertaining to a common topic represented in a virtual reality environment to produce a set of requested learning object identifiers, wherein a multitude of license blocks of a blockchain of an object distributed ledger identifies valid licensees of an inventory of learning objects, wherein each learning object of the inventory of learning objects is associated with a unique learning object identifier;
a second memory element that stores operational instructions that, when executed by the processing module, causes the processing module to:
determine whether a license smart contract for the set of learning objects associated with a non-fungible token (NFT) of the object distributed ledger affirms access by the requesting entity to the set of learning objects, wherein the license smart contract includes one or more of a learning object set identifier of the set of learning objects, an identifier of an affiliated lesson package, license terms, an effectiveness metric for the set of learning objects, an accreditation indicator for the set of learning objects, and at least one learning object owner identifier associated with the set of learning objects; and
a third memory element that stores operational instructions that, when executed by the processing module, causes the processing module to:
when the access is affirmed:
generate the virtual reality environment utilizing a group of object representations in accordance with interaction information for at least some of the object representations of the group of object representations, wherein at least some of the object representations are associated with corresponding three dimensional (3-D) physical objects, wherein the interaction information includes 3-D models and position information for the at least some of the object representations of the group of object representations, wherein a first set of object representations of the group of object representations is associated with a first piece of information regarding the common topic, wherein a second set of object representations of the group of object representations is associated with a second piece of information regarding the common topic, wherein the processing module further generates the virtual reality environment by:
identifying a common illustrative asset based on the first and second sets of object representations, wherein the common illustrative asset belongs to the first and second sets of object representations and depicts an aspect regarding the common topic pertaining to the first and second pieces of information,
rendering a portion of the common illustrative asset to produce a set of common illustrative asset video frames,
selecting a subset of the set of common illustrative asset video frames to produce a common portion of video frames for the virtual reality environment with regards to the first and second sets of object representations to reduce duplicative rendering,
rendering another representation of the first set of object representations to produce a first remaining portion of the video frames for the virtual reality environment with regards to the first set of object representations,
rendering another representation of the second set of object representations to produce a second remaining portion of the video frames for the virtual reality environment with regards to the second set of object representations, and
linking the common portion, the first remaining portion, and the second remaining portion of the video frames to produce the virtual reality environment; and
output the virtual reality environment to the requesting entity for interactive consumption.

### Claim 14 (depends on 13)

The non-transitory computer readable memory of claim 13 further comprises:
a fourth memory element that stores operational instructions that, when executed by the processing module, causes the processing module to:
generate a consumption block to indicate performance aspects of the interactive consumption; and
cause affiliation of the consumption block with the blockchain of the object distributed ledger associated with the NFT.

### Claim 15 (depends on 14)

The non-transitory computer readable memory of claim 14, wherein the processing module functions to execute the operational instructions stored by the fourth memory element to cause the processing module to cause affiliation of the consumption block with the blockchain of the object distributed ledger associated with the NFT by:
determining whether to indirectly or directly update the object distributed ledger;
when indirectly updating the object distributed ledger:
issuing a blockchain update request to an object ledger computing device serving as a blockchain node of the object distributed ledger, wherein the blockchain update request includes the consumption block; and
when directly updating the object distributed ledger:
obtaining a copy of the object distributed ledger,
hashing the consumption block utilizing a receiving public key of the object distributed ledger to produce a next transaction hash value,
encrypting the next transaction hash value utilizing a private key of the processing module to produce a next transaction signature,
generating a next block of the blockchain of the object distributed ledger to include the consumption block and the next transaction signature, and
causing inclusion of the next block in the object distributed ledger.

### Claim 16 (depends on 13)

The non-transitory computer readable memory of claim 13, wherein the processing module functions to execute the operational instructions stored by the second memory element to cause the processing module to determine whether the license smart contract for the set of learning objects associated with the NFT of the object distributed ledger affirms the access by the requesting entity to the set of learning objects by:
identifying the NFT associated with the set of learning objects based on the set of requested learning object identifiers; and
indicating that the license smart contract affirms the access by the requesting entity to the set of learning objects when:
detecting a block of a copy of the object distributed ledger associated with the NFT that includes the license smart contract for the set of learning objects, and
interpreting the license smart contract to include a valid license by the requesting entity for the set of learning objects.

### Claim 17 (depends on 16)

The non-transitory computer readable memory of claim 16, wherein the processing module functions to execute the operational instructions stored by the second memory element to cause the processing module to identify the NFT associated with the set of learning objects by:
determining whether to indirectly or directly access the object distributed ledger;
when indirectly accessing the object distributed ledger:
issuing a non-fungible token (NFT) access request to an object ledger computing device serving as a blockchain node of the object distributed ledger, wherein the non-fungible token access request includes at least some of the set of requested learning object identifiers, and
receiving the NFT in response to the NFT access request; and
when directly accessing the object distributed ledger:
obtaining a copy of the object distributed ledger, and
extracting the NFT from the copy of the object distributed ledger, wherein the NFT includes the at least some of the set of requested learning object identifiers.

### Claim 18 (depends on 13)

The non-transitory computer readable memory of claim 13, wherein the processing module functions to execute further operational instructions stored by the third memory element to cause the processing module to generate the virtual reality environment by:
identifying the common illustrative asset based on third and fourth sets of object representations of the group of object representations, wherein the third set of object representations is associated with a third piece of information regarding the common topic and the fourth set of object representations is associated with a fourth piece of information regarding the common topic, wherein the common illustrative asset further belongs to the third and fourth sets of object representations and depicts another aspect regarding the common topic pertaining to third and fourth pieces of information;
rendering another portion of the common illustrative asset to produce the set of common illustrative asset video frames;
selecting another subset of the set of common illustrative asset video frames to produce another common portion of video frames for the virtual reality environment with regards to the third and fourth sets of object representations to further reduce duplicative rendering;
rendering another representation of the third set of object representations to produce a third remaining portion of the video frames for the virtual reality environment with regards to the third set of object representations;
rendering another representation of the fourth set of object representations to produce a fourth remaining portion of the video frames for the virtual reality environment with regards to the fourth set of object representations; and
linking the other common portion, the third remaining portion, and the fourth remaining portion of the video frames to produce the virtual reality environment.
