IP Library Granted Patent US 9,384,442
Granted Patent B2
US 9,384,442 · App. 12/075,109 · Granted Jul 5, 2016

Distributed network architecture for introducing dynamic content into a synthetic environment

Inventors: Robert Ernest Lee (Austin, TX); David M. Aldridge (Austin, TX); Bryan Joseph Farina (Foster City, CA); Jon Edward Van Caneghem (Menlo Park, CA)
Assignee: Trion Worlds, Inc.
G06N3/006A63F13/12A63F2300/6009
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 9,384,442
App. No.
12/075,109
Granted
Jul 5, 2016
Kind
B2
Abstract

Embodiments of the invention relate generally to computer-based simulations and synthetic environment generation, and more particularly, to a system, a computer-readable medium, a method and an apparatus for generating synthetic environments in a distributed architecture to, among other things, introduce dynamic content.

Claims (56)

1. A method to create events in synthetic environments, the method comprising:

generating a synthetic environment accessible by multiple clients by performing executable code using a processor, the executable code including socket code configured to interact with a source of plug data;

selecting plug data from the source of plug data;

establishing a trigger point at which the socket code and the plug data interact to introduce dynamic content into the synthetic environment, wherein the dynamic content includes data relating to location in the synthetic environment, positioning in the synthetic environment, speed in the synthetic environment, path in the synthetic environment, or any combination thereof; wherein the plug data relates to a creature, a tree, a structure, or any combination thereof; and wherein the trigger point includes a scheduled time or a condition, the condition including a number of participants at a specific location has surpassed a threshold;

determining whether the trigger point has been reached; and

in the event that the trigger point has been reached, introducing, using an event server, different plug data into the synthetic environment, wherein a portion of the synthetic environment is generated without revising the object code and foregoing recompilation, the portion of the synthetic environment including at least one game management server.

2. The method of claim 1 further comprising:

creating the plug data subsequent to formation of the executable code.

3. The method of claim 1 wherein selecting the plug data comprises:

selecting a data arrangement configured to provide the plug data to the socket code without modifying the executable code.

4. The method of claim 3 wherein selecting the data arrangement comprises:

selecting a universal data structure.

5. The method of claim 4 wherein selecting the universal data structure comprises:

selecting an XML-based data arrangement.

6. The method of claim 4 wherein selecting the universal data structure comprises:

selecting a property class-based data arrangement.

7. The method of claim 1 wherein establishing the trigger point comprises:

establishing an amount of time that the dynamic content is accessible by the multiple clients in the synthetic environment.

8. The method of claim 1 further comprising:

editing a universal data structure to include the plug data.

9. A method to create events in synthetic environments, the method comprising:

generating a synthetic environment by performing object code using a processor, the object code including socket code to introduce content to the synthetic environment;

instantiating a plug object having a data arrangement in accordance with a universal data structure;

configuring the plug object to include data representing a location at which the content is introduced in the synthetic environment, speed in the synthetic environment, path in the synthetic environment, or any combination thereof, substantially simultaneous to the execution of the object code, wherein the plug object relates to a creature, a tree, a structure, or any combination thereof;

scheduling a time during which the content is introduced into the synthetic environment;

determining whether the time has been reached; and

in the event that the time has been reached, introducing, using an event server, another plug object into the synthetic environment, wherein a portion of the synthetic environment is generated without revising the object code and foregoing recompilation, the portion of the synthetic environment including at least one game management server.

10. The method of claim 9 further comprising:

instantiating another plug object in accordance with the universal data structure independent of the object code.

11. The method of claim 9 wherein instantiating the plug object comprises:

instantiating a property class object.

12. The method of claim 9 wherein instantiating the plug object comprises:

implementing a data arrangement formatted in accordance with XML.

13. The method of claim 12 further comprising invoking an XML editor to modify the data arrangement of the plug object.

14. A non-transitory computer readable medium to facilitate massively multiplayer online games, the computer readable medium comprising instructions executable by a processor to:

using a processor to generate a synthetic environment including executable code and accessible by multiple clients, the executable code including socket code configured to interact with a source of plug data;

select plug data from the source of plug data, the plug data being created subsequent to formation of the executable code;

establish a trigger point at which the socket code and the plug data interact, wherein the plug data includes data relating to location in the synthetic environment, positioning in the synthetic environment, speed in the synthetic environment, path in the synthetic environment, or any combination thereof; and wherein the plug data relates to a creature, a tree, a structure, or any combination thereof;

introduce dynamic content into the synthetic

environment, wherein the trigger point includes a scheduled time or a condition, the condition including a number of participants at a specific location has surpassed a threshold;

determining whether the trigger point has been reached; and

in the event that the trigger point has been reached, introducing, using an event server, different plug data into the synthetic environment, wherein a portion of the synthetic environment is generated without revising the object code and foregoing recompilation, the portion of the synthetic environment including at least one game management server.

15. The non-transitory computer readable medium of claim 14 further comprising executable instructions to:

select a data arrangement configured to provide the plug data to the socket code without modifying the executable code.

16. A computer program product for facilitating massively multiplayer online games, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions to:

maintain data representing an event in an event library database, the event associated with a plug object configured to interact with object code;

determine a time during which dynamic content is scheduled to persist in association with a synthetic environment;

display a representation of the time during which the dynamic content is introduced into the synthetic environment;

detect a condition that triggers introduction of the dynamic content into the synthetic environment, wherein the dynamic content includes data relating to location in the synthetic environment, positioning in the synthetic environment, speed in the synthetic environment, path in the synthetic environment, or any combination thereof; wherein the plug object relates to a creature, a tree, a structure, or any combination thereof; wherein the condition including a number of participants at a specific location has surpassed a threshold; and

in the event that the condition has occurred, introduce, using an event server, different plug data into the synthetic environment during the execution of the object code, wherein a portion of the synthetic environment is generated without revising the object code and foregoing recompilation, the portion of the synthetic environment including at least one game management server.

17. The computer program product recited in claim 16 , further comprising computer instructions to:

generate the event to include the plug object without modifying the object code.

18. The computer program product recited in claim 16 , further comprising computer instructions to:

develop another plug object in association with another event;

test the another plug object in association with the object code; and

determine whether the another plug object meets one or more quality assurance (“QA”) specifications.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2019
From: TRION WORLDS, INC.
To: TRION WORLDS (ABC), LLC
Reel/Frame 048096/0299 →
ACKNOWLEDGMENT OF TERMINATION OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Oct 26, 2018
From: PARTNERS FOR GROWTH V, L.P.
To: TRION WORLDS, INC.
Reel/Frame 047332/0282 →
SECURITY INTEREST Recorded Mar 13, 2018
From: TRION WORLDS, INC.
To: SILICON VALLEY BANK
Reel/Frame 045574/0875 →
SECURITY INTEREST Recorded Feb 27, 2018
From: TRION WORLDS, INC.
To: PARTNERS FOR GROWTH V, L.P.
Reel/Frame 045055/0883 →
SECURITY INTEREST Recorded Aug 6, 2016
From: TRION WORLDS, INC.
To: PARTNERS FOR GROWTH IV, L.P.
Reel/Frame 039359/0401 →
SECURITY AGREEMENT Recorded Oct 15, 2013
From: TRION WORLDS, INC.
To: SILICON VALLEY BANK
Reel/Frame 031410/0837 →
SECURITY AGREEMENT Recorded Oct 10, 2013
From: TRION WORLDS, INC.
To: LIGHTHOUSE CAPITAL PARTNERS VI, L.P.
Reel/Frame 031395/0463 →
CHANGE OF NAME Recorded Feb 6, 2012
From: TRION WORLD NETWORK, INC.
To: TRION WORLDS, INC.
Reel/Frame 027661/0151 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS (STREET ADDRESS) PREVIOUSLLY RECORDED ON REEL 021234 FRAME 0895. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNORS INTEREST. Recorded Jul 16, 2008
From: LEE, ROBERT; ALDRIDGE, DAVID M.; FARINA, BRYAN JOSEPH; VAN CANEGHEM, JON EDWARD
To: TRION WORLD NETWORK, INC.
Reel/Frame 021267/0680 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2008
From: LEE, ROBERT; ALDRIDGE, DAVID M.; FARINA, BRYAN JOSEPH; VAN CANEGHEM, JON EDWARD
To: TRION WORLD NETWORK, INC.
Reel/Frame 021234/0895 →
Continuity (2)
Continuation 11715009 · Mar 6, 2007
Related Publication 20080287193A1 · Nov 20, 2008