IP Library › Granted Patent US 9,026,768
Granted Patent B2
US 9,026,768 · App. 12/499,749 · Granted May 5, 2015

Executing machine instructions comprising input/output pairs of execution nodes

Inventor: Michael Stephen Fiske (San Francisco, CA)
Assignee: Aemea Inc.
G06F9/30G06F9/30003G06F15/825
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,026,768
App. No.
12/499,749
Granted
May 5, 2015
Kind
B2
Abstract

A computing machine is disclosed having a memory system for storing a collection of execution nodes, a head for reading a sequence of symbols in the execution nodes in the memory system, and writing a sequence of symbols in the memory system. The machine is configured to execute a computation with a collection of pairs of execution nodes. Each pair of execution nodes represents a machine instruction. One execution node in the pair represents input of the machine instruction represented by the execution nodes. Another execution node in the pair represents output of the machine instruction represented by the execution nodes. Each execution node has a state of the machine, a sequence of symbols and a number.

Claims (78)

1. A machine implemented method comprising:

executing, by a machine, a computation with a collection of prime directed edges, each prime directed edge being defined as including at least a pairs of execution nodes, the collection of prime directed edges forming a collection of pairs of execution nodes, the machine including

at least a memory system for storing data and machine instructions, the data including sequences of symbols,

a head for reading the sequence of symbols in the memory system and writing a sequence of symbols to the memory system, and

a controller for implementing machine instructions read from the memory system, wherein

each pair of execution nodes represents a machine instruction;

each execution node has a state of the machine and a sequence of symbols, and is located at a different location in the memory system than the sequence of symbols read;

one execution node in the pair of execution nodes represents input of the machine instruction; and

the other execution node in the pair of execution nodes represents output of the machine instruction;

wherein the machine determines which pair of execution nodes to execute based on the sequence of symbols read.

2. The method of claim 1 , wherein said pairs of execution nodes represent a syntax of a programming language.

3. The method of claim 1 , wherein for each pair of execution nodes said input is a head execution node and said output is a tail execution node and the execution node and the execution of the machine instruction is implemented with an edge pattern substitution.

4. The method of claim 3 , wherein said edge pattern substitution overlap matches said head node with the current memory pattern and the memory pattern is edge substituted with the tail node.

5. The machine implemented method of claim 1 , wherein said method implements a digital computer program.

6. The method of claim 5 wherein said computer program is written in the C programming language.

7. The method of claim 5 wherein said computer program is written in the JAVA programming language.

8. The method of claim 5 wherein said computer program is written in Perl.

9. The method of claim 1 wherein a computer program is translated into a collection of prime directed edges.

10. The method of claim 9 wherein said computer program is executed by link matching prime directed edges.

11. The method of claim 10 wherein possible computer program behaviors are determined by constructing prime directed edge sequences by link matching prime directed edges.

12. The method of claim 3 wherein at least two execution pairs having two distinct head nodes interact with memory patterns of different lengths.

13. A computing machine comprising:

a memory system for storing a collection of prime directed edges, each prime directed edge being defined as including at least a pairs of execution nodes, the collection of prime directed edges forming a collection of pairs of execution nodes; and

a head for reading a sequence of symbols in the memory system and writing a sequence of symbols in the memory system,

the machine being configured to execute a computation with the pairs of execution nodes; wherein

each pair of execution nodes represents a machine instruction;

one execution node in the pair represents input of the machine instruction represented by the execution nodes;

another execution node in the pair represents output of the machine instruction represented by the execution nodes; and

each execution node has a state of the machine and a sequence of symbols;

the memory also storing a first set of computing instructions, which when implemented causes the computing machine to implement a method including at least

determining, by the computing machine, a result of executing a set

of program instructions, the set of program instructions including more than one program instruction,

replacing, by the computing machine, the second set of machine program instructions with a single machine instruction, represented by a pair of execution nodes, which when implemented outputs the result of executing the set of program instructions; and

storing, by the computing machine each pair of execution nodes in a location where the computing machine can find and recognize the pairs of execution nodes.

14. The machine of claim 13 , wherein for each pair of execution nodes said input is a head execution node and said output is a tail execution node and the execution of each machine instruction uses edge pattern substitution.

15. The machine of claim 14 , wherein said edge pattern substitution overlap matches said head node with a sequence of symbols in the memory system and this sequence of symbols is edge substituted with the sequence of symbols from said tail node.

16. The machine of claim 13 , wherein said machine executes a digital computer program.

17. The machine of claim 16 wherein said computer program is written in the C programming language.

18. The machine of claim 16 wherein said computer program is compiled to JAVA virtual machine instructions.

19. The machine of claim 16 wherein said computer program is written in the Haskell programming language.

