Scrollable Cursor Result Set Suspension for Server Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In client-server systems, the interruption of a result set due to server-side cursor state issues, such as load balancing, migration, or session redirection, can disrupt access to data, especially when the server-side cursor is eliminated, and re-executing queries may not guarantee the same results or order.

Innovation Solution

A method and system for suspending a result set and continuing from a suspended result set for scrollable cursors, where rows from a row source are stored, allowing data to be sent from storage without relying on the original row source or session, enabling access to the result set for the life of the client-side cursor, using various storage forms like server cache, persistent storage, and self-describing storage with metadata and compression techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the server-side cursor state is maintained for scrollable cursors, then continuous access to result set is enabled, but server memory usage and system complexity increase

Engineering Contradiction:
Improvecontinuous access to result setVSAvoidserver memory usage
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the cursor state management by separating client-side cursor state from server-side cursor state. The client-side cursor state is suspended into storage, allowing the server to eliminate the server-side cursor state while maintaining continuous access capability. This segmentation reduces server memory usage while preserving the ability to provide continuous access to result sets.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a copy of the necessary cursor state information and suspends it into storage. This copied state can be retrieved when needed, eliminating the need to maintain the full cursor state in server memory. The copy mechanism enables continuous access without the overhead of maintaining persistent server-side cursor state.

Inventive Principle:
Principle #26Copying

2Productivity

If the server migrates or restarts for load balancing, then system resource utilization is improved, but access to result set is interrupted

Engineering Contradiction:
Improvesystem resource utilizationVSAvoidaccess to result set
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary suspension of the client-side cursor state into storage before server migration or restart occurs. This preliminary action ensures that the result set access state is preserved externally, so when the server migrates or restarts for load balancing, the client can resume access without interruption. The state is prepared in advance for potential server changes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces storage as an intermediary between the client and server for cursor state management. When the server migrates or restarts, this intermediary storage maintains the cursor state, allowing the client to continue accessing the result set without being affected by server changes. The storage acts as a buffer that decouples client access from server availability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the entire result set is suspended into storage, then access continuity is ensured, but storage space consumption increases

Engineering Contradiction:
Improveaccess continuityVSAvoidstorage space consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by suspending only the specific client-side cursor state information into storage rather than the entire result set. This selective suspension maintains access continuity for the specific cursor while minimizing storage space consumption. Only the necessary state data required for cursor positioning and result set access is stored, not the complete result set.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent performs partial suspension of cursor state rather than suspending the entire result set. This partial action provides sufficient access continuity for scrollable cursor operations while avoiding the excessive storage space consumption that would result from suspending all result set data. The suspension is calibrated to match the actual needs of cursor functionality.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7743333B2Suspending a result set and continuing from a suspended result set for scrollable cursors
Publication Date: 2010.06.22 ORACLE INT CORP
  • US7743333B2 patent drawing
  • US7743333B2 patent drawing
  • US7743333B2 patent drawing

AI summary

A system, method, computer program and system for suspending a result set and continuing from a suspended result set for a scrollable cursor is disclosed. The rows from a row source corresponding to the scrollable cursor result set are suspended into storage so that when a fetch is requested the data can be sent (continued) from the suspended storage and does not depend on the original scrollable cursor row source or session to be available.