Claims
- 1. A method for implementing a dynamic cursor usage between multiple nodes in a computing system, comprising:
determining cursor resource usage for at a first node, the cursor resource usage at the first node related to cursor resource usage at a second node; determining if the cursor resource usage at the first node should be adjusted; and if the cursor resource usage at the first node should be adjusted, coordinating between the first node and the second node to dynamically adjust cursor usage.
- 2. The method of claim 1 in which the act of determining cursor resource usage comprises determining resource usage for cursor caching.
- 3. The method of claim 1 in which the act of determining if the cursor resource usage at the first node should be adjusted is based upon a change in operating conditions at the first node.
- 4. The method of claim 3 in which diminished system performance or worsened service times are detected.
- 5. The method of claim in which the act of dynamically adjusting cursor usage comprises sizing one or more cursor caches.
- 6. The method of claim 5 in which the one or more cursor caches are located at both the first and second nodes.
- 7. The method of claim 5 in which a first cursor is closed at the first node and a second cursor is closed at the second node.
- 8. The method of claim 5 in which a first cursor is closed at the first node and related cursor resources are de-allocated at the second node.
- 9. The method of claim 1 in which the act of dynamically adjusting cursor usage comprises reconfiguring cursor caches at the first or second nodes.
- 10. The method of claim 1 in which the act of coordinating between the first node and the second node comprises communicating a message from the first node to the second node.
- 11. The method of claim 10 in which the message instructs the second node to reduce cursor resource usage.
- 12. The method of claim 1 in which the act of coordinating between the first node and the second node to dynamically adjust cursor usage comprises coordinating the selection of cursors to close.
- 13. The method of claim 1 in which the second node unilaterally selects a cursor to close at the second node.
- 14. The method of claim 13 in which another cursor at the first node is closed that is related to the cursor at the second node.
- 15. The method of claim 13 in which in which a least recently used selection process is used to select the cursor at the second node to close.
- 16. The method of claim 1 further comprising coordinating adjustment of cursor usage at one or more additional nodes.
- 17. The method of claim 1 in which the first node and the second node are two server nodes in a distributed system.
- 18. The method of claim 1 in which the first node and the second node are a client-server configuration in a distributed system.
- 19. A system for implementing a dynamic cursor usage between multiple nodes in a computing system, comprising:
means for determining cursor resource usage for at a first node, the cursor resource usage at the first node related to cursor resource usage at a second node; means for determining if the cursor resource usage at the first node should be adjusted; and means for coordinating between the first node and the second node to dynamically adjust cursor usage if the cursor resource usage at the first node should be adjusted.
- 20. A computer program product comprising a computer usable medium having executable code to execute a process for implementing a dynamic cursor usage between multiple nodes in a computing system, the process comprising:
determining cursor resource usage for at a first node, the cursor resource usage at the first node related to cursor resource usage at a second node; determining if the cursor resource usage at the first node should be adjusted; and if the cursor resource usage at the first node should be adjusted, coordinating between the first node and the second node to dynamically adjust cursor usage.
- 21. A method for utilizing cursor tagging in a cursor cache of a computing system, comprising:
receiving a database statement to execute, the database statement associated with a cursor tag, the cursor tag forming an identifying cursor label; searching a cache for a cursor associated with the cursor tag; and using the cursor associated with the cursor tag to execute the database statement if the cursor is present in the cache.
- 22. The method of claim 21 further comprising:
creating a new cursor to execute the database statement if the cursor associated with the cursor tag is not present in the cache.
- 23. The method of claim 22 in which the cursor tag is associated with the new cursor.
- 24. The method of claim 22 in which a new cursor tag is associated with the new cursor.
- 25. The method of claim 21 further comprising:
performing a text match search to identify a matching cursor in the cache that is associated with a database statement text string that matches the database statement.
- 26. The method of claim 25 in which matching cursor is used to execute the database statement.
- 27. The method of claim 25 in which the cursor tag is associated with the matching cursor.
- 28. The method of claim 21 in which the database statement is in the SQL language format.
- 29. A computer program product comprising a computer usable medium having executable code to execute a process for utilizing cursor tagging in a cursor cache of a computing system, the process comprising:
receiving a database statement to execute, the database statement associated with a cursor tag, the cursor tag forming an identifying cursor label; searching a cache for a cursor associated with the cursor tag; and using the cursor associated with the cursor tag to execute the database statement if the cursor is present in the cache.
- 30. A system for utilizing cursor tagging in a cursor cache of a computing system, comprising:
means for receiving a database statement to execute, the database statement associated with a cursor tag, the cursor tag forming an identifying cursor label; means for searching a cache for a cursor associated with the cursor tag; and means for using the cursor associated with the cursor tag to execute the database statement if the cursor is present in the cache.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims the benefit of U.S. Provisional Application Serial No. 60/379,663, entitled “Session Pooling and Statement Sharing”, filed on May 10, 2002, the contents of which are explicitly incorporated herein by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60379663 |
May 2002 |
US |