Search International and National Patent Collections
Some content of this application is unavailable at the moment.
If this situation persists, please contact us atFeedback&Contact
1. (WO1998049820) SYSTEM AND METHOD FOR RECORDING TRANSACTIONS
Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

CLAIMS

What is claimed is:

1. A method for recording transactions in a transaction log comprising a plurality of transaction entries using a chronological list superimposed on an indexed list, wherein a transaction entry corresponds to a transaction, the chronological list orders the transaction entries according to when the corresponding transactions occurred and the indexed list orders the transaction entries according to indexes corresponding to the transaction entries, comprising the steps of:
receiving a new transaction;
creating a new transaction entry for the transaction;
placing the new transaction entry in the chronological list; and
placing the new transaction entry in the indexed list.

2. The method of Claim 1 , wherein the step of creating a new transaction entry for the transaction comprises:
creating a transaction descriptor field comprising a transaction descriptor for identifying the transaction;
creating a time stamp field comprising a time identifier for indicating a time when the transaction occurred;
creating a chronological list pointer field comprising a chronological list pointer for identifying a subsequent transaction entry corresponding to a transaction received after the new transaction; and
creating an indexed list pointer field containing an indexed list pointer for identifying a next transaction entry corresponding to the same index as the new transaction entry.

3. The method of Claim 1, wherein the chronological list comprises a latest transaction entry and a last chronological list pointer, the latest transaction entry corresponds to a transaction received prior to the new transaction and comprises a chronological list pointer field, and the last chronological list pointer points to the latest transaction entry, and wherein the step of placing the new transaction entry in the chronological list comprises the steps of:
updating the chronological list pointer field for the latest transaction entry to point to the new transaction entry; and
updating the last chronological list pointer to point to the new transaction entry.

4. The method of Claim 1 , wherein the indexed list comprises a plurality of indexed list entry pointers, each indexed list entry pointer corresponding to an index, and wherein the step of placing the new transaction entry in the indexed list comprises the steps of:
determining an index for the new transaction entry; and
updating the indexed list entry pointer corresponding to the index for the new transaction entry to point to the new transaction entry.

5. The method of Claim 1, wherein the indexed list comprises a first indexed list entry pointer corresponding to a first index and pointing to a first transaction entry, and the first transaction entry comprises an indexed list pointer field, and wherein the step of placing the new transaction entry in the indexed list comprises the steps of:
determining an index for the new transaction entry; and
if the index for the new transaction entry is equal to the first index, then updating the indexed list pointer field of the first transaction entry to point to the new transaction entry.

6. The method of Claim 1 , wherein the indexed list comprises a plurality of indexed list entry pointers, each indexed list entry pointer corresponding to an index, further comprising the steps of:
calculating an index for the new transaction; and
comparing the transaction descriptor field for the new transaction with a transaction descriptor field for a transaction entry pointed to by an indexed list entry pointer corresponding to the index for the new transaction.

7. In a telecommunications network configured for local number portability, a method for detecting message looping by recording messages in a transaction log using a chronological list superimposed on an indexed list, wherein the transaction log comprises a plurality of transaction entries corresponding to a plurality of messages, the chronological list orders the transaction entries from an oldest transaction entry to a latest transaction entry and the indexed list orders the transaction entries according to indexes corresponding to transaction descriptors for the messages, comprising the steps of:
receiving a message;
making a determination as to whether there is an available transaction entry in the transaction log;
if the determination is that there is no available transaction entry, then deleting one of the plurality of transaction entries from the transaction log;
creating a new transaction entry for the message; and
placing the new transaction entry in the transaction log.

8. The method of Claim 7, wherein the step of deleting one of the plurality of transaction entries from the transaction log comprises deleting a transaction entry corresponding to the oldest message in the transaction log.

9. The method of Claim 8, wherein the oldest transaction entry corresponds to the oldest message in the transaction log, the oldest transaction entry comprises a chronological list pointer pointing to a second oldest transaction entry, and a first chronological list pointer points to the oldest transaction entry, and wherein the step of deleting a transaction entry corresponding to the oldest message comprises:
updating the first chronological list pointer to point to the second oldest transaction entry.

10. The method of Claim 7, wherein the indexed list comprises a plurality of indexed list entry pointers, a first indexed list entry pointer corresponds to a first index, the first indexed list entry pointer points to the oldest transaction entry, and the oldest transaction entry comprises an indexed list pointer field, and wherein the step of deleting the oldest transaction entry comprises:
if the indexed list pointer field of the oldest transaction entry points to a next transaction entry corresponding to the first index, then updating the first indexed list entry pointer to point to the next transaction entry.

11. The method of Claim 7, wherein the indexed list comprises a plurality of indexed list entry pointers, a first indexed list entry pointer corresponds to a first index, the first indexed list entry pointer points to the oldest transaction entry, and the oldest transaction entry comprises an indexed list pointer field, and wherein the step of deleting the oldest transaction entry comprises:
if the indexed list entry pointer field of the oldest transaction entry contains an end of list indicator, then updating the first indexed list entry pointer to contain an end of list indicator.

