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: 11822924
    Abstract: 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: Grant
    Filed: August 24, 2021
    Date of Patent: November 21, 2023
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventor: Oleksandr Otenko
  • Patent number: 11671512
    Abstract: 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: Grant
    Filed: October 27, 2021
    Date of Patent: June 6, 2023
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventor: Oleksandr Otenko
  • Patent number: 11656850
    Abstract: 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: Grant
    Filed: October 27, 2021
    Date of Patent: May 23, 2023
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventor: Oleksandr Otenko
  • Publication number: 20220137931
    Abstract: 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: Application
    Filed: October 27, 2021
    Publication date: May 5, 2022
    Inventor: OLEKSANDR OTENKO
  • Publication number: 20220141301
    Abstract: 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: Application
    Filed: October 27, 2021
    Publication date: May 5, 2022
    Inventor: OLEKSANDR OTENKO
  • Publication number: 20220076210
    Abstract: 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: Application
    Filed: August 24, 2021
    Publication date: March 10, 2022
    Inventor: OLEKSANDR OTENKO
  • Publication number: 20220075623
    Abstract: 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: Application
    Filed: August 24, 2021
    Publication date: March 10, 2022
    Inventor: OLEKSANDR OTENKO
  • Patent number: 11269692
    Abstract: 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: Grant
    Filed: March 26, 2019
    Date of Patent: March 8, 2022
    Assignee: Oracle International Corporation
    Inventor: Oleksandr Otenko
  • Patent number: 10482064
    Abstract: 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: Grant
    Filed: June 26, 2012
    Date of Patent: November 19, 2019
    Assignee: Oracle International Corporations
    Inventors: Mikhail A. Dmitriev, Nathan L. Reynolds, Oleksandr Otenko
  • Publication number: 20190220327
    Abstract: 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: Application
    Filed: March 26, 2019
    Publication date: July 18, 2019
    Applicant: Oracle International Corporation
    Inventor: Oleksandr Otenko
  • Patent number: 10310915
    Abstract: 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: Grant
    Filed: January 9, 2017
    Date of Patent: June 4, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventor: Oleksandr Otenko
  • Patent number: 10095562
    Abstract: 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: Grant
    Filed: February 28, 2013
    Date of Patent: October 9, 2018
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventor: Oleksandr Otenko
  • Publication number: 20170123861
    Abstract: 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: Application
    Filed: January 9, 2017
    Publication date: May 4, 2017
    Applicant: Oracle International Corporation
    Inventor: Oleksandr Otenko
  • Patent number: 9588733
    Abstract: 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: Grant
    Filed: January 29, 2014
    Date of Patent: March 7, 2017
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventor: Oleksandr Otenko
  • Patent number: 9542236
    Abstract: 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: Grant
    Filed: December 29, 2011
    Date of Patent: January 10, 2017
    Assignee: Oracle International Corporation
    Inventor: Oleksandr Otenko
  • Patent number: 9495392
    Abstract: 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: Grant
    Filed: May 28, 2014
    Date of Patent: November 15, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Nathan Reynolds, Oleksandr Otenko, Joshua Dorr
  • Patent number: 9378045
    Abstract: 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: Grant
    Filed: February 28, 2013
    Date of Patent: June 28, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventor: Oleksandr Otenko
  • Patent number: 9185054
    Abstract: 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: Grant
    Filed: September 15, 2011
    Date of Patent: November 10, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: 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: 9110715
    Abstract: 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: Grant
    Filed: February 28, 2013
    Date of Patent: August 18, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventor: Oleksandr Otenko
  • Publication number: 20150212794
    Abstract: 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: Application
    Filed: January 29, 2014
    Publication date: July 30, 2015
    Applicant: Oracle International Corporation
    Inventor: Oleksandr Otenko