IP Library Granted Patent US 6,882,995
Granted Patent B2
US 6,882,995 · App. 10/206,020 · Granted Apr 19, 2005

Automatic query and transformative process

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 6,882,995
App. No.
10/206,020
Granted
Apr 19, 2005
Kind
B2
Abstract

A computer-implemented method of retrieving information in a first markup language through a query engine and presenting the information in any required markup language. A user inputs a query and may invoke a number of transformative sequences. These sequences contain a markup language pattern and an action, which may include transforming the tags in the first markup language to tags in a different markup language. The appropriate transformative sequence is selected and the pattern from the transformative sequence is compiled. The compiled pattern is used to perform rapid and efficient searches of documents in the database. A predicate check using the binary coding of the node as well as ancestor information confirms the node. The leaf information associated with a confirmed node is then stored. If necessary, the action from the transformative sequence is applied to change the markup language of the leaf information to that of the user.

Claims (134)

1. A computer program product, for allowing query and transformative functions on a server, comprising:

a computer application processable by a computer for causing the serve to: receive a query request from a web browser; process the query request to identify suitable portions of Web documents; and present the identified portions to the Web browser; and

apparatus from which the computer program is accessible by the computer.

2. The product of claim 1 wherein to process the query requests comprises: identifying the markup language format of the web browser;

if the web browser markup language is different from the document markup language, altering the query request to the document markup language; and

conducting the query request in the document markup language.

3. The product of claim 2 wherein to present the identified portions to the web browser comprises:

obtaining results to the query request in the document markup language,

if the document markup language is different from the document markup language, altering the results to the web browser markup format; and

presenting the results in the web browser markup format.

4. The product of claim 2 wherein the document mark-up language is XML.

5. The product of claim 2 wherein the web browser markup format is HTML.

6. A method of searching a collection of information, wherein the collection of information comprises a tree and node structure, the method comprising:

accepting a first query;

searching nodes within the tree and node structure to find information that corresponds to the first query, wherein searching is performed without using a DTD; and

returning a result in response to the first query.

7. The method of claim 6 , wherein a database comprises the collection of information.

8. The method of claim 6 , wherein searching the nodes is performed using a computer while the collection of information resides in memory of the computer.

9. The method of claim 6 , wherein searching the nodes is performed using an abstract engine.

10. The method of claim 6 , wherein the collection of information comprises a document.

11. The method of claim 6 , wherein:

searching comprises searching a portion of the nodes; and

the method further comprises:

finding a result matching the first query; and

changing a state of searching to a continuation state, wherein changing is performed in response to finding the result.

12. The method of claim 6 , further comprising transforming the result from a first language to a second language.

13. The method of claim 6 , wherein:

the first query comprises a first portion and a second portion;

searching the nodes comprises:

searching the nodes for any result that matches the first portion;

accumulating a partial set of results; and

searching the partial set for any results that match the second portion.

14. The method of claim 6 , wherein:

accepting a first query comprises:

receiving the first query in a first language; and

transforming the first query to a second language;

searching comprises searching the nodes for the first query using the language; and

the method further comprises:

receiving a second query in a third language; and

transforming the second query to a second language;

searching the nodes for the second query using the second language,

wherein the first, second, and third languages are different languages.

15. A computer program product comprising computer readable code, wherein the code comprises:

an instruction for accepting a first query;

an instruction for searching nodes within the tree and node structure to find information that corresponds to the first query, wherein:

the instruction searching is executed without using a DTD; and

a collection of information comprises the tree and node structure; and

an instruction for returning a result in response to the first query.

16. The computer program product of claim 15 , wherein a database comprises the collection of information.

17. The computer program product of claim 15 , wherein the instruction for searching the nodes is executed while the collection of information resides in memory of a computer upon which the code is being executed.

18. The computer program product of claim 15 , wherein the instruction for searching the nodes is performed using an abstract engine.

19. The computer program product of claim 15 , wherein the collection of information comprises a document.

20. The computer program product of claim 15 , wherein:

the instruction for searching comprises an instruction for searching a portion of the nodes; and

the code further comprises an instruction for changing a state of searching to a continuation state, wherein the instruction changing is executed in response to finding a result.

21. The computer program product of claim 15 , wherein the code further comprises an instruction for transforming the result from a first language to a second language.

22. The computer program product of claim 15 , wherein:

the first query comprises a first portion and a second portion;

the instruction for searching the nodes comprises:

an instruction for searching the nodes for any result that matches the first portion;

an instruction for accumulating a partial set of results; and

an instruction for searching the partial set for any results that match the second portion.

23. The computer program product of claim 15 , wherein:

the instruction for accepting a first query comprises:

an instruction for receiving the first query in a first language; and

an instruction for transforming the first query to a second language;

the instruction for searching comprises an instruction for searching the nodes for the first query using the second language; and

the code further comprises:

an instruction for receiving a second query in a third language; and

an instruction for transforming the second query to a second language;

an instruction for searching the nodes for the second query using the second language,

wherein the first, second, and third languages are different languages.

24. A method of searching a collection of information comprising:

accepting a query;

