Patents by Inventor Kun-Lung Wu

Kun-Lung Wu has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9244735
    Abstract: Data analysis applications include model building components and stream processing components. To increase utility of the data analysis application, in one embodiment, the model building component of the data analysis application is managed. Management includes resource allocation and/or configuration adaptation of the model building component, as examples.
    Type: Grant
    Filed: January 7, 2014
    Date of Patent: January 26, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Henrique Andrade, Bugra Gedik, Vibhore Kumar, Kun-Lung Wu
  • Publication number: 20160012110
    Abstract: A method of incrementally computing an aggregate function of a sliding window in a streaming application includes receiving a plurality of data tuples in the sliding window, extracting at least one data tuple from the sliding window, and storing the at least one extracted data tuple in a data structure in a memory. The data structure is a balanced tree and the at least one data tuple is stored in leaf nodes of the balanced tree. The method further includes maintaining at least one intermediate result in at least one internal node of the balanced tree. The at least one intermediate result corresponds to a partial window aggregation. The method further includes generating a final result in the balanced tree based on the at least one intermediate result, and outputting the final result from the balanced tree. The final result corresponds to a final window aggregation.
    Type: Application
    Filed: July 8, 2014
    Publication date: January 14, 2016
    Inventors: Martin J. Hirzel, Scott A. Schneider, Kanat Tangwongsan, Kun-Lung Wu
  • Patent number: 9237192
    Abstract: One embodiment of the present method and apparatus adaptive in-operator load shedding includes receiving at least two data streams (each comprising a plurality of tuples, or data items) into respective sliding windows of memory. A throttling fraction is then calculated based on input rates associated with the data streams and on currently available processing resources. Tuples are then selected for processing from the data streams in accordance with the throttling fraction, where the selected tuples represent a subset of all tuples contained within the sliding window.
    Type: Grant
    Filed: May 17, 2013
    Date of Patent: January 12, 2016
    Assignee: International Business Machines Corporation
    Inventors: Bugra Gedik, Kun-Lung Wu, Philip S. Yu
  • Patent number: 9176717
    Abstract: An embodiment of the invention provides a method for exploiting stateless and stateful data parallelism in a streaming application, wherein a compiler determines whether an operator of the streaming application is safe to parallelize based on a definition of the operator and an instance of the definition. The operator is not safe to parallelize when the operator has selectivity greater than 1, wherein the selectivity is the number of output tuples generated for each input tuple. Parallel regions are formed within the streaming application with the compiler when the operator is safe to parallelize. Synchronization strategies for the parallel regions are determined with the compiler, wherein the synchronization strategies are determined based on the definition of the operator and the instance of the definition. The synchronization strategies of the parallel regions are enforced with a runtime system.
    Type: Grant
    Filed: October 12, 2012
    Date of Patent: November 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Bugra Gedik, Martin J. Hirzel, Scott A. Schneider, Kun-Lung Wu
  • Patent number: 9170794
    Abstract: An embodiment of the invention provides a method for exploiting stateless and stateful data parallelism in a streaming application, wherein a compiler determines whether an operator of the streaming application is safe to parallelize based on a definition of the operator and an instance of the definition. The operator is not safe to parallelize when the operator has selectivity greater than 1, wherein the selectivity is the number of output tuples generated for each input tuple. Parallel regions are formed within the streaming application with the compiler when the operator is safe to parallelize. Synchronization strategies for the parallel regions are determined with the compiler, wherein the synchronization strategies are determined based on the definition of the operator and the instance of the definition. The synchronization strategies of the parallel regions are enforced with a runtime system.
    Type: Grant
    Filed: August 28, 2012
    Date of Patent: October 27, 2015
    Assignee: International Business Machines Corporation
    Inventors: Bugra Gedik, Martin J. Hirzel, Scott A. Schneider, Kun-Lung Wu
  • Patent number: 9158837
    Abstract: Techniques are disclosed for adaptive source filtering and load shedding in such data stream processing systems. For example, in one aspect of the invention, a method for use in filtering data in a distributed data stream processing system, wherein a server receives and processes one or more data streams from one or more data sources, comprises the steps of the server periodically re-configuring one or more filters and sending the one or more periodically re-configured filters to the one or more data sources, and the one or more data sources performing data filtering based on the one or more periodically re-configured filters received from the server.
    Type: Grant
    Filed: October 10, 2007
    Date of Patent: October 13, 2015
    Assignee: International Business Machines Corporation
    Inventors: Bugra Gedik, Kun-Lung Wu, Philip Shi-Lung Yu
  • Publication number: 20150269211
    Abstract: A system to manage clustering vertices of a streaming graph includes a memory storing a computer program, a vertex structure storing vertices of the graph, and a cluster structure storing clusters of the graph, and a processor. Each cluster structure comprises a plurality of edge structures represent edges of the graph and each edge structure comprises two of the vertices. The processor is configured to execute the program to cluster the vertices using the structures and a maximum cluster size that is constant.
    Type: Application
    Filed: March 19, 2014
    Publication date: September 24, 2015
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Gabriela Jacques da Silva, Kun-Lung Wu, Mindi Yuan
  • Publication number: 20150261886
    Abstract: A method for clustering vertices of streaming graphs includes: maintaining one or more clusters, assigning a random number to an incoming edge, computing a sampling threshold based on the current clusters, and adjusting the current clusters based on the random number and the sampling threshold.
    Type: Application
    Filed: March 13, 2014
    Publication date: September 17, 2015
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: KUN-LUNG WU, YINGLONG XIA
  • Patent number: 9135069
    Abstract: Techniques for composing an application resource model are disclosed.
    Type: Grant
    Filed: May 4, 2012
    Date of Patent: September 15, 2015
    Assignee: International Business Machines Corporation
    Inventors: Henrique Andrade, Bugra Gedik, Sujay Sunil Parekh, Kun-Lung Wu, Xiaolan Zhang
  • Patent number: 9112666
    Abstract: A method for adjusting a data parallel region of a stream processing application includes measuring congestion of each parallel channel of the data parallel region, measuring a total throughput of all the parallel channels, and adjusting the number of parallel channels based on the current measured congestion and throughput.
    Type: Grant
    Filed: September 11, 2013
    Date of Patent: August 18, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bugra Gedik, Martin J. Hirzel, Scott A. Schneider, Kun-Lung Wu
  • Patent number: 9106391
    Abstract: A method for adjusting a data parallel region of a stream processing application includes measuring congestion of each parallel channel of the data parallel region, measuring a total throughput of all the parallel channels, and adjusting the number of parallel channels based on the current measured congestion and throughput.
    Type: Grant
    Filed: May 28, 2013
    Date of Patent: August 11, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bugra Gedik, Martin J. Hirzel, Scott A. Schneider, Kun-Lung Wu
  • Patent number: 9098350
    Abstract: An embodiment of the invention provides a method for adaptive auto-pipelining of a stream processing application, wherein the stream processing application includes one or more threads. Runtime of the stream processing application is initiated with a stream processing application manager. The stream processing application is monitored with a monitoring module during the runtime, wherein the monitoring of the stream processing application includes identifying threads in the stream processing application that execute operators in a data flow graph, and determining an amount of work that each of the threads are performing on operators of the logical data flow graph. A processor identifies one or more operators in the data flow graph to add one or more additional threads based on the monitoring of the stream processing application during the runtime.
    Type: Grant
    Filed: November 6, 2012
    Date of Patent: August 4, 2015
    Assignee: International Business Machines Corporation
    Inventors: Bugra Gedik, Scott A. Schneider, Yuzhe Tang, Kun-Lung Wu
  • Patent number: 9075662
    Abstract: Embodiments of the disclosure include a method for providing stream processing with runtime adaptation includes registering one or more events, wherein each of the events is associated with a stream processing application. The method also includes monitoring, by a processor, for an occurrence of the one or more events associated with the stream processing application, wherein each of the one or more events is associated with one or more runtime metrics. The method further includes receiving an event notification, wherein the event notification includes event identification and an event context and executing an adaptation of the stream processing application.
    Type: Grant
    Filed: August 31, 2012
    Date of Patent: July 7, 2015
    Assignee: International Business Machines Corporation
    Inventors: Bugra Gedik, Gabriela Jacques da Silva, Vibhore Kumar, Rohit Wagle, Kun-Lung Wu
  • Patent number: 9063788
    Abstract: Embodiments of the disclosure include a system for providing stream processing with runtime adaptation, having a stream processing application that receives an incoming data stream and a runtime infrastructure configured to execute the stream processing application. The system also includes an orchestrator configured to communicate with the runtime infrastructure and the stream processing application, the orchestrator configured to perform a method. The method includes registering one or more events, wherein each of the events is associated with a stream processing application. The method also includes monitoring, by a processor, for an occurrence of the one or more events associated with the stream processing application, wherein each of the one or more events is associated with one or more runtime metrics.
    Type: Grant
    Filed: August 27, 2012
    Date of Patent: June 23, 2015
    Assignee: International Business Machines Corporation
    Inventors: Bugra Gedik, Gabriela Jacques da Silva, Vibhore Kumar, Rohit Wagle, Kun-Lung Wu
  • Patent number: 9021007
    Abstract: Interoperability is enabled between participants in a network by determining values associated with a value metric defined for at least a portion of the network. Information flow is directed between two or more of the participants based at least in part on semantic models corresponding to the participants and on the values associated with the value metric. The semantic models may define interactions between the participants and define at least a portion of information produced or consumed by the participants. The determination of the values and the direction of the information flow may be performed multiple times in order to modify the one or more value metrics. The direction of information flow may allow participants to be deleted from the network, may allow participants to be added to the network, or may allow behavior of the participants to be modified.
    Type: Grant
    Filed: July 24, 2008
    Date of Patent: April 28, 2015
    Assignee: International Business Machines Corporation
    Inventors: Charu C. Aggarwal, Murray Scott Campbell, Yuan-Chi Chang, Matthew Leon Hill, Chung-Sheng Li, Milind R. Naphade, Sriram K. Padmanabhan, John R. Smith, Min Wang, Kun-Lung Wu, Philip Shilung Yu
  • Patent number: 8997039
    Abstract: In one embodiment, the invention comprises partial fault tolerant stream processing applications. One embodiment of a method for implementing partial fault tolerance in a stream processing application comprising a plurality of stream operators includes: defining a quality score function that expresses how well the application is performing quantitatively, injecting a fault into at least one of the plurality of operators, assessing an impact of the fault on the quality score function, and selecting at least one partial fault-tolerant technique for implementation in the application based on the quantitative metric-driven assessment.
    Type: Grant
    Filed: April 22, 2013
    Date of Patent: March 31, 2015
    Assignee: International Business Machines Corporation
    Inventors: Henrique Andrade, Bugra Gedik, Gabriela Jacques da Silva, Kun-Lung Wu
  • Publication number: 20150074681
    Abstract: A method for allocating parallel, independent, data tasks includes receiving data tasks, each of the data tasks having a penalty function, determining a generic ordering of the data tasks according to the penalty functions, wherein the generic ordering includes solving an aggregate objective function of the penalty functions, the method further including determining a schedule of the data tasks given the generic ordering, which packs the data tasks to be performed.
    Type: Application
    Filed: October 21, 2014
    Publication date: March 12, 2015
    Inventors: Kirsten W. Hildrum, Rohit M. Khandekar, Vibhore Kumar, Sujay S. Parekh, Deepak Rajan, Joel L. Wolf, Kun-Lung Wu
  • Patent number: 8972380
    Abstract: A method (and structure) for monitoring continual range queries against events includes decomposing each range query with one or more predefined virtual constructs, building a query index, and using the query index to match an event with the range queries.
    Type: Grant
    Filed: September 29, 2003
    Date of Patent: March 3, 2015
    Assignee: International Business Machines Corporaton
    Inventors: Shyh-Kwei Chen, Kun-Lung Wu, Philip Shi-lung Yu
  • Patent number: 8949810
    Abstract: Techniques for optimizing data stream processing are provided. The techniques include employing a pattern, wherein the pattern facilitates splitting of one or more incoming streams and distributing processing across one or more operators, obtaining one or mote operators, wherein the one or more operators support at least one group-independent aggregation and join operation on one or more streams, generating code, wherein the code facilitates mapping of the application onto a computational infrastructure to enable workload partitioning, using the one or more operators to decompose each of the application into one or more granular components, and using the code to reassemble the one or more granular components into one or more deployable blocks to map the application to a computational infrastructure, wherein reassembling the one or more granular components to map the application to the computational infrastructure optimizes data stream processing of the application.
    Type: Grant
    Filed: June 16, 2008
    Date of Patent: February 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Henrique Andrade, Bugra Gedik, Kun-Lung Wu
  • Patent number: 8949801
    Abstract: In one embodiment, the invention is a method and apparatus for failure recovery for stream processing applications. One embodiment of a method for providing a failure recovery mechanism for a stream processing application includes receiving source code for the stream processing application, wherein the source code defines a fault tolerance policy for each of the components of the stream processing application, and wherein respective fault tolerance policies defined for at least two of the plurality of components are different, generating a sequence of instructions for converting the state(s) of the component(s) into a checkpoint file comprising a sequence of storable bits on a periodic basis, according to a frequency defined in the fault tolerance policy, initiating execution of the stream processing application, and storing the checkpoint file, during execution of the stream processing application, at a location that is accessible after failure recovery.
    Type: Grant
    Filed: May 13, 2009
    Date of Patent: February 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Henrique Andrade, Bugra Gedik, Gabriela Jacques da Silva, Kun-Lung Wu