IP Library Granted Patent US 12,639,421
Granted Patent B2
US 12,639,421 · App. 18/595,277 · Granted May 26, 2026

System and method for optimizing virtual world computations through an n-tier architecture

Inventors: Cevat Yerli (Dubai, AE); Prashanth Hirematada (Frankfurt am Main, DE)
Assignee: TMRW Group IP
G06F21/53G06F16/2379H04L41/0806H04L67/34G06F8/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,639,421
App. No.
18/595,277
Granted
May 26, 2026
Kind
B2
Abstract

Systems and methods for optimizing virtual world computations through an n-tier architecture including at least three tiers are provided. In a sample three-tier architecture, a first tier comprises a client software engine configured to receive input data, send the data to the second tier, and perform end-user processing. A second tier connects to the first tier and to a third tier through a network and comprises a client-dedicated module that is dynamically instantiated and which is configured to either prepare the received data for subsequent processing from the client software engine or send the received data to the third tier. The third tier comprises a virtual world processing module configured to receive and process data from the second tier, generating world state updates, and to dynamically instantiate the client-dedicated module to spawn client-dedicated instances. The world state updates are sent to corresponding client-dedicated module instances for further processing.

Claims (80)

1 . A computer system implementing an n-tier 3D engine architecture comprising:

a first tier comprising a client software engine configured to:

receive input data,

send the input data to a second tier, and

perform end-user processing of the input data;

the second tier connected to the first tier and to a third tier through a network, the second tier comprising:

a client-dedicated set of instructions stored in memory configured to act on the input data based on an input data type; and

the third tier comprising:

a virtual world processing set of instructions stored in memory configured to receive and process the input data from the second tier in order to generate world state updates,

wherein the world state updates are sent to the client-dedicated set of instructions for further processing, and

wherein the client software engine enables adjustments to an amount of processing performed by each tier.

2 . The computer system of claim 1 ,

wherein the client software engine is stored in memory of at least one client device and is executed by at least one processor of the at least one client device, and

wherein the client-dedicated set of instructions and the virtual world processing set of instructions are stored in the memory of one or more cloud server computers and are executed by at least one processor of the one or more cloud server computers.

3 . The computer system of claim 1 , wherein the n-tier 3D engine architecture is implemented in a cloud-to-edge infrastructure employing computing devices and systems comprising:

public or private clouds,

fog servers,

cloudlets,

edge devices,

combinations thereof, or

in a distributed ledger.

4 . The computer system of claim 1 , wherein based on the input data type, the second tier is further configured to prepare the input data for subsequent processing from the client software engine of the first tier or send the input data to the third tier.

5 . The computer system of claim 1 , wherein the client software engine is further configured to identify one or more portions of the input data for processing by the client-dedicated set of instructions or the virtual world processing set of instructions.

6 . The computer system of claim 1 , wherein the at least one processor is assigned on demand to one or more client devices during per client instantiation via the virtual world processing set of instructions.

7 . The computer system of claim 1 , wherein the input data received by the client software engine comprises one or more of:

color data,

geometry data,

depth data,

audio data,

pose data,

sensor data, and

user input commands.

8 . The computer system of claim 1 , wherein the adjustments to the amount of processing are performed by defining types of data processed by the client-dedicated set of instructions and the virtual world processing set of instructions.

9 . The computer system of claim 1 , wherein the third tier comprises a virtual world system,

wherein the virtual world system comprises a plurality of sub-universes, each sub-universe comprising a plurality of virtual objects,

wherein at least some of the plurality of virtual objects are virtual replicas of corresponding real world objects located in corresponding areas of a real world, and

wherein processing by the virtual world processing set of instructions is performed on the plurality of virtual objects within areas of interest.

10 . The computer system of claim 9 , wherein the virtual world processing set of instructions is further configured to provision one or more application services,

wherein said provisioning is based at least in part on a spatial context associated with one or more content contexts through the virtual world system, wherein said spatial context is classified into a micro-context or macro-context.

11 . A method comprising:

receiving, by a client-dedicated set of instructions of a second tier of an n-tier architecture, input data from a client software engine configured in a first tier of the n-tier architecture connected to the second tier through a network;

sending, by the client-dedicated set of instructions stored in memory, a first portion of the input data to a virtual world processing set of instructions stored in memory of a third tier of the n-tier architecture connected to the client-dedicated set of instructions through the network, the virtual world processing set of instructions being configured to process the first portion of the input data in order to generate world state updates, wherein the world state updates are sent to the client-dedicated set of instructions;