searching a portion of the collection of information;

finding a result matching the query; and

changing a state of searching to a continuation state, wherein changing is performed in response to finding the result.

25. The method of claim 24 , further comprising resuming the search after changing the state of searching.

26. A computer program product comprising computer readable code, wherein the code comprises:

an instruction for accepting a query;

an instruction for searching a portion of a collection of information;

an instruction for finding a result matching the query; and

an instruction for changing a state of searching to a continuation state, wherein the instruction for changing is executed in response to finding the result.

27. The computer program product of claim 26 , wherein the code further comprises an instruction for resuming the search after executing the instruction for changing the state of searching.

28. A method of transforming a result from a query comprising:

accepting a query;

searching a collection of information for a result that matches the query;

transforming the result from a first language to a second language.

29. The method of claim 28 , further comprising sending the result to a computer, wherein transforming is performed before sending the result.

30. A computer program product comprising computer readable code, wherein the code comprises:

an instruction for accepting a query;

an instruction for searching a collection of information for a result that matches the query;

an instruction for transforming the result from a first language to a second language.

31. The computer program product of claim 30 , wherein the code further comprises an instruction for sending the result to a computer, wherein the instruction for transforming is executed before the instruction for sending the result.

32. A method of searching a collection of information comprising:

accepting a query, wherein the query comprises a first portion and a second portion;

searching the collection of information for any result that matches the first portion;

accumulating a first partial set of results; and

searching the first partial set for any result that matches the second portion.

33. The method of claim 32 , further comprising returning a first result after searching the first set.

34. The method of claim 32 , further comprising:

resuming a search of the collection of information for any result that matches the first portion;

accumulating a second partial set of results within the second set; and

searching the second partial set for any result that match the second portion.

35. The method of claim 32 , wherein the second portion comprises a predicate check.

36. The method of claim 32 , wherein the first partial set of results has no more than one result.

37. A computer program product comprising computer readable code, wherein the code comprises:

an instruction for accepting a query, wherein the query comprises a first portion and a second portion;

an instruction for searching a collection of information for any result that matches the first portion;

an instruction for accumulating a first partial set of results; and

an instruction for searching the first partial set for any result that matches the second portion.

38. The computer program product of claim 37 , wherein the code further comprises an instruction for returning a first result after searching the first set.

39. The computer program product of claim 37 , wherein the code further comprises:

an instruction for resuming a search of the collection of information for any result that matches the first portion;

an instruction for accumulating a second partial set of results within the second set; and

an instruction for searching the second partial set for any result that match the second portion.

40. The computer program product of claim 37 , wherein the second portion comprises a predicate check.

41. The computer program product of claim 37 , wherein the first partial set of results has no more than one result.

42. A method of processing queries comprising:

receiving a first query in a first language;

transforming the first query to a second language;

searching a collection of information for the first query using the second language;

receiving a second query in a third language; and

searching the collection of information for the second query,

wherein the first and third languages are different languages.

43. The method of claim 42 , wherein the second and third languages are different languages.

44. A computer program product comprising readable code, wherein the code comprises:

an instruction for receiving a first query in a first language;

an instruction for transforming the first query to a second language;

an instruction for searching a collection of information for the first query using the second language;

an instruction for receiving a second query in a third language; and

an instruction for searching the collection of information for the second query,

wherein the first and third languages are different languages.

45. The computer program produce of claim 44 , wherein the second and third languages are different languages.

Assignments (11)
IP BUSINESS SALE AGREEMENT Recorded Sep 13, 2016
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 040019/0627 →
CERTIFICATE OF AMALGAMATION Recorded Sep 13, 2016
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 040019/0578 →
CERTIFICATE OF CONTINUANCE Recorded Sep 13, 2016
From: OP IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 040019/0500 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2011
From: VIGNETTE PARTNERSHIP, LP
To: OPEN TEXT S.A.
Reel/Frame 027483/0205 →
CERTIFICATE OF CONVERSION Recorded Oct 14, 2011
From: VIGNETTE OPERATING, LLC
To: VIGNETTE PARTNERSHIP, LP
Reel/Frame 027066/0773 →
CERTIFICATE OF CONVERSION Recorded Oct 13, 2011
From: VIGNETTE CORPORATION
To: VIGNETTE OPERATING, LLC
Reel/Frame 027091/0009 →
MERGER Recorded Oct 12, 2011
From: VIGNETTE SOFTWARE, LLC
To: VIGNETTE CORPORATION
Reel/Frame 027077/0423 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Jan 14, 2010
From: VIGNETTE LLC (96%)
To: VIGNETTE SOFTWARE LLC
Reel/Frame 023792/0470 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Jan 11, 2010
From: VIGNETTE CORPORATION (96%)
To: VIGNETTE LLC
Reel/Frame 024006/0001 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Jan 11, 2010
From: VIGNETTE CORPORATION (4%)
To: VIGNETTE SOFTWARE LLC
Reel/Frame 023768/0708 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2009
From: NASR, ROGER I.; WEBBER, NEIL
To: VIGNETTE CORPORATION
Reel/Frame 023699/0302 →