IP Library Granted Patent US 7,284,009
Granted Patent B2
US 7,284,009 · App. 10/319,004 · Granted Oct 16, 2007

System and method for command line prediction

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 7,284,009
App. No.
10/319,004
Granted
Oct 16, 2007
Kind
B2
Abstract

Systems, methods, and computer program products for command line prediction are disclosed. Commands entered on a command line are saved to a command log. The command log is analyzed to generate a plurality of n-gram tables that reflect the entries in the command log. The n-gram tables may be stored in a suitable memory. Subsequent command sequences entered on the command line may be compared to the n-gram tables to assess the likelihood of a command.

Claims (38)

1. A method for command line prediction in a computer system including a database of command sequences organized into tables of n-grams, comprising:

receiving an entry in a command line sequence;

searching the database for an n-gram entry matching the received entry in the command line sequence; and

displaying a predicted command if an n-gram entry that satisfies a certainty threshold is found in the database.

2. The method of claim 1 , wherein receiving an entry in a command line sequence comprises receiving a single command.

3. The method of claim 1 , wherein receiving an entry in a command line sequence comprises storing the entry in a command line sequence in memory.

4. The method of claim 1 , wherein searching the database for an n-gram entry matching the received entry in the command line sequence comprises searching for a 1-gram entry that matches the received entry.

5. The method of claim 4 , wherein the command line sequence includes at least the two most recent commands entered at the command line and wherein matching 1-gram entries are used to search a 2-gram table for entries that match the two most recent commands entered at the command line.

6. The method of claim 5 , wherein the command line sequence includes at least the three most recent commands entered at the command line and wherein matching 2-gram entries are used to search a 3-gram table for entries that match the two most recent commands entered at the command line.

7. The method of claim 6 , wherein the command line sequence includes at least the four most recent commands entered at the command line and wherein matching 4-gram entries are used to search a 4-gram table for entries that match the two most recent commands entered at the command line.

8. The method of claim 7 , wherein the command line sequence includes at least the five most recent commands entered at the command line and wherein matching 4-gram entries are used to search a 5-gram table for entries that match the two most recent commands entered at the command line.

9. The method of claim 1 , further comprising determining a likelihood that the matching n-grams are predictive of the next command wherein the likelihood is inversely proportional to the length of the n-gram match.

10. The method of claim 1 , further comprising determining a likelihood that the matching n-grams are predictive of the next command wherein the likelihood is a function of the frequency of the matching n-grams and the total number of matching n-grams of that corresponding length.

11. A computer program product for command line prediction in a computer system including a database of command sequences organized into tables of n-grams, comprising:

logic instructions, executable on a processor, for receiving an entry in a command line sequence;

logic instructions, executable on a processor, for searching the database for an n-gram entry matching the received entry in the command line sequence; and

logic instructions, executable on a processor, for displaying a predicted command if an n-gram entry that satisfies a certainty threshold is found in the database.

12. The computer program product of claim 11 , wherein logic instructions for receiving an entry in a command line sequence comprise logic instructions for receiving a single command.

13. The computer program product of claim 11 , wherein logic instructions for receiving an entry in a command line sequence comprise logic instructions for storing the entry in a command line sequence in memory.

14. The computer program product of claim 11 , wherein logic instructions for searching the database for an n-gram entry matching the received entry in the command line sequence comprise logic instructions for searching for a 1-gram entry that matches the received entry.

15. The computer program product of claim 14 , wherein the command line sequence includes at least the two most recent commands entered at the command line and wherein matching 1-gram entries are used to search a 2-gram table for entries that match the two most recent commands entered at the command line.

16. The computer program product of claim 15 , wherein the command line sequence includes at least the three most recent commands entered at the command line and wherein matching 2-gram entries are used to search a 3-gram table for entries that match the two most recent commands entered at the command line.

17. The computer program product of claim 16 , wherein the command line sequence includes at least the four most recent commands entered at the command line and wherein matching 4-gram entries are used to search a 4-gram table for entries that match the two most recent commands entered at the command line.

18. The computer program product of claim 17 , wherein the command line sequence includes at least the five most recent commands entered at the command line and wherein matching 4-gram entries are used to search a 5-gram table for entries that match the two most recent commands entered at the command line.

19. The computer program product of claim 11 , further comprising determining logic instructions for a likelihood that the matching n-grams are predictive of the next command wherein the likelihood is inversely proportional to the length of the n-gram match.

20. The computer program product of claim 11 , further comprising determining logic instruction for a likelihood that the matching n-grams are predictive of the next command wherein the likelihood is a function of the frequency of the matching n-grams and the total number of matching n-grams of that corresponding length.

21. A system for command line prediction, comprising:

a processor configured to collect commands input by a user and store the commands in a command log;

a processor configured to retrieve entries from the command log and to generate a plurality of n-gram tables from the commands stored in the command log, wherein the n-gram tables include an indicator of the frequency with which an n-gram appears in the command log;

a database for storing the n-gram tables; and

a processor configured to receive an entry in a command line sequence input by a user, to search the database for an n-gram entry matching the received entry in the command line sequence; and to display a predicted command if an n-gram entry that satisfies a certainty threshold is found in the database.

22. The system of claim 21 , wherein the processor is configured to search the database for an n-gram entry matching the received entry in the command line sequence comprises searching for a 1-gram entry that matches the received entry.

23. The system of claim 22 , wherein the command line sequence includes at least the two most recent commands entered at the command line and wherein matching 1-gram entries are used to search a 2-gram table for entries that match the two most recent commands entered at the command line.

24. The system of claim 23 , wherein the command line sequence includes at least the three most recent commands entered at the command line and wherein matching 2-gram entries are used to search a 3-gram table for entries that match the two most recent commands entered at the command line.

25. The system of claim 24 , wherein the command line sequence includes at least the four most recent commands entered at the command line and wherein matching 4-gram entries are used to search a 4-gram table for entries that match the two most recent commands entered at the command line.

26. The system of claim 25 , wherein the command line sequence includes at least the five most recent commands entered at the command line and wherein matching 4-gram entries are used to search a 5-gram table for entries that match the two most recent commands entered at the command line.

27. The system of claim 21 , further comprising a processor configured to determine a likelihood that the matching n-grams are predictive of the next command wherein the assigned likelihood is inversely proportional to the length of the n-gram match.

28. The system of claim 21 , further comprising determining logic instruction for a likelihood that the matching n-grams are predictive of the next command wherein the likelihood is a function of the frequency of the matching n-grams and the total number of matching n-grams of that corresponding length.

Assignments (1)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037302/0869 →