IP Library Granted Patent US 7,219,088
Granted Patent B1
US 7,219,088 · App. 10/158,174 · Granted May 15, 2007

Method and system for analyzing character data

Assignee: Oracle International Corporation
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,219,088
App. No.
10/158,174
Granted
May 15, 2007
Kind
B1
Abstract

A method for analyzing character data. In one method embodiment, the present invention partitions a portion of the character data into a first group of character data strings based on a fixed byte-width property of the character data strings. Additionally, a portion of the character data is partitioned into a second group of character data strings based on a variable byte-width property of the character data strings. The first group of character data strings is then processed utilizing a fixed byte-width character data string process. Furthermore, the second group of character data strings is processed utilizing a variable byte-width character data string process. In so doing, the execution of the fixed byte-width character data string process is more efficient than the execution of the variable byte-width character data string process.

Claims (71)

1. A method for analyzing character data comprising:

accessing said character data comprising a first group and a second group of memory stored character data strings;

partitioning a portion of said character data into said first group of memory stored character data strings, said partitioning into said first group based on a fixed byte-width property of said character data strings;

partitioning a portion of said character data into said second group of memory stored character data strings, said partitioning into said second group based on a variable byte-width property of said character data strings;

searching through said first group of character data strings for a prescribed string utilizing a fixed byte-width character data string process; and

searching through said second group of character data strings for a prescribed string utilizing a variable byte-width character data string process, wherein the execution of said fixed byte-width character data string process is more efficient than the execution of said variable byte-width character data string process.

2. The method as recited in claim 1 wherein said partitioning of said character data further comprises:

performing a pre-computation compilation to determine a byte-width of a string of said character data; and

marking said character data string to identify said character data string as either fixed byte-width or variable byte-width.

3. The method as recited in claim 2 wherein said marking comprises:

attaching a header to said character data string to identify said character data string as either fixed byte-width or variable byte-width.

4. The method as recited in claim 1 wherein said partitioning of said character data further comprises:

performing a calculation to determine a byte-width of a string of said character data; and

marking said character data string to identify said character data string as either fixed byte-width or variable byte-width based on the result of said calculation.

5. The method as recited in claim 1 wherein said partitioning of said character data further comprises:

performing a concatenation of at least two strings of said character data; and

marking said character data string to identify said character data string as either fixed byte-width or variable byte-width based on the result of said concatenation.

6. The method as recited in claim 1 wherein said fixed byte-width character data string process is performed on said first group in accordance with American standard code for information interchange (ASCII).

7. The method as recited in claim 1 wherein said variable byte-width character data string process is performed on said second group in accordance with worldwide committee (Unicode consortium) standard.

8. A computer system comprising:

a bus;

a memory unit coupled with said bus; and

a processor coupled with said bus, said processor for executing a method for analyzing character data comprising:

accessing said character data comprising a first group and a second group of memory stored character data strings;

partitioning a portion of said character data into said first group of memory stored character data strings, said partitioning into said first group based on a fixed byte-width property of said character data strings;

partitioning a portion of said character data into said second group of memory stored character data strings, said partitioning into said second group based on a variable byte-width property of said character data strings;

searching through said first group of character data strings for a prescribed string utilizing a fixed byte-width character data string process; and

searching through said second group of character data strings for a prescribed string utilizing a variable byte-width character data string process, wherein the execution of said fixed byte-width character data string process is more efficient than the execution of said variable byte-width character data string process.

9. The computer system of claim 8 wherein said partitioning of said character data further comprises:

performing a pre-computation compilation to determine a byte-width of a string of said character data; and

marking said character data string to identify said character data string as either fixed byte-width or variable byte-width.

10. The computer system of claim 8 wherein said marking comprises:

attaching a header to said character data string to identify said character data string as either fixed byte-width or variable byte-width.

11. The computer system of claim 8 wherein said partitioning of said character data further comprises:

performing a calculation to determine a byte-width of a string of said character data; and

marking said character data string to identify said character data string as either fixed byte-width or variable byte-width based on the result of said calculation.

12. The computer system of claim 8 wherein said partitioning of said character data further comprises:

