IP Library › Granted Patent US 9,594,784
Granted Patent B2
US 9,594,784 · App. 11/875,466 · Granted Mar 14, 2017

Push-model based index deletion

Inventors: Hari K. Gutlapalli (Union City, CA); Shirish K. Kothari (Fremont, CA); Suhas R. Mehta (San Jose, CA); Wai Pak (Hercules, CA)
Assignee: Oracle International Corporation
G06F17/30321
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,594,784
App. No.
11/875,466
Granted
Mar 14, 2017
Kind
B2
Abstract

A method and apparatus for push-model based index deletion. In one embodiment of the method, a first transaction is generated for deleting a first data object from memory. A first message is generated in response to generating the first transaction, wherein the first message comprises information related to an identifier of the first data object, and wherein the first message comprises information that indicates that the first data object was or will be deleted. The first message is then transmitted to a computer system that implements a search engine.

Claims (66)

1. A method comprising:

detecting, by a first transaction monitor of a plurality of transaction monitors that are coupled to a database, a first transaction that is configured to delete a first record in a first table of the database;

in response to the detecting the first transaction, generating a first message that comprises a first identifier that identifies the first record within the first table;

in response to the detecting the first transaction, generating a first entry, corresponding to the first transaction, in a transaction log of the first transaction monitor;

identifying a timestamp associated with the first entry in the transaction log;

identifying a timestamp that represents a last time that an update message was transmitted to the computer system;

identifying a current timestamp;

determining whether the timestamp associated with the first entry in the transaction log is between the timestamp that represents the last time that the update message was transmitted to the computer system and the current timestamp,

wherein the first message is generated in response to determining that the timestamp associated with the first entry in the transaction log is between the timestamp that represents the last time that the update message was transmitted to the computer system and the current timestamp;

transmitting the first message to a computer system that implements a search engine and a search index; and

causing all instances of the first identifier in the search index to be deleted by the computer system, in response to the computer system receiving the first message,

wherein the all instances of the first identifier in the search index are mapped to one or more keywords in the search index, wherein the one or more keywords are included in data content of the first record.

2. The method of claim 1 , further comprising:

detecting, by a second transaction monitor of the plurality of transaction monitors that are coupled to the database, a second transaction that is configured to delete a second record in a second table of the database;

in response to the detecting the second transaction, generating a second message that comprises a second identifier that identifies the second record within the second table;

transmitting the second message to the computer system that implements the search engine and the search index; and

causing all instances of the second identifier in the search index to be deleted by the computer system, in response to the computer system receiving the second message.

3. The method of claim 1 , further comprising:

receiving the first message at the computer system, which is separate from the first transaction monitor.

4. The method of claim 1 , further comprising:

generating the first identifier.

5. The method of claim 1 , further comprising:

receiving the first message at the computer system; and

in response to the receiving the first message, deleting all instances of the first identifier in entries of the search index.

6. The method of claim 1 , wherein the generating the first entry in the transaction log is performed before the first transaction is performed.

7. The method of claim 1 , further comprising:

adding a table name for the first table, a row number for the first record, and an action type corresponding to the first transaction to the first message.

8. The method of claim 1 , further comprising:

in response to the generating the first entry in the transaction log, incrementing a counter;

after the transmitting the first message to the computer system, comparing the counter to a number representing a total number of entries in the transaction log; and

in response to determining that the counter is equal to the number representing the total number of entries in the transaction log, setting a timestamp representing a last time that an update message was transmitted to the computer system to a current timestamp.

9. The method of claim 1 , further comprising:

deleting the first entry in the transaction log, after the computer system has deleted all instances of the first identifier in the search index.

10. A method comprising:

receiving, at a computer system that implements a search engine and a search index that maps keywords to identifiers, a first message that comprises a first identifier of a first record in a first table of a database and information that indicates that the first record will be deleted, from a first transaction monitor of a plurality of transaction monitors that are coupled to the database,

wherein the first message is generated based on a timestamp associated with a first entry, corresponding to a first transaction associated with the first message, in a transaction log of the first transaction monitor; and

in response to the receiving the first message, deleting all instances of the first identifier from the search index,

wherein the all instances of the first identifier in the search index are mapped to one or more keywords in the search index, wherein the one or more keywords are included in data content of the first record.

11. The method of claim 10 , further comprising:

generating the first identifier of the first record using information related to the first identifier.

12. The method of claim 10 , wherein

the information related to the first identifier is the first identifier.

13. The method of claim 10 , wherein the information related to the first identifier comprises an identifier of the first table and an identifier of the first record in the first table.

14. One or more non-volatile computer readable memories (CRMs) comprising computer executable instructions, wherein a method is implemented in response to executing the computer executable instructions, the method comprising:

detecting, by a first transaction monitor of a plurality of transaction monitors that are coupled to a database, a first transaction that is configured to delete a first record in a first table of the database;

generating a first message that comprises a first identifier that identifies the first record within the first table, in response to the detecting the first transaction;

in response to the detecting the first transaction, generating a first entry, corresponding to the first transaction, in a transaction log of the first transaction monitor;

identifying a timestamp associated with the first entry in the transaction log;

identifying a timestamp that represents a last time that an update message was transmitted to the computer system;

identifying a current timestamp;

determining whether the timestamp associated with the first entry in the transaction log is between the timestamp that represents the last time that the update message was transmitted to the computer system and the current timestamp,

wherein the first message is generated in response to determining that the timestamp associated with the first entry in the transaction log is between the timestamp that represents the last time that the update message was transmitted to the computer system and the current timestamp;

transmitting the first message to a computer system that implements a search engine and a search index; and

causing all instances of the first identifier in the search index to be deleted by the computer system, in response to the computer system receiving the first message,

wherein the all instances of the first identifier in the search index are mapped to one or more keywords in the search index, wherein the one or more keywords are included in data content of the first record.

15. A non-volatile computer readable memory (CRM) comprising computer executable instructions, wherein a method is implemented in response to executing the computer executable instructions, the method comprising:

receiving, at a computer system that implements a search engine and a search index that maps keywords to identifiers, a first message that comprises a first identifier of a first record in a first table of a database and information that indicates that the first record will be deleted, from a first transaction monitor of a plurality of transaction monitors that are coupled to the database,

wherein the first message is generated based on a timestamp associated with a first entry, corresponding to a first transaction associated with the first message, in a transaction log of the first transaction monitor; and

in response to the receiving the first message, deleting all instances of the first identifier from the search index,

wherein the all instances of the first identifier in the search index are mapped to one or more keywords in the search index, wherein the one or more keywords are included in data content of the first record.

16. The CRM of claim 15 , wherein the method further comprises:

generating the first identifier of the first record using information related to the first identifier.

17. The CRM of claim 15 , wherein

the information related to the first identifier is the first identifier.

18. The CRM of claim 15 , wherein

the information related to the first identifier comprises an identifier of the first table and an identifier of the first record in the first table.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2007
From: GUTLAPALLI, HARI K.; KOTHARI, SHIRISH K.; MEHTA, SUHAS R.; PAK, WAI
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 020256/0303 →
Continuity (1)
Related Publication 20090106324A1 · Apr 23, 2009