IP Library › Granted Patent US 8,819,119
Granted Patent B2
US 8,819,119 · App. 12/874,634 · Granted Aug 26, 2014

Dynamic definition for concurrent computing environments

Inventors: Halldor Narfi Stefansson (Natick, MA); Elwin Yam Ming Chan (Milton, GB); Portia O'Callaghan (Natick, MA); Loren Dean (Natick, MA)
Assignee: The MathWorks, Inc.
H04L12/24H04L29/12594H04L61/30
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 8,819,119
App. No.
12/874,634
Granted
Aug 26, 2014
Kind
B2
Abstract

Exemplary embodiments allow a user to create configurations for use in distributed computing environments. Configurations can be arranged in hierarchies in which elements of the hierarchy can inherit characteristics from elements in other layers of the hierarchy. Embodiments also allow a user to flatten a hierarchical configuration to remove hierarchical dependencies and/or inheriting capabilities of elements in the hierarchy. Exemplary embodiments further allow users to deploy a distributed computing configuration on their desktop to evaluate performance of the configuration and then deploy the configuration in a distributed computing environment without having to change programming code run on the desktop/distributed computing environment.

Claims (172)

1. A non-transitory computer-readable medium storing instructions, the instructions comprising:

one or more instructions which, when executed by a processor, cause the processor to:

receive information associated with a cluster configuration,

the cluster configuration being part of a plurality of cluster configurations;

store the information associated with the cluster configuration;

receive a request to create an alias associated with the information associated with the cluster configuration,

the alias including information referring to the information associated with the cluster configuration;

create, based on the received request, the alias;

associate the created alias with the information associated with the cluster configuration;

receive, using the created alias, an instruction to combine the cluster configuration with at least one of:

one or more job configurations, or

one or more task configurations;

combine, based on receiving the instruction, the cluster configuration and the at least one of the one or more job configurations or the one or more task configurations to create a combined configuration;

store information associating the created alias with information associated with the combined configuration; and

cause, based on the stored information associated with the cluster configuration and the stored information associating the created alias with the information associated with the combined configuration, at least one of a task or a job to be processed,

the at least one of the task or the job being processed based on receiving notation information,

the notation information referring to the combined configuration, and

the at least one of the task or the job being processed based on information associated with the combined configuration.

2. The computer-readable medium of claim 1 , where the instructions further include:

one or more instructions to modify the information associated with the cluster configuration to create a modified configuration; and

one or more instructions to store information associated with the modified configuration.

3. The computer-readable medium of claim 2 , where the one or more instructions to modify the information associated with the cluster configuration include at least one of:

one or more instructions to edit the information associated with the cluster configuration,

one or more instructions to add information to the information associated with the cluster configuration, or

one or more instructions to remove information from the information associated with the cluster configuration.

4. The computer-readable medium of claim 1 , where the information associated with the cluster configuration includes:

information associated with a job configuration, of the one or more job configurations,

the information associated with the job configuration including information specifying one or more jobs for processing in a distributed computing environment.

5. The computer-readable medium of claim 4 , where the information associated with the job configuration is part of information associated with a hierarchy of job configurations.

6. The computer-readable medium of claim 4 , where the information associated with the job configuration includes:

information associated with a task configuration, of the one or more task configurations,

the information associated with the task configuration including information specifying one or more tasks for processing in a distributed computing environment.

7. The computer-readable medium of claim 6 , where the information associated with the task configuration is part of information associated with a hierarchy of task configurations.

8. The computer-readable medium of claim 1 , where the instructions further include:

one or more instructions to modify the information associated with the cluster configuration,

the one or more instructions to modify the information associated with the cluster configuration including at least one of:

one or more instructions to modify information associated with a first job configuration, of the one or more job configurations,

one or more instructions to modify information associated with a first task configuration, of the one or more task configurations,

one or more instructions to switch from the first job configuration to a second job configuration, of the one or more job configurations, or

one or more instructions to switch from the first task configuration to a second task configuration, of the one or more task configurations.

9. The computer-readable medium of claim 1 , where the instructions further include:

