Patents by Inventor Prabhu Thukkaram

Prabhu Thukkaram 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: 10503567
    Abstract: Systems and methods described herein are directed towards a flexible event ingestion framework. In some examples, an input source comprising information that identifies a plurality of events may be identified. Additionally, in some examples, an adapter for ingesting the information of the input source may be implemented. At least one additional component for modifying the adapter may be received. The adapter may be modified by implementing the at least one additional component with a transport component and a mapper component as part of ingesting the information. Further, a tuple for at least a first event may be generated based at least in part on the modified adapter, and the tuple may be provided to an event server.
    Type: Grant
    Filed: May 7, 2018
    Date of Patent: December 10, 2019
    Assignee: Oracle International Corporation
    Inventors: Hoyong Park, Vitaly Bychkov, Prabhu Thukkaram
  • Publication number: 20190278774
    Abstract: An event processing system for processing events in an event stream is disclosed. The system can execute instructions to receive a continuous data stream related to an application, convert geometry of the continuous data stream into a relation, track a plurality of moving objects in the continuous data stream, determine a relationship between at least a first object and a second object (e.g., a first moving object and a second moving object in the plurality of moving objects) based at least on the geometry of a continuous data stream and the relation. and perform an action based at least one the determined relationship.
    Type: Application
    Filed: April 3, 2019
    Publication date: September 12, 2019
    Applicant: Oracle International Corporation
    Inventors: Hoyong Park, Sandeep Bishnoi, Prabhu Thukkaram, Iuliia Shmeleva
  • Publication number: 20190236070
    Abstract: Systems and methods for query decomposition for scalability of continuous query processing are disclosed. In some examples, it is determined whether a query is fully stateful. If it is, the query may be divided into two functions, an aggregate function and a global function. The aggregate functions may be distributed across multiple distributed nodes and executed in parallel. The global function may then receive the results from the distributed nodes and join the results to achieve the fully stateful result.
    Type: Application
    Filed: April 5, 2019
    Publication date: August 1, 2019
    Applicant: Oracle International Corporation
    Inventors: Unmesh Anil Deshmukh, Hoyong Park, Sandeep Bishnoi, Prabhu Thukkaram
  • Publication number: 20190179716
    Abstract: An event processing system is disclosed that processes events of an event stream and performs the recovery of events during system failure. The recovery of events is performed by generating output sequence numbers for each deterministic output event generated by the event processing system. In an embodiment, the event processing system determines a current output sequence number of a most recently transmitted output event in a output stream of events, a last output sequence number of an output event corresponding to a most recently processed batch of input events and determines a set of one or more output events of the output stream to be transmitted based on the current sequence number and the last output sequence number. The event processing system then transmits the output events related to the application.
    Type: Application
    Filed: February 19, 2019
    Publication date: June 13, 2019
    Applicant: Oracle International Corporation
    Inventors: Hoyong Park, Sandeep Bishnoi, Unmesh Anil Deshmukh, Prabhu Thukkaram
  • Patent number: 10303695
    Abstract: Systems and methods for query decomposition for scalability of continuous query processing are disclosed. In some examples, it is determined whether a query is fully stateful. If it is, the query may be divided into two functions, an aggregate function and a global function. The aggregate functions may be distributed across multiple distributed nodes and executed in parallel. The global function may then receive the results from the distributed nodes and join the results to achieve the fully stateful result.
    Type: Grant
    Filed: March 29, 2016
    Date of Patent: May 28, 2019
    Assignee: Oracle International Corporation
    Inventors: Unmesh Anil Deshmukh, Hoyong Park, Sandeep Bishnoi, Prabhu Thukkaram
  • Patent number: 10275492
    Abstract: An event processing system for processing events in an event stream is disclosed. The system can execute instructions to receive a continuous data stream related to an application, convert geometry of the continuous data stream into a relation, track a plurality of moving objects in the continuous data stream, determine a relationship between at least a first object and a second object (e.g., a first moving object and a second moving object in the plurality of moving objects) based at least on the geometry of a continuous data stream and the relation. and perform an action based at least one the determined relationship.
    Type: Grant
    Filed: September 15, 2017
    Date of Patent: April 30, 2019
    Assignee: Oracle International Corporation
    Inventors: Hoyong Park, Sandeep Bishnoi, Prabhu Thukkaram, Iuliia Shmeleva
  • Patent number: 10255141
    Abstract: An event processing system is disclosed that processes events of an event stream and performs the recovery of events during system failure. The recovery of events is performed by generating output sequence numbers for each deterministic output event generated by the event processing system. In an embodiment, the event processing system determines a current output sequence number of a most recently transmitted output event in a output stream of events, a last output sequence number of an output event corresponding to a most recently processed batch of input events and determines a set of one or more output events of the output stream to be transmitted based on the current sequence number and the last output sequence number. The event processing system then transmits the output events related to the application.
    Type: Grant
    Filed: May 20, 2016
    Date of Patent: April 9, 2019
    Assignee: Oracle International Corporation
    Inventors: Hoyong Park, Sandeep Bishnoi, Unmesh Anil Deshmukh, Prabhu Thukkaram
  • Publication number: 20190102791
    Abstract: Techniques for processing event streams are provided that use streaming analytics to estimate a target user for dynamic assets. An exemplary technique includes receiving a batch of events that have position data for a potential target, determining one or more polygons that comprise the potential target based on the position data for the potential target, determining an approximate target viewership for the one or more polygons based on a profile or taxonomy of the potential target, associating an advertisement with the one or more polygons based on the approximate target viewership, receiving a continuous stream of events that have position data for a dynamic asset, determining that the one or more polygons include the dynamic asset based on the position data for the dynamic asset, obtaining the advertisement associated with the one or more polygons, and providing the advertisement to a sink for display on the dynamic asset.
    Type: Application
    Filed: June 28, 2018
    Publication date: April 4, 2019
    Applicant: Oracle International Corporation
    Inventors: Hoyong Park, Sandeep Bishnoi, Prabhu Thukkaram
  • Publication number: 20190102435
    Abstract: An event processing system for distributing a continuous query, and processing events in an event stream, is disclosed. The system can synchronize timestamps across all partitions by adding a heartbeat propagator component propagating a heartbeat signal for silent partitions. The system can further include a timestamp tracker component that tracks the maximum observed timestamp across all partitions for each batch, and sends this to each partition. The system can distribute partitions of the events to the worker nodes, and instruct a heartbeat propagator component to generate a heartbeat for a first worker node corresponding to an event in a different partition. The system receives outputs from the worker nodes and combines these into a single result corresponding to a continuous query. The system can further implement a timestamp tracker to select a highest timestamp value of a previous batch, and send the value to the worker nodes.
    Type: Application
    Filed: September 4, 2018
    Publication date: April 4, 2019
    Applicant: Oracle International Corporation
    Inventors: Sandeep Bishnoi, Hoyong Park, Subhrajyoti Choudhury, Yathish Gatty, Devendra Jain, Santosh Kumar, Prabhu Thukkaram
  • Publication number: 20190102266
    Abstract: Techniques for providing fault-tolerant stream processing. An exemplary technique includes writing primary output events to a primary target and secondary output events to one or more secondary targets, where the primary output events are written by a primary server and the secondary output events are written by one or more secondary servers. The technique further includes receiving an election of a new primary server from a synchronization system upon a failure of the primary server, where the new primary server is elected from the one or more secondary servers. The technique further includes determining, by the new primary server, the primary output events that failed to be written to the primary target because of the failure of the primary server, and writing, by the new primary server, the failed primary output events to the primary target using the secondary output events read from the one or more secondary targets.
    Type: Application
    Filed: September 28, 2018
    Publication date: April 4, 2019
    Applicant: Oracle International Corporation
    Inventors: Hoyong Park, Sandeep Bishnoi, Prabhu Thukkaram
  • Publication number: 20190102436
    Abstract: Techniques for processing event streams are provided that retain attributes or fields from a current event or group during stream aggregation. An exemplary technique includes receiving a stream of events having an input shape having a plurality of attributes and executing a query on the stream of events. The executing includes: (i) summarizing data of a first attribute of the plurality of attributes based on an aggregate function to generate values of data for a result-set, (ii) collecting data of events with values that are identical for a second attribute of the plurality of attributes based on a group by function to group the result-set by the second attribute, and (iii) preserving data of a third attribute of the plurality of attributes based on a current function. The technique further includes outputting events having an output shape having the first attribute, the second attribute, and the third attribute.
    Type: Application
    Filed: September 21, 2018
    Publication date: April 4, 2019
    Applicant: Oracle International Corporation
    Inventors: Sandeep Bishnoi, Hoyong Park, Gyorgy Geiszter, Péter Gordos, Prabhu Thukkaram
  • Publication number: 20190102415
    Abstract: Techniques for processing data streaming from one or more event sources in order to recreate a database table with database transactions for real-time analytics. An exemplary technique includes receiving a stream of events comprising change data for a table attribute, populating an in-memory table with the change data based on a token associated with an operation type and a mapping of a first attribute and a second attribute to a key attribute of the in-memory table, executing a continuous query on the change data for the key attribute of the in-memory table to generate events comprising data for a third attribute, and outputting the events having an output shape comprising the third attribute, where the events include the data for the third attribute.
    Type: Application
    Filed: September 25, 2018
    Publication date: April 4, 2019
    Applicant: Oracle International Corporation
    Inventors: Sandeep Bishnoi, Prabhu Thukkaram, Iuliia Shmeleva, Dmitrii Markovskii, Vitaly Vitalievich Bychkov, Gyorgy Geiszter
  • Patent number: 10217256
    Abstract: Some event ordering requirements can be determined based on continuous event processing queries. Other event ordering requirements can be determined based on distribution flow types being used to distribute events from event streams to node executing the queries. Events from event streams can be ordered according to ordering semantics that are based on a combination of all of these event ordering requirements. Additionally, virtual computing nodes can be associated with constraints, and computing processors can be associated with capabilities. Virtual computing nodes for processing event streams can be assigned to execute on various computing processors based on both these constraints and capabilities. Additionally, for each of several events in an event stream, a ratio between a total latency and a communication latency can be for determined. Based on an average of these ratios, a quantity of reducing nodes that will be involved in a map-reduce operation can be selected.
    Type: Grant
    Filed: March 26, 2018
    Date of Patent: February 26, 2019
    Assignee: Oracle International Corporation
    Inventors: Alexandre de Castro Alves, Prabhu Thukkaram, Dmitrii Markovskii, Ilya Shikalov, Vitaly Bychkov, Natalia Nikiforova
  • Patent number: 10127120
    Abstract: An event processing system is disclosed that processes events of an event stream, performs the recovery of events during system failure and preserves the state of the system reliably and accurately while achieving desired system performance. In an embodiment, the event processing system processes a first batch of events of a continuous input stream of events using a continuous query and generates an output stream of events related to an application. The event processing system identifies one or more operators of the continuous query and determines that an operator is a journaled operator. The event processing system generates a journaled snapshot of a current state of the system based on execution of the journaled operator on at least the first batch of events and stores the journaled snapshot of the current state of the system.
    Type: Grant
    Filed: May 20, 2016
    Date of Patent: November 13, 2018
    Assignee: Oracle International Corporation
    Inventors: Hoyong Park, Sandeep Bishnoi, Unmesh Anil Deshmukh, Prabhu Thukkaram
  • Patent number: 10120907
    Abstract: Some event ordering requirements can be determined based on continuous event processing queries. Other event ordering requirements can be determined based on distribution flow types being used to distribute events from event streams to node executing the queries. Events from event streams can be ordered according to ordering semantics that are based on a combination of all of these event ordering requirements. Additionally, virtual computing nodes can be associated with constraints, and computing processors can be associated with capabilities. Virtual computing nodes for processing event streams can be assigned to execute on various computing processors based on both these constraints and capabilities. Additionally, for each of several events in an event stream, a ratio between a total latency and a communication latency can be for determined. Based on an average of these ratios, a quantity of reducing nodes that will be involved in a map-reduce operation can be selected.
    Type: Grant
    Filed: September 22, 2015
    Date of Patent: November 6, 2018
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Alexandre de Castro Alves, Prabhu Thukkaram, Sandeep Bishnoi, Yogesh Bedekar, Ashish Mahendru, Unmesh Anil Deshmukh
  • Patent number: 10091086
    Abstract: In accordance with an embodiment, described herein is a system and method for managing APIs exposed from proxy services executing in a service bus runtime. Each proxy service can be exposed as an API entry in an API catalog, where the API entry can be annotated with metadata, and published to an API portal. The published API entries can be subscribed to by an API consumer for an application. The application can pass an API key when invoking a proxy service corresponding to a subscribed API entry. A proxy interceptor associated with the corresponding proxy service can intercept the service invocation, and delegate the service invocation to an API managing component. The proxy interceptor can provide the API key and a proxy service reference to the API managing component, which can use the API key to collect usage metrics of the API subscription for display at the API portal.
    Type: Grant
    Filed: April 1, 2016
    Date of Patent: October 2, 2018
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Kiran Prabhakar, Dimitri Laloue, Prabhu Thukkaram
  • Publication number: 20180253343
    Abstract: Systems and methods described herein are directed towards a flexible event ingestion framework. In some examples, an input source comprising information that identifies a plurality of events may be identified. Additionally, in some examples, an adapter for ingesting the information of the input source may be implemented. At least one additional component for modifying the adapter may be received. The adapter may be modified by implementing the at least one additional component with a transport component and a mapper component as part of ingesting the information. Further, a tuple for at least a first event may be generated based at least in part on the modified adapter, and the tuple may be provided to an event server.
    Type: Application
    Filed: May 7, 2018
    Publication date: September 6, 2018
    Applicant: Oracle International Corporation
    Inventors: Hoyong Park, Vitaly Bychkov, Prabhu Thukkaram
  • Publication number: 20180218522
    Abstract: Some event ordering requirements can be determined based on continuous event processing queries. Other event ordering requirements can be determined based on distribution flow types being used to distribute events from event streams to node executing the queries. Events from event streams can be ordered according to ordering semantics that are based on a combination of all of these event ordering requirements. Additionally, virtual computing nodes can be associated with constraints, and computing processors can be associated with capabilities. Virtual computing nodes for processing event streams can be assigned to execute on various computing processors based on both these constraints and capabilities. Additionally, for each of several events in an event stream, a ratio between a total latency and a communication latency can be for determined. Based on an average of these ratios, a quantity of reducing nodes that will be involved in a map-reduce operation can be selected.
    Type: Application
    Filed: March 26, 2018
    Publication date: August 2, 2018
    Applicant: Oracle International Corporation
    Inventors: Alexandre de Castro Alves, Prabhu Thukkaram, Dmitrii Markovskii, Ilya Shikalov, Vitaly Bychkov, Natalia Nikiforova
  • Patent number: 9972103
    Abstract: Some event ordering requirements can be determined based on continuous event processing queries. Other event ordering requirements can be determined based on distribution flow types being used to distribute events from event streams to node executing the queries. Events from event streams can be ordered according to ordering semantics that are based on a combination of all of these event ordering requirements. Additionally, virtual computing nodes can be associated with constraints, and computing processors can be associated with capabilities. Virtual computing nodes for processing event streams can be assigned to execute on various computing processors based on both these constraints and capabilities. Additionally, for each of several events in an event stream, a ratio between a total latency and a communication latency can be for determined. Based on an average of these ratios, a quantity of reducing nodes that will be involved in a map-reduce operation can be selected.
    Type: Grant
    Filed: September 25, 2015
    Date of Patent: May 15, 2018
    Assignee: Oracle International Corporation
    Inventors: Alexandre de Castro Alves, Prabhu Thukkaram, Dmitrii Markovskii, Ilya Shikalov, Vitaly Bychkov, Natalia Nikiforova
  • Publication number: 20180075109
    Abstract: An event processing system for processing events in an event stream is disclosed. The system can execute instructions to receive a continuous data stream related to an application, convert geometry of the continuous data stream into a relation, track a plurality of moving objects in the continuous data stream, determine a relationship between at least a first object and a second object (e.g., a first moving object and a second moving object in the plurality of moving objects) based at least on the geometry of a continuous data stream and the relation. and perform an action based at least one the determined relationship.
    Type: Application
    Filed: September 15, 2017
    Publication date: March 15, 2018
    Inventors: Hoyong Park, Sandeep Bishnoi, Prabhu Thukkaram, Iuliia Shmeleva