processing, by the client-dedicated set of instructions, the world state updates, wherein said processing is performed on a per-client basis; and

sending the processed world state updates to the client software engine for performing end-user processing of requests, wherein adjustments to an amount of processing performed by each tier are enabled by the client software engine.

12 . The method of claim 11 , wherein the client software engine is stored in a memory of at least one client device and is executed by at least one processor of the at least one client device, and

wherein the client-dedicated set of instructions and the virtual world processing set of instructions are stored in memory of one or more cloud server computers and are executed by at least one processor of the one or more cloud server computers.

13 . The method of claim 11 , further comprising:

identifying, by the client software engine, a second portion of the input data for processing by the client dedicated set of instructions;

preparing, by the client-dedicated set of instructions, the second portion of the input data received from the client software engine; and

sending the prepared second portion of the input data to the client software engine for performing end-user processing of requests.

14 . The method of claim 11 , further comprising:

assigning, during instantiation of the client-dedicated set of instructions by the virtual world processing set of instructions, at least one processor to one or more client devices.

15 . The method of claim 11 , wherein the input data received by the client software engine comprises one or more of:

color data,

geometry data,

depth data,

audio data,

pose data,

sensor data, and

user input commands.

16 . The method of claim 11 , wherein the adjustments to the amount of processing are performed by defining types of data processed by the client-dedicated set of instructions and the virtual world processing set of instructions.

17 . The method of claim 11 , wherein the third tier comprises a virtual world system,

wherein the virtual world system includes a plurality of sub-universes, each sub-universe comprising a plurality of virtual objects,

wherein at least some of the plurality of virtual objects are virtual replicas of corresponding real world objects located in corresponding areas of a real world, and

wherein processing by the virtual world processing set of instructions is performed on the plurality of virtual objects within areas of interest.

18 . The method of claim 17 , further comprising:

provisioning, by the virtual world processing set of instructions, one or more application services,

wherein and the provisioning is based at least in part on a spatial context associated with one or more content contexts through the virtual world system, and

wherein the one or more application services are allocated and sent to the corresponding client software engine on request through the corresponding client-dedicated set of instructions.

19 . The method of claim 18 , wherein said spatial context is classified into a micro-context or macro-context.

20 . A non-transitory computer-readable medium having stored thereon instructions configured to cause one or more computers to perform steps comprising:

receiving, by a client-dedicated set of instructions of a second tier of an n-tier architecture, input data from a client software engine configured in a first tier of the n-tier architecture connected to the second tier through a network;

sending, by the client-dedicated set of instructions stored in memory, a first portion of the input data to a virtual world processing set of instructions stored in memory of a third tier of the n-tier architecture connected to the client-dedicated set of instructions through the network, the virtual world processing set of instructions being configured to process the first portion of the input data in order to generate world state updates, wherein the world state updates are sent to the client-dedicated set of instructions;

processing, by the client-dedicated set of instructions, the world state updates, wherein said processing is performed on a per-client basis; and

sending the processed world state updates to the client software engine for performing end-user processing of requests, wherein enabling adjustments, by the client software engine, to an amount of processing performed by each tier.

21 . The computer system of claim 1 , wherein the client-dedicated set of instructions is dynamically instantiated per client device by the third tier, and the virtual world processing set of instructions is configured to dynamically instantiate the client-dedicated set of instructions to spawn client-dedicated instances.

22 . The method of claim 11 , wherein the dynamically instantiating the client-dedicated set of instructions, by the virtual world processing set of instructions, to spawn client-dedicated instances.

23 . The non-transitory computer-readable medium of claim 20 , wherein the dynamically instantiating the client-dedicated set of instructions, by the virtual world processing set of instructions, to spawn client-dedicated instances.

24 . The computer system of claim 8 , wherein the types of data comprise low interaction frequency data and highly interaction frequency data.

25 . The computer system of claim 24 , wherein the high interaction frequency data is processed by the client-dedicated module of the second tier and the low interaction frequency data is processed by the virtual world processing module of the third tier.