performing a concatenation of at least two strings of said character data; and

marking said character data string to identify said character data string as either fixed byte-width or variable byte-width based on the result of said concatenation.

13. The computer system of claim 8 wherein said fixed byte-width character data string process is performed on said first group in accordance with American standard code for information interchange (ASCII).

14. The computer system of claim 8 wherein said variable byte-width character data string process is performed on said second group in accordance with worldwide committee (Unicode consortium) standard.

15. A computer-usable medium having computer-readable program code embodied therein for causing a computer system to perform a method for analyzing character data, said method comprising:

accessing said character data comprising a first group and a second group of memory stored character data strings;

partitioning a portion of said character data into said first group of memory stored character data strings, said partitioning into said first group based on fixed byte-width property of said character data strings;

partitioning a portion of said character data into said second group of memory stored character data strings, said partitioning into said second group based on a variable byte-width property of said character data strings;

searching through said first group of character data strings for a prescribed string utilizing a fixed byte-width character data string process; and

searching through said second group of character data strings for a prescribed string utilizing a variable byte-width character data string process, wherein the execution of said fixed byte-width character data string process is more efficient than the execution of said variable byte-width character data string process.

16. The computer-usable medium of claim 15 wherein said partitioning of said character data further comprises:

performing a pre-computation compilation to determine a byte-width of a string of said character data; and

marking said character data string to identify said character data string as either fixed byte-width or variable byte-width.

17. The computer-usable medium of claim 16 wherein said marking comprises:

attaching a header to said character data string to identify said character data string as either fixed byte-width or variable byte-width.

18. The computer-usable medium of claim 15 wherein said partitioning of said character data further comprises:

performing a calculation to determine a byte-width of a string of said character data; and

marking said character data string to identify said character data string as either fixed byte-width or variable byte-width based on the result of said calculation.

19. The computer-usable medium of claim 15 wherein said partitioning of said character data further comprises:

performing a concatenation of at least two strings of said character data; and

marking said character data string to identify said character data string as either fixed byte-width or variable byte-width based on the result of said concatenation.

20. The computer-usable medium of claim 15 wherein said fixed byte-width character data string process is performed on said first group in accordance with American standard code for information interchange (ASCII).

21. The computer-usable medium of claim 15 wherein said variable byte-width character data string process is performed on said second group in accordance with worldwide committee (Unicode consortium) standard.

22. A character data string engine comprising:

character data comprising a fixed byte-width and a variable byte-width of memory stored character data strings;

a fixed byte-width engine for searching through said fixed byte-width memory stored character data strings;

a variable byte-width engine for processing said fixed byte-width memory stored character data strings; and

a string engine, wherein said string engine is capable of partitioning said character data into said fixed byte-width memory stored character data strings and said variable byte-width memory stored character data strings, and wherein said string engine determines whether said character data is searched through via said fixed byte-width engine for a prescribed string or said character data is searched through via said variable byte-width engine for a prescribed string, and wherein the execution of said fixed byte-width character data string process is more efficient than the execution of said variable byte-width character data string process.

23. The character data string engine of claim 22 wherein said string engine performs a pre-computation compilation to determine a byte-width of a string of said character data.

24. The character data string engine of claim 23 wherein said string engine returns an updated character data string to said character data by marking said character data string identifying said character data string as either fixed byte-width or variable byte-width.

25. The character data string engine of claim 22 wherein said string engine returns an updated character data string to said character data by marking said character data string identifying said character data string as either fixed byte-width or variable byte-width after an initial analysis concludes the byte-width of said character data string.

26. The character data string engine of claim 22 wherein said string engine returns an updated character data string to said character data by marking said character data string identifying said character data string as either fixed byte-width or variable byte-width after performing a concatenation of at least two strings of said character data.

27. The character data string engine of claim 22 wherein said character data and updates to said character data are stored in a database accessible by said string engine.

28. The character data string engine of claim 22 wherein said fixed byte-width engine is more efficient than said variable byte-width engine.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2004
From: ORACLE CORPORATION
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 014865/0194 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2002
From: LI, WARREN XIAOHUI
To: ORACLE CORPORATION
Reel/Frame 012953/0535 →