12. A method for purging stale transaction entries from a transaction log having a plurality of transaction entries organized as a chronological list superimposed on an indexed list, wherein the chronological list is ordered from an oldest transaction entry to a latest transaction entry and the indexed list comprises a plurality of indexed list entry pointers corresponding to a plurality of indexes, comprising the steps of:
checking whether a predetermined maintenance period has expired;
if the predetermined maintenance period has expired, then selecting a transaction entry as a selected transaction entry;
checking whether the selected transaction entry is stale; and
if the selected transaction entry is stale, then
(a) purging the selected transaction entry from the chronological list, and
(b) purging the selected transaction entry from the indexed list.

13. The method of Claim 12, wherein a first chronological list pointer points to the oldest transaction entry in the chronological list, and wherein the step of selecting one of the plurality of transaction entries as a selected transaction entry comprises:
selecting the oldest transaction entry as the selected transaction entry.

14. The method of Claim 12 wherein the selected transaction entry corresponds to a selected transaction and comprises:
a transaction descriptor field comprising a transaction descriptor to identify the selected transaction;
a time stamp field comprising a time identifier to indicate a time when the selected transaction occurred;
a chronological list pointer field comprising a chronological list pointer to identify a subsequent transaction entry corresponding to a transaction occurring after the selected transaction; and
an indexed list pointer field comprising an indexed list pointer to identify a next transaction entry corresponding to a transaction with the same index as the selected transaction entry.

15. The method of Claim 14, wherein the step of checking whether the selected transaction entry is stale comprises comparing the time stamp field of the selected transaction entry to the predetermined maintenance period.

16. The method of Claim 14 wherein the step of purging the selected transaction entry from the chronological list comprises:
updating the first chronological list pointer to point to the subsequent transaction entry.

17. The method of Claim 14, wherein the indexed list comprises a selected indexed list entry pointer corresponding to a selected index and pointing to the selected transaction entry, and wherein the step of purging the selected entry from the indexed list comprises:
updating the selected indexed list entry pointer to point to the next transaction entry.

18. The method of Claim 14, further comprising the steps of:
if the selected transaction entry is stale, then selecting the subsequent transaction entry as a second selected transaction entry;
checking whether the second selected transaction entry is stale; and
if the second selected transaction entry is stale, then
(a) purging the second selected transaction entry from the chronological list, and
(b) purging the second selected transaction entry from the indexed list.

19. A computer-readable medium having computer executable instructions for maintaining a transaction log, the transaction log comprising a plurality of transaction entries organized as a chronological list superimposed on an indexed list, wherein the transaction entries are arranged in chronological order in the chronological list beginning with an oldest transaction entry and ending with a latest transaction entry and the transaction entries are arranged in the indexed list according to indexes corresponding to the transaction entries, comprising the steps of:
maintaining a first chronological list pointer to identify the oldest transaction entry in the transaction log;
maintaining a last chronological list pointer to identify the latest transaction entry in the transaction log;
maintaining a plurality of indexed list entry pointers to identify transaction entries corresponding to the indexes;
maintaining a plurality of indexed list pointers to identify additional transaction entries corresponding to the same index; and
maintaining a plurality of chronological list pointers to identify transaction entries subsequent to the oldest transaction entry.

20. The computer-readable medium of Claim 19, wherein the oldest transaction entry comprises a chronological list pointer pointing to a second oldest transaction entry, and wherein the step of maintaining a first chronological list pointer comprises:
if the oldest transaction entry is purged from the chronological list, then updating the first chronological list pointer to point to the second oldest transaction entry.

21. The computer-readable medium of Claim 19, wherein the step of maintaining a last chronological list pointer comprises:
if a new transaction entry is added to the transaction log, then updating the last chronological list pointer to point to the new transaction entry.

22. The computer-readable medium of Claim 19, wherein the latest transaction entry comprises a chronological list pointer, and wherein the step of maintaining a plurality of chronological list pointers comprises:
if a new transaction entry is added to the transaction log, then updating the chronological list pointer for the latest transaction entry to point to the new transaction entry.

23. The computer-readable medium of Claim 19, wherein a first indexed list entry pointer corresponds to a first index, a first transaction entry has an index equal to the first index, the first indexed list entry pointer points to the first transaction entry, and the first transaction entry comprises an indexed list pointer pointing to a next transaction entry, and wherein the step of maintaining a plurality of indexed list entry pointers comprises:
if the first transaction entry is purged, then updating the first indexed list entry pointer to point to the next transaction entry.

24. The computer-readable medium of Claim 19, wherein a second indexed list entry pointer corresponds to a second index and the second indexed list entry pointer contains an end of list indicator, and wherein the step of maintaining a plurality of indexed list entry pointers comprises:
if a new transaction entry having an index equal to the second index is added to the transaction log, then updating the second indexed list entry pointer to point to the new transaction entry.

25. The computer-readable medium of Claim 19, wherein a third indexed list entry pointer corresponds to a third index and points to a third transaction entry with an index equal to the third index, and the third transaction entry comprises an indexed list pointer, and wherein the step of maintaining a plurality of indexed list entry pointers comprises:
if a new transaction entry having an index equal to the third index is added to the transaction log, then updating the indexed list pointer field of the third transaction entry to point to the new transaction entry.