Patents by Inventor Oleksandr Otenko
Oleksandr Otenko 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: 11822924Abstract: In accordance with an embodiment, described herein is a system and method for providing a reactive flattening map for use with a microservices or other computing environment. In a cloud computing environment, reactive programming can be used with publishers and subscribers, to abstract execution away from the thread of execution while providing rigorous coordination of various state transitions. The described approach provides support for processing streams of data involving one or more publishers and subscribers, by use of a multi-flat-map publisher component, to flatten or otherwise combine events emitted by multiple publishers concurrently, into a single stream of events for use by a downstream subscriber.Type: GrantFiled: August 24, 2021Date of Patent: November 21, 2023Assignee: ORACLE INTERNATIONAL CORPORATIONInventor: Oleksandr Otenko
-
Patent number: 11671512Abstract: In accordance with an embodiment, described herein is a system and method for providing a constant memory footprint concatenating reactive publisher, for use with microservices or reactive programming environments. A Publisher provides a Subscriber with a Subscription that supports requests of an amount up to a particular value. The Publisher can keep track of a requested number of items. When concatenating output from multiple Publishers, the switch between the output of one Publisher, and that of the next, may involve keeping track of new states. The described approach supports the requirement to maintain an amount of requests, by using request counters to maintain the necessary state, heed backpressure, and deliver requests as soon as they are issued by the Subscriber owning the Subscription.Type: GrantFiled: October 27, 2021Date of Patent: June 6, 2023Assignee: ORACLE INTERNATIONAL CORPORATIONInventor: Oleksandr Otenko
-
Patent number: 11656850Abstract: Described herein is a system and method for providing bounded recursion under bounded concurrency, for use with microservices or reactive programming environments. The system is adapted to determine, for example during evaluation of a chain of Continuations, that the concurrency of onComplete invocations is mutually exclusive with the recursive invocations. The number of concurrently executing threads can be bounded, such that the recursion only needs to operate within a reasonable bound—it does not need to be fully precluded. With these relaxations in mind, the system can enforce a bound on recursion without further synchronization actions.Type: GrantFiled: October 27, 2021Date of Patent: May 23, 2023Assignee: ORACLE INTERNATIONAL CORPORATIONInventor: Oleksandr Otenko
-
Publication number: 20220137931Abstract: In accordance with an embodiment, described herein is a system and method for providing bounded recursion under bounded concurrency, for use with microservices or reactive programming environments. The system is adapted to determine, for example during evaluation of a chain of Continuations, that the concurrency of onComplete invocations is mutually exclusive with the recursive invocations. The number of concurrently executing threads can be bounded, such that the recursion only needs to operate within a reasonable bound—it does not need to be fully precluded. With these relaxations in mind, the system can enforce a bound on recursion without further synchronization actions.Type: ApplicationFiled: October 27, 2021Publication date: May 5, 2022Inventor: OLEKSANDR OTENKO
-
Publication number: 20220141301Abstract: In accordance with an embodiment, described herein is a system and method for providing a constant memory footprint concatenating reactive publisher, for use with microservices or reactive programming environments. A Publisher provides a Subscriber with a Subscription that supports requests of an amount up to a particular value. The Publisher can keep track of a requested number of items. When concatenating output from multiple Publishers, the switch between the output of one Publisher, and that of the next, may involve keeping track of new states. The described approach supports the requirement to maintain an amount of requests, by using request counters to maintain the necessary state, heed backpressure, and deliver requests as soon as they are issued by the Subscriber owning the Subscription.Type: ApplicationFiled: October 27, 2021Publication date: May 5, 2022Inventor: OLEKSANDR OTENKO
-
Publication number: 20220076210Abstract: In accordance with an embodiment, described herein is a system and method for providing reactive multi-part parsing for use with a microservices or other computing environment. In a cloud computing environment, reactive programming can be used with publishers and subscribers, to abstract execution away from the thread of execution while providing rigorous coordination of various state transitions. The described approach provides support for parsing multi-part Multipurpose Internet Mail Extensions (MIME) or other data content, for example to provide a multi-part decoder, or as may be used with a web or other server.Type: ApplicationFiled: August 24, 2021Publication date: March 10, 2022Inventor: OLEKSANDR OTENKO
-
Publication number: 20220075623Abstract: In accordance with an embodiment, described herein is a system and method for providing a reactive flattening map for use with a microservices or other computing environment. In a cloud computing environment, reactive programming can be used with publishers and subscribers, to abstract execution away from the thread of execution while providing rigorous coordination of various state transitions. The described approach provides support for processing streams of data involving one or more publishers and subscribers, by use of a multi-flat-map publisher component, to flatten or otherwise combine events emitted by multiple publishers concurrently, into a single stream of events for use by a downstream subscriber.Type: ApplicationFiled: August 24, 2021Publication date: March 10, 2022Inventor: OLEKSANDR OTENKO
-
Patent number: 11269692Abstract: Techniques are disclosed for efficiently sequencing operations performed in multiple threads of execution in a computer system. In one set of embodiments, sequencing is performed by receiving an instruction to advance a designated next ticket value, incrementing the designated next ticket value in response to receiving the instruction, searching a waiters list of tickets for an element having the designated next ticket value, wherein searching does not require searching the entire waiters list, and the waiters list is in a sorted order based on the values of the tickets, and removing the element having the designated next ticket value from the list using a single atomic operation. The element may be removed by setting a waiters list head element, in a single atomic operation, to refer to an element in the list having a value based upon the designated next ticket value.Type: GrantFiled: March 26, 2019Date of Patent: March 8, 2022Assignee: Oracle International CorporationInventor: Oleksandr Otenko
-
Patent number: 10482064Abstract: De-duplication of immutable data items at runtime may include identifying a set of potentially duplicate immutable data items in use by one or more applications. The applications may access the immutable data items through pointers of respective objects corresponding to the immutable data items. A de-duplication component executing distinctly from the applications may analyze the identified set of potentially duplicate immutable data items to determine two or more that have identical content and may then modify one or more pointers of the corresponding objects so that at least two of the pointers point to a single immutable data item.Type: GrantFiled: June 26, 2012Date of Patent: November 19, 2019Assignee: Oracle International CorporationsInventors: Mikhail A. Dmitriev, Nathan L. Reynolds, Oleksandr Otenko
-
Publication number: 20190220327Abstract: Techniques are disclosed for efficiently sequencing operations performed in multiple threads of execution in a computer system. In one set of embodiments, sequencing is performed by receiving an instruction to advance a designated next ticket value, incrementing the designated next ticket value in response to receiving the instruction, searching a waiters list of tickets for an element having the designated next ticket value, wherein searching does not require searching the entire waiters list, and the waiters list is in a sorted order based on the values of the tickets, and removing the element having the designated next ticket value from the list using a single atomic operation. The element may be removed by setting a waiters list head element, in a single atomic operation, to refer to an element in the list having a value based upon the designated next ticket value.Type: ApplicationFiled: March 26, 2019Publication date: July 18, 2019Applicant: Oracle International CorporationInventor: Oleksandr Otenko
-
Patent number: 10310915Abstract: Techniques are disclosed for efficiently sequencing operations performed in multiple threads of execution in a computer system. In one set of embodiments, sequencing is performed by receiving an instruction to advance a designated next ticket value, incrementing the designated next ticket value in response to receiving the instruction, searching a waiters list of tickets for an element having the designated next ticket value, wherein searching does not require searching the entire waiters list, and the waiters list is in a sorted order based on the values of the tickets, and removing the element having the designated next ticket value from the list using a single atomic operation. The element may be removed by setting a waiters list head element, in a single atomic operation, to refer to an element in the list having a value based upon the designated next ticket value.Type: GrantFiled: January 9, 2017Date of Patent: June 4, 2019Assignee: ORACLE INTERNATIONAL CORPORATIONInventor: Oleksandr Otenko
-
Patent number: 10095562Abstract: A system and method can use continuation-passing to transform a queue from non-blocking to blocking. The non-blocking queue can maintain one or more idle workers in a thread pool that is not accessible from outside of the non-blocking queue. The continuation-passing can eliminate one or more serialization points in the non-blocking queue, and allows a caller to manage the one or more idle workers in the thread pool from outside of the non-blocking queue.Type: GrantFiled: February 28, 2013Date of Patent: October 9, 2018Assignee: ORACLE INTERNATIONAL CORPORATIONInventor: Oleksandr Otenko
-
Publication number: 20170123861Abstract: Techniques are disclosed for efficiently sequencing operations performed in multiple threads of execution in a computer system. In one set of embodiments, sequencing is performed by receiving an instruction to advance a designated next ticket value, incrementing the designated next ticket value in response to receiving the instruction, searching a waiters list of tickets for an element having the designated next ticket value, wherein searching does not require searching the entire waiters list, and the waiters list is in a sorted order based on the values of the tickets, and removing the element having the designated next ticket value from the list using a single atomic operation. The element may be removed by setting a waiters list head element, in a single atomic operation, to refer to an element in the list having a value based upon the designated next ticket value.Type: ApplicationFiled: January 9, 2017Publication date: May 4, 2017Applicant: Oracle International CorporationInventor: Oleksandr Otenko
-
Patent number: 9588733Abstract: A system and method can support queue processing in a computing environment. A lazy sorting priority queue in a concurrent system can include a priority queue and one or more buffers. The one or more buffers, which can be first-in first-out (FIFO) buffers, operate to store one or more requests received from one or more producers, and move at least one message to the priority queue when no consumer is waiting for processing a request. Furthermore, the priority queue operates to prioritize one or more incoming requests received from the one or more buffers, and allows one or more consumers to pick up the requests based on priority.Type: GrantFiled: January 29, 2014Date of Patent: March 7, 2017Assignee: ORACLE INTERNATIONAL CORPORATIONInventor: Oleksandr Otenko
-
Patent number: 9542236Abstract: Techniques are disclosed for efficiently sequencing operations performed in multiple threads of execution in a computer system. In one set of embodiments, sequencing is performed by receiving an instruction to advance a designated next ticket value, incrementing the designated next ticket value in response to receiving the instruction, searching a waiters list of tickets for an element having the designated next ticket value, wherein searching does not require searching the entire waiters list, and the waiters list is in a sorted order based on the values of the tickets, and removing the element having the designated next ticket value from the list using a single atomic operation. The element may be removed by setting a waiters list head element, in a single atomic operation, to refer to an element in the list having a value based upon the designated next ticket value.Type: GrantFiled: December 29, 2011Date of Patent: January 10, 2017Assignee: Oracle International CorporationInventor: Oleksandr Otenko
-
Patent number: 9495392Abstract: Systems and methods are provided for providing parallel muxing between servers in a cluster. One such system can include a cluster of one or more high performance computing systems, each including one or more processors and a high performance memory. The cluster communicates over an InfiniBand network. The system can also include a middleware environment, executing on the cluster, that includes one or more application server instances. The system can further include a plurality of muxers, wherein each application server instance includes at least one muxer. Each muxer can receive information from a plurality of threads to transmit to a different muxer on a different application server instance over the Infiniband network using a plurality of parallel channels.Type: GrantFiled: May 28, 2014Date of Patent: November 15, 2016Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Nathan Reynolds, Oleksandr Otenko, Joshua Dorr
-
Patent number: 9378045Abstract: A system and method can support cooperative concurrency in a priority queue. The priority queue, which includes a calendar ring and a fast lane, can detect one or more threads that contend to claim one or more requests in the priority queue. Then, a victim thread can place a request in the fast lane in the priority queue, and release a contending thread, which proceeds to consume the request in the fast lane.Type: GrantFiled: February 28, 2013Date of Patent: June 28, 2016Assignee: ORACLE INTERNATIONAL CORPORATIONInventor: Oleksandr Otenko
-
Patent number: 9185054Abstract: A system and method for providing a middleware machine or similar platform. In accordance with an embodiment the system (referred to herein in some implementations as “Exalogic”) comprises a combination of high performance hardware, together with an application server or middleware environment, to provide a complete Java EE application server complex which includes a massively parallel in-memory grid, can be provisioned quickly, and can scale on demand. In accordance with an embodiment, the system can be deployed as a full, half, or quarter rack, or other configuration, that provides an application server grid, storage area network, and InfiniBand network, which support the execution of an application server, middleware or other functionality such as, for example, WebLogic Server, JRockit or Hotspot JVM, Oracle Linux or Solaris, and Oracle VM. Additional features of the system can include, e.g. Zero Buffer Copies, Scatter/Gather I/O, T3 Connections, and Lazy Deserialization.Type: GrantFiled: September 15, 2011Date of Patent: November 10, 2015Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Naresh Revanuru, Ballav Bihani, Staffan Larsen, Steven Liu, Lenny Phan, Scott Oaks, Patrik Torstensson, Adam Messinger, Nathan Reynolds, Oleksandr Otenko, Joshua Dorr, Brad Cameron, Ola Torudbakken, Pallab Bhattacharya
-
Patent number: 9110715Abstract: A system and method can support a concurrent priority queue. The concurrent priority queue allows a plurality of threads to interact with the priority queue. The priority queue can use a sequencer to detect and order a plurality of threads that contend for one or more requests in the priority queue. Furthermore, the priority queue operates to reduce the contention among the plurality of threads.Type: GrantFiled: February 28, 2013Date of Patent: August 18, 2015Assignee: ORACLE INTERNATIONAL CORPORATIONInventor: Oleksandr Otenko
-
Publication number: 20150212794Abstract: A system and method can support queue processing in a computing environment. A lazy sorting priority queue in a concurrent system can include a priority queue and one or more buffers. The one or more buffers, which can be first-in first-out (FIFO) buffers, operate to store one or more requests received from one or more producers, and move at least one message to the priority queue when no consumer is waiting for processing a request. Furthermore, the priority queue operates to prioritize one or more incoming requests received from the one or more buffers, and allows one or more consumers to pick up the requests based on priority.Type: ApplicationFiled: January 29, 2014Publication date: July 30, 2015Applicant: Oracle International CorporationInventor: Oleksandr Otenko