Assignments (2)
CHANGE OF NAME Recorded Apr 30, 2025
From: TMRW FOUNDATION IP S.À R.L.
To: TMRW GROUP IP
Reel/Frame 071133/0552 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2024
From: YERLI, CEVAT; HIREMATADA, PRASHANTH
To: TMRW FOUNDATION IP S.ÀR.L.
Reel/Frame 066658/0534 →
Continuity (3)
Continuation 17138672 · Dec 30, 2020
Provisional Application 62955239 · Dec 30, 2019
Related Publication 20240205286A1 · Jun 20, 2024
References Cited (30)
US 6348927B1 · Lipkin · 2002 [cited by applicant]
US 11524234B2 · Salik · 2022 [cited by applicant]
US 20080220873A1 · Lee et al. · 2008 [cited by applicant]
US 20130332574A1 · Lin et al. · 2013 [cited by applicant]
US 20150258438A1 · Tait et al. · 2015 [cited by applicant]
US 20150379046A1 · Sundaresan et al. · 2015 [cited by applicant]
US 20180267951A1 · Moah · 2018 [cited by examiner]
US 20210201437A1 · Yerli · 2021 [cited by applicant]
US 20210203756A1 · Yerli · 2021 [cited by examiner]
US 20220054936A1 · Salik · 2022 [cited by examiner]
US 20220054945A1 · Salik · 2022 [cited by applicant]
US 20230107385A1 · Salik · 2023 [cited by applicant]
JP 2010525422A · 2010 [cited by applicant]
JP 2019526868A · 2019 [cited by applicant]
KR 1020100014941A · 2010 [cited by applicant]
WO 2018053122A1 · 2018 [cited by applicant]
Office Action mailed Oct. 25, 2022 in Japanese application No. 2020-213598, filed Dec. 23, 2020, 11 pages. [cited by applicant]
Office Action mailed Apr. 26, 2022, in Japanese application No. 2020-213598, filed Dec. 23, 2020, 10 pages. [cited by applicant]
Yamamoto, S., et al., “QoS Adaptation for Realizing Interaction between Virtual and Real Worlds in Pervasive Networks,” Information Processing Society of Japan, Jun. 29, 2007, vol. 2007, No. 1, pp. 1690-1699. [cited by applicant]
Extended European Search Report mailed May 6, 2021, issued in corresponding European Application No. EP 20 21 7091, 9 pages. [cited by applicant]
A. Pessoa Negrao et al., “On-Demand Resource Allocation Middleware for Massively Multiplayer Online Games,” 2014 IEEE 13th International Symposium on Network Computing and Applications, Aug. 21, 2014, pp. 71-74. [cited by applicant]
S.A. Abdulazeez et al., “Dynamic Area of Interest Management for Massively Multiplayer Online Games Using OPNET,” 2017 10th International Conference on Developments in eSystems Engineering (DESE), IEEE, Jun. 14, 2017, p… [cited by applicant]
M. Ghobaei-Arani et al., “An Autonomous Resource Provisioning Framework for Massively Multiplayer Online Games in Cloud Environment,” Journal of Network and Computer Applications, vol. 142, Jun. 7, 2019, pp. 76-97. [cited by applicant]
Mumme, C., et al., “A Framework for Interaction Analysis and Feedback in Collaborative Virtual Worlds,” 2008 IEEE International Technology Management Conference (ICE), Lisbon, Portugal, Jun. 23-28, 2008, 8 pages. [cited by applicant]
Gupta, A., et al., “Cloud Gaming: Architecture and Quality of Service,” Career Point University Hamipur-Research Journal: 1(2), pp. 19-22, 2015. [cited by applicant]
Abrams, H.A., et al., “Extensible Interest Management for Scalable Persistent Distributed Virtual Environments,” doctoral thesis, Naval Postgraduate School, Monterey, California, Dec. 1999, pp. i-220. [cited by applicant]
Ciampi, M., et al., “A Collaborative Architecture for Healthcare Applications,” International Journal on Information, 11 pages, Feb. 2012. [cited by applicant]
Fuhrer, P., et al., “Massively Distributed Virtual Worlds a Framework Approach MaDViWorld: a Java Software Framework for Massively Distributed Virtual Worlds,” Lecture Notes in Computer Science, 2604:111-121, Feb. 2003. [cited by applicant]
Jurgelionis, et al., “Platform for Distributed 3D Gaming,” International Journal of Computer Games Technology, V. 2009, Article ID 231863, pp. 1-15, May 2009. [cited by applicant]
Müller, M., et al., “Screen Space Meshes,” ACM SIGGRAPH/Eurographics Symposium on Computer Animation, San Diego, California, Aug. 2007, 7 pages. [cited by applicant]