×

Support for user defined functions in a data stream management system

  • US 8,073,826 B2
  • Filed: 10/18/2007
  • Issued: 12/06/2011
  • Est. Priority Date: 10/18/2007
  • Status: Active Grant
First Claim
Patent Images

1. A method implemented in a computer of processing a plurality of incoming streams of data, the method comprising:

  • processing the plurality of incoming streams, to execute thereon a plurality of continuous queries based on an existing global plan;

    during said processing, receiving from a user, a command to create a function and identification of a set of instructions to be executed to perform said function;

    during said processing, creating in a memory of said computer, an instance of said set of instructions and a first structure comprising a reference to said instance;

    during said processing, receiving a new continuous query to be executed using said function;

    during said processing, based on said first structure, creating in said memory an operator to invoke the instance, the operator comprising a second structure, the second structure comprising a first field to hold said reference to said instance of said set of instructions, and at least one additional field corresponding to at least one argument of said function;

    during said processing, at least one processor in said computer modifying the existing global plan by adding thereto said operator, thereby to obtain a modified global plan;

    altering said processing, to cause execution of the new continuous query in addition to said plurality of continuous queries, based on the modified global plan, thereby to perform said function; and

    based at least partially on processing of at least a portion of said data by executing the new continuous query, outputting from said computer an output stream;

    wherein;

    an identification comprises of a name of a class containing the function, and a name of a package containing the class;

    the command comprises a name clause containing the identification;

    the set of instructions is identified by a predetermined label within the package;

    the function is deterministic;

    the instance of the function is repeatedly invoked, on receipt of each tuple comprised in the data, without re-creating the instance; and

    the instance of the function is also invoked, for an additional query, without re-creating the instance.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×