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: 10503567Abstract: 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: GrantFiled: May 7, 2018Date of Patent: December 10, 2019Assignee: Oracle International CorporationInventors: Hoyong Park, Vitaly Bychkov, Prabhu Thukkaram
-
Publication number: 20190278774Abstract: 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: ApplicationFiled: April 3, 2019Publication date: September 12, 2019Applicant: Oracle International CorporationInventors: Hoyong Park, Sandeep Bishnoi, Prabhu Thukkaram, Iuliia Shmeleva
-
Publication number: 20190236070Abstract: 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: ApplicationFiled: April 5, 2019Publication date: August 1, 2019Applicant: Oracle International CorporationInventors: Unmesh Anil Deshmukh, Hoyong Park, Sandeep Bishnoi, Prabhu Thukkaram
-
Publication number: 20190179716Abstract: 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: ApplicationFiled: February 19, 2019Publication date: June 13, 2019Applicant: Oracle International CorporationInventors: Hoyong Park, Sandeep Bishnoi, Unmesh Anil Deshmukh, Prabhu Thukkaram
-
Patent number: 10303695Abstract: 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: GrantFiled: March 29, 2016Date of Patent: May 28, 2019Assignee: Oracle International CorporationInventors: Unmesh Anil Deshmukh, Hoyong Park, Sandeep Bishnoi, Prabhu Thukkaram
-
Patent number: 10275492Abstract: 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: GrantFiled: September 15, 2017Date of Patent: April 30, 2019Assignee: Oracle International CorporationInventors: Hoyong Park, Sandeep Bishnoi, Prabhu Thukkaram, Iuliia Shmeleva
-
Patent number: 10255141Abstract: 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: GrantFiled: May 20, 2016Date of Patent: April 9, 2019Assignee: Oracle International CorporationInventors: Hoyong Park, Sandeep Bishnoi, Unmesh Anil Deshmukh, Prabhu Thukkaram
-
Publication number: 20190102791Abstract: 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: ApplicationFiled: June 28, 2018Publication date: April 4, 2019Applicant: Oracle International CorporationInventors: Hoyong Park, Sandeep Bishnoi, Prabhu Thukkaram
-
Publication number: 20190102435Abstract: 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: ApplicationFiled: September 4, 2018Publication date: April 4, 2019Applicant: Oracle International CorporationInventors: Sandeep Bishnoi, Hoyong Park, Subhrajyoti Choudhury, Yathish Gatty, Devendra Jain, Santosh Kumar, Prabhu Thukkaram
-
Publication number: 20190102266Abstract: 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: ApplicationFiled: September 28, 2018Publication date: April 4, 2019Applicant: Oracle International CorporationInventors: Hoyong Park, Sandeep Bishnoi, Prabhu Thukkaram
-
Publication number: 20190102436Abstract: 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: ApplicationFiled: September 21, 2018Publication date: April 4, 2019Applicant: Oracle International CorporationInventors: Sandeep Bishnoi, Hoyong Park, Gyorgy Geiszter, Péter Gordos, Prabhu Thukkaram
-
Publication number: 20190102415Abstract: 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: ApplicationFiled: September 25, 2018Publication date: April 4, 2019Applicant: Oracle International CorporationInventors: Sandeep Bishnoi, Prabhu Thukkaram, Iuliia Shmeleva, Dmitrii Markovskii, Vitaly Vitalievich Bychkov, Gyorgy Geiszter
-
Patent number: 10217256Abstract: 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: GrantFiled: March 26, 2018Date of Patent: February 26, 2019Assignee: Oracle International CorporationInventors: Alexandre de Castro Alves, Prabhu Thukkaram, Dmitrii Markovskii, Ilya Shikalov, Vitaly Bychkov, Natalia Nikiforova
-
Patent number: 10127120Abstract: 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: GrantFiled: May 20, 2016Date of Patent: November 13, 2018Assignee: Oracle International CorporationInventors: Hoyong Park, Sandeep Bishnoi, Unmesh Anil Deshmukh, Prabhu Thukkaram
-
Patent number: 10120907Abstract: 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: GrantFiled: September 22, 2015Date of Patent: November 6, 2018Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Alexandre de Castro Alves, Prabhu Thukkaram, Sandeep Bishnoi, Yogesh Bedekar, Ashish Mahendru, Unmesh Anil Deshmukh
-
Patent number: 10091086Abstract: 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: GrantFiled: April 1, 2016Date of Patent: October 2, 2018Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Kiran Prabhakar, Dimitri Laloue, Prabhu Thukkaram
-
Publication number: 20180253343Abstract: 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: ApplicationFiled: May 7, 2018Publication date: September 6, 2018Applicant: Oracle International CorporationInventors: Hoyong Park, Vitaly Bychkov, Prabhu Thukkaram
-
Publication number: 20180218522Abstract: 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: ApplicationFiled: March 26, 2018Publication date: August 2, 2018Applicant: Oracle International CorporationInventors: Alexandre de Castro Alves, Prabhu Thukkaram, Dmitrii Markovskii, Ilya Shikalov, Vitaly Bychkov, Natalia Nikiforova
-
Patent number: 9972103Abstract: 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: GrantFiled: September 25, 2015Date of Patent: May 15, 2018Assignee: Oracle International CorporationInventors: Alexandre de Castro Alves, Prabhu Thukkaram, Dmitrii Markovskii, Ilya Shikalov, Vitaly Bychkov, Natalia Nikiforova
-
Publication number: 20180075109Abstract: 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: ApplicationFiled: September 15, 2017Publication date: March 15, 2018Inventors: Hoyong Park, Sandeep Bishnoi, Prabhu Thukkaram, Iuliia Shmeleva