20. The machine of claim 16 wherein said computer program is translated into a collection of prime directed edges.

21. The machine of claim 20 wherein said computer program is executed by link matching prime directed edges.

22. The machine of claim 21 wherein multiple computer program behaviors are constructed with prime directed edge sequences by link matching prime directed edges.

23. The machine of claim 14 wherein at least two distinct ones of said head execution nodes have sequences of symbols having sequence lengths that are different.

24. A computer implemented method comprising:

executing, by a computer, a computation with a collection of prime directed edges, each prime directed edge being defined as including at least a pairs of execution nodes, the collection of prime directed edges forming a collection of pairs of execution nodes, the computer having at least a memory system for storing data and machine instructions; each of the pairs of execution nodes representing one of the machine instructions; one execution node in the pair represents input to the machine instruction; another execution node in the pair represents output from this machine instruction; each execution node being associated with a sequence of symbols, and a number representing a location in this sequence of symbols; a first execution node of the pair being located at a first memory location; a second execution node of the pair being located at a second location in memory; the computer having a state;

the executing including at least

reading, by the computer, a sequence of symbols from a third location in memory;

updating, by the computer, the state of the computer based on the pair of execution nodes; and

writing, by the computer, to the third location in memory based on the pair of execution of nodes.

25. The method of claim 23 , further comprising:

determining a result of a set of machine instructions, and

replacing the set of machine instructions with a pair of execution nodes, which when implemented outputs the result.

26. A computer comprising:

a memory system storing a set of machine instructions represented by a collection of prime directed edges, each prime directed edge being defined as including at least a pair of execution nodes the collection of prime directed edges forming a collection of pairs of execution nodes, in a first location in memory, each pair of execution nodes representing a machine instruction; one execution node of the pair representing input to the machine instruction that is represented by the pair of execution nodes; another execution node of the pair representing output from the machine instruction represented by the pair execution nodes; each execution node being associated with a sequence of symbols; the computer having a state; and

the computer implementing the of machine instructions and changing the state of the computer based on the pair of execution nodes executed;

the memory system also storing a set of computing instructions located in a second location in the memory system, which when implemented

causes the computer to implement a method including at least

determining, by the computer, a result of executing a set of program instructions, the set of program instructions including more than

one program instruction,

replacing, by the computer, the set of program instructions with a single machine instruction, represented by a pair of execution nodes, which when implemented outputs the result of executing the set of program instructions; and

storing, by the computer, the pair of execution nodes with the collection of execution nodes in the memory system.

27. The method of claim 1 , further comprising:

determining a result of a set of machine instructions, and

replacing the set of machine instructions with a pair of execution nodes, which when implemented outputs the result.

28. The method of claim 24 , each pair of execution nodes having a head execution node and a tail execution node,

the tail execution node being the execution node that represents the output, which is located at a first location in memory, and

the head execution node being the execution node that represents the input, which is located in a second location in memory,

the method further comprising:

searching the collection of execution nodes for a head execution node of a pair of execution nodes that has a first sequence of symbols that has a portion that matches a portion of a second sequence of symbols in the third location in memory;

the updating including at least replacing the portion of the second sequence of symbols, that matched with a portion of the first sequence, with a third sequence of symbols in the tail execution node of the pair of execution nodes.

29. A computer implemented method comprising:

executing, by a computer, a computation with a collection of prime directed edges, each prime directed edge being defined as including at least a pairs of execution nodes, the collection of prime directed edges forming a collection of pairs of execution nodes, the computer having at least a memory system for storing data and machine instructions; each of the pairs of execution nodes representing one of the machine instructions; one execution node in the pair represents input to the machine instruction; another execution node in the pair represents output from this machine instruction; each execution node being associated with a sequence of symbols, and a number representing a location in this sequence of symbols; a first execution node of the pair being located at a first memory location; a second execution node of the pair being located at a second location in memory; and the computer having a state;

the executing including at least

reading, by the computer, a sequence of symbols from a third location in memory;

updating, by the computer, the state of the computer based on the pair of execution nodes; and

writing, by the computer, to the third location in memory based on the pair of execution of nodes;

wherein prior to the executing, the execution node in the pair that represents the input to the machine instruction has a predetermined association with the execution node in the pair that represents output from the machine instruction as an input-output pair of execution nodes.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2013
From: FISKE SOFTWARE, LLC.
To: AEMEA, INC.
Reel/Frame 031203/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2012
From: FISKE, MICHAEL STEPHEN, DR.
To: FISKE SOFTWARE, LLC
Reel/Frame 029436/0969 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2010
From: FISKE, MICHAEL STEPHEN
To: FISKE SOFTWARE LLC
Reel/Frame 023820/0463 →
Continuity (1)
Related Publication 20110066833A1 · Mar 17, 2011