Java Data Cartridge Loading for Event Processing Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional event processing systems are limited in handling heterogeneous data streams from diverse sources, as they require extensive user-defined functions that are application-scoped and difficult to reuse, providing poor programming experiences and inadequate support for complex data types and operations.

Innovation Solution

The introduction of data cartridges as self-contained units that extend event processing systems by storing information on extensible objects, enabling support for extension languages like Java, allowing for the compilation and execution of queries that reference these objects, thereby enhancing the system's capabilities beyond native limitations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If user-defined functions are used to extend event processing capabilities, then support for heterogeneous data types is improved, but device complexity and difficulty of reuse increase

Engineering Contradiction:
Improvesupport for heterogeneous data typesVSAvoidcomplexity of user-defined functions
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the extension functionality into separate data cartridges that can be independently loaded and unloaded. Each cartridge encapsulates specific user-defined functions and data type handlers, allowing the system to load only the necessary extensions for a given task rather than maintaining all possible extensions in memory simultaneously. This reduces the active device complexity while maintaining high adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces data cartridges as intermediary components between the event processing system and user-defined functions. These cartridges act as mediators that translate heterogeneous data types into native event stream formats, eliminating the need for the core system to directly manage complex data type conversions. This intermediary layer simplifies the system architecture while preserving support for diverse data types.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If application-scoped user-defined functions are created, then specific application requirements are met, but ease of operation and reusability deteriorate

Engineering Contradiction:
Improveapplication-specific functionalityVSAvoidreusability of functions
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent implements universal data cartridges that can serve multiple applications and purposes. A single cartridge containing user-defined functions can be loaded into any event processing system instance and reused across different applications. The cartridges are designed with standardized interfaces that allow them to function universally rather than being tied to specific application contexts, thereby improving ease of operation and reusability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent enables copying and sharing of data cartridges across different application instances. Instead of requiring each application to define its own user-defined functions, the system allows cartridges to be copied and reused multiple times. This copying mechanism preserves application-specific functionality while dramatically improving reusability, as the same cartridge can be instantiated across numerous applications without duplication of effort.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If extensive user-defined functions are implemented, then handling of diverse data streams is improved, but loss of time for development and maintenance increases

Engineering Contradiction:
Improvehandling of diverse data streamsVSAvoiddevelopment and maintenance time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-packaging user-defined functions and data type handlers into ready-to-use data cartridges. These cartridges are prepared in advance with all necessary code and configurations, eliminating the need for developers to write and debug extension code at runtime. The preliminary packaging of functionality into cartridges significantly reduces development time while maintaining the ability to handle diverse data streams.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables discarding and recovering of data cartridges as needed. When a specific data stream processing task is completed, the associated cartridge can be discarded from memory, freeing resources. The cartridge can then be recovered and reused for similar tasks in the future. This mechanism reduces the permanent maintenance burden while preserving the capability to handle diverse data streams when needed.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS8959106B2Class loading using java data cartridges
Publication Date: 2015.02.17 ORACLE INT CORP
  • US8959106B2 patent drawing
  • US8959106B2 patent drawing
  • US8959106B2 patent drawing

AI summary

Techniques for loading Java classes referenced in a continuous query. In one set of embodiments, the Java classes can be loaded based on a class space defined for an application considered to be in scope for the query. In another set of embodiments, the Java classes can be loaded based on a server class space that includes all exported classes visible to the event processing system executing the query.