one or more instructions to provide, for display via a user interface, the information associated with the cluster configuration.

10. The computer-readable medium of claim 1 , where

the information associated with the cluster configuration is accessible using an identifier, and

the identifier is associated with at least one of:

the alias,

a path name,

a universal resource locator (URL),

a registry entry,

an active directory, or

a file name.

11. The computer-readable medium of claim 1 , where the one or more instructions to receive the information associated with the cluster configuration include:

one or more instructions to receive the information associated with the cluster configuration based on receiving information associated with an accessing operation,

the information associated with the accessing operation including information associated with a search path.

12. The computer-readable medium of claim 1 , where the instructions further include:

one or more instructions to periodically update the information associated with the cluster configuration.

13. The computer-readable medium of claim 12 , where the one or more instructions to periodically update the information associated with the cluster configuration include:

one or more instructions to inherit one or more characteristics from one or more cluster configurations of the plurality of cluster configurations.

14. The computer-readable medium of claim 1 , where the instructions further include:

one or more instructions to flatten the information associated with the cluster configuration.

15. The computer-readable medium of claim 14 , where the instructions further include:

one or more instructions to export the flattened information associated with the cluster configuration.

16. The computer-readable medium of claim 1 , where the instructions further include:

one or more instructions to flatten the information associated with the cluster configuration,

the one or more instructions to store the information associated with the cluster configuration including:

one or more instructions to store the flattened information associated with the cluster configuration.

17. The computer-readable medium of claim 1 , where the information associated with the cluster configuration includes information received from a MATLAB-compatible application.

18. A device comprising:

a memory to store instructions; and

a processor to execute the instructions to:

receive information associated with a cluster configuration, the cluster configuration being part of a plurality of cluster configurations;

store the information associated with the cluster configuration;

receive a request to create an alias associated with the information associated with the cluster configuration,

the alias including information referring to the information associated with the cluster configuration;

create, based on the received request, the alias;

associate the created alias with the information associated with the cluster configuration;

receive, using the created alias, an instruction to combine the cluster configuration with at least one of:

one or more job configurations, or

one or more task configurations;

combine, based on receiving the instruction, the cluster configuration and the at least one of the one or more job configurations or the one or more task configurations to create a combined configuration;

store information associating the created alias with information associated with the combined configuration; and

cause, based on the stored information associated with the cluster configuration and the stored information associating the created alias with the information associated with the combined configuration, at least one of a task or a job to be processed,

the at least one of the task or the job being processed based on receiving notation information,

the notation information referring to the combined configuration, and

the at least one of the task or the job being processed based on information associated with the combined configuration.

19. The device of claim 18 , where the processor is further to:

modify the information associated with the cluster configuration to create a modified configuration; and

store information associated with the modified configuration.

20. The device of claim 19 , where the processor, when modifying the information associated with the cluster configuration, is further to at least one of:

edit the information associated with the cluster configuration,

add information to the information associated with the cluster configuration, or

remove information from the information associated with the cluster configuration.

21. The device of claim 18 , where the information associated with the cluster configuration includes:

information associated with a job configuration, of the one or more job configurations,

the information associated with the job configuration including information specifying one or more jobs for processing in a distributed computing environment.

22. The device of claim 21 , where

the information associated with the job configuration is part of information associated with a hierarchy of job configurations, and

the information associated with the job configuration includes:

information associated with a task configuration, of the one or more task configurations,

the information associated with the task configuration including information specifying one or more tasks for processing in a distributed computing environment.

23. The device of claim 18 , where the processor is further to:

modify the information associated with the cluster configuration,

the processor, when modifying the information associated with the cluster configuration, being further to at least one of:

modify information associated with a first job configuration, of the one or more job configurations,

modify information associated with a first task configuration, of the one or more task configurations,

switch from the first job configuration to a second job configuration, of the one or more job configurations, or

switch from the first task configuration to a second task configuration, of the one or more task configurations.

24. The device of claim 18 , where the processor is further to:

provide, for display via a user interface, the information associated with the cluster configuration.

25. The device of claim 18 , where the processor is further to:

flatten the information associated with the cluster configuration; and

export the flattened information associated with the cluster configuration,

the processor, when storing the information associated with the cluster configuration, being to:

store the flattened information associated with the cluster configuration.

26. The device of claim 18 , where the information associated with the cluster configuration includes information received from a MATLAB-compatible application.

27. A method comprising:

receiving information associated with a cluster configuration,

the cluster configuration being part of a plurality of cluster configurations, and

the receiving being performed by a computing device;

storing the information associated with the cluster configuration,

the storing being performed by the computing device;

receiving a request to create an alias associated with the information associated with the cluster configuration,

the alias including information referring to the information associated with the cluster configuration, and

the receiving the request being performed by the computing device;

creating, based on the received request, the alias,

the creating being performed by the computing device;

associating the created alias with the information associated with the cluster

configuration,

the associating being performed by the computing device;

receiving, using the created alias, an instruction to combine the cluster configuration with at least one of:

one or more job configurations, or

one or more task configurations, and

the receiving the instruction being performed by the computing device;

combining, based on receiving the instruction, the cluster configuration and the at least one of the one or more job configurations or the one or more task configurations to create a combined configuration,

the combining being performed by the computing device;

storing information associating the created alias with information associated with the combined configuration,

the storing the information associating the created alias with the information associated with the combined configuration being performed by the computing device; and

causing, based on the stored information associated with the cluster configuration and the stored information associating the created alias with the information associated with the combined configuration, at least one of a task or a job to be processed,

the at least one of the task or the job being processed based on receiving notation information,

the notation information referring to the combined configuration,

the at least one of the task or the job being processed based on information associated with the combined configuration, and

the causing being performed by the computing device.

28. The method of claim 27 , further comprising:

modifying the information associated with the cluster configuration to create a modified configuration; and

storing information associated with the modified configuration.

29. The method of claim 28 , where, when modifying the information associated with the cluster configuration, the method includes at least one of:

editing the information associated with the cluster configuration,

adding information to the information associated with the cluster configuration, or

removing information from the information associated with the cluster configuration.

30. The method of claim 27 , where the information associated with the cluster configuration includes:

information associated with a job configuration, of the one or more job configurations,

the information associated with the job configuration including information specifying one or more jobs for processing in a distributed computing environment.

31. The method of claim 30 , where

the information associated with the job configuration is part of information associated with a hierarchy of job configurations, and

the information associated with the job configuration includes:

information associated with a task configuration, of the one or more task configurations,

the information associated with the task configuration including information specifying one or more tasks for processing in a distributed computing environment.

32. The method of claim 27 , where the method further includes:

modifying the information associated with the cluster configuration,

when modifying the information associated with the cluster configuration, the method includes at least one of:

modifying information associated with a first job configuration, of the one or more job configurations,

modifying information associated with a first task configuration, of the one or more task configurations,

switching from the first job configuration to a second job configuration, of the one or more job configurations, or

switching from the first task configuration to a second task configuration, of the one or more task configurations.

33. The method of claim 27 , further comprising:

providing, for display via a user interface, the information associated with the cluster configuration.

34. The method of claim 27 , further comprising:

flattening the information associated with the cluster configuration; and

exporting the flattened information associated with the cluster configuration,

when storing the information associated with the cluster configuration, the method includes:

storing the flattened information associated with the cluster configuration.

35. The method of claim 27 , where the information associated with the cluster configuration includes information received from a MATLAB-compatible application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2010
From: STEFANSSON, HALLDOR NARFI; CHAN, ELWIN YAM MING; O'CALLAGHAN, PORTIA; DEAN, LOREN
To: THE MATHWORKS, INC.
Reel/Frame 024932/0039 →
Continuity (5)
Continuation In Part 12761777 · Apr 16, 2010
Continuation 11880621 · Jul 23, 2007
Continuation 11271009 · Nov 10, 2005
Provisional Application 61331684 · May 5, 2010
Related Publication 20100333092A1 · Dec 30, 2010