Patents by Inventor Alexander Vladimirovich Slesarenko

Alexander Vladimirovich Slesarenko 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: 11934422
    Abstract: An apparatus for extracting data from a database for object initialization, and apparatus for writing object data to a database, and corresponding methods are provided. A data extraction kernel on the native-side reads database data from a plurality of locations in the database using a database interface and writes the database data to a buffer using a native-side buffer API (application programming interface). An object initialization kernel on the virtual machine (VM-) side reads the database data from the buffer using a native-side buffer API and initializes a plurality of objects. Information indicating one of the plural memory regions in the buffer where the data extraction kernel writes the database data is known to the native-side buffer API and to the VM-side buffer API. According to the application, fast and memory efficient data exchange between a native side and VM side is achieved.
    Type: Grant
    Filed: August 31, 2020
    Date of Patent: March 19, 2024
    Assignee: Huawei Technologies Co., Ltd.
    Inventors: Alexander Vladimirovich Slesarenko, Junchao Ma
  • Patent number: 11016777
    Abstract: A data processing device configured to provide access to a stream of data elements to a consumer. The data processing device is further configured to generate a data stream source by generating a first instance of a stream providing module such that the stream providing module provides the data stream in one of a push-mode and a pull-mode, wherein, in the push mode, the first instance of the stream providing module provides elements of the data stream according to a predefined schedule, wherein, in the pull mode, the first instance of the stream providing module provides elements of the data stream after receiving a data stream request from a consumer. Such a data processing device may provide the benefit of versatility as it can be transformed to both push and pull computation patterns.
    Type: Grant
    Filed: May 18, 2018
    Date of Patent: May 25, 2021
    Assignee: HUAWEI TECHNOLOGIES CO., LTD.
    Inventors: Dmitry Vyacheslavovich Bushev, Alexander Vladimirovich Slesarenko, Yuriy Alexandrovich Zotov
  • Patent number: 10896029
    Abstract: The disclosure relates to a method for constructing a graph data structure as an intermediate representation of source code for a compiler configured for compiling the source code into executable machine code running on a processor of a computer system, wherein program operations of the source code are represented in an object-oriented programming language by objects of classes that form a hierarchy growing from a base node class of the graph data structure, the method comprising: producing new nodes of the graph data structure by calling factory methods associated with existing nodes of the graph data structure based on a factory method design pattern implemented in the nodes of the graph data structure, wherein the nodes of the graph data structure are identified by symbols; and using the symbols as proxies of the nodes of the graph data structure according to a proxy design pattern.
    Type: Grant
    Filed: January 22, 2016
    Date of Patent: January 19, 2021
    Assignee: HUAWEI TECHNOLOGIES CO., LTD.
    Inventors: Alexander Vladimirovich Slesarenko, Anton Yurievich Orlov, Hongbo Zhang
  • Publication number: 20200394202
    Abstract: An apparatus for extracting data from a database for object initialization, and apparatus for writing object data to a database, and corresponding methods are provided. A data extraction kernel on the native-side reads database data from a plurality of locations in the database using a database interface and writes the database data to a buffer using a native-side buffer API (application programming interface). An object initialization kernel on the virtual machine (VM-)side reads the database data from the buffer using a native-side buffer API and initializes a plurality of objects. Information indicating one of the plural memory regions in the buffer where the data extraction kernel writes the database data is known to the native-side buffer API and to the VM-side buffer API. According to the application, fast and memory efficient data exchange between a native side and VM side is achieved.
    Type: Application
    Filed: August 31, 2020
    Publication date: December 17, 2020
    Inventors: Alexander Vladimirovich SLESARENKO, Junchao MA
  • Patent number: 10365902
    Abstract: The invention relates to a method for compiling a source code to a program code, the method comprising: providing a pattern graph based on the source code, the pattern graph corresponding to an intermediate representation of the source code according to a set of rules in a first programming language, wherein the set of rules comprises a specific replacement rule directing a pattern graph to be replaced by a corresponding replacement graph assigned to the pattern graph, replacing the pattern graph by the replacement graph assigned to the pattern graph, and generating the program code based on the replacement graph.
    Type: Grant
    Filed: February 28, 2017
    Date of Patent: July 30, 2019
    Assignee: Huawei Technologies Co., Ltd.
    Inventors: Alexander Vladimirovich Slesarenko, Alexey Romanov, Hongbo Zhang
  • Patent number: 10162679
    Abstract: A method for assigning a computational block of a software program to cores of a multi-processor system includes: evaluating a first number of available cores of a first type of the multi-processor system and a second number of available cores of a second type of the multi-processor system; determining a first number of loops of the computational block for binding with the cores of the first type and a second number of loops of the computational block for binding with the cores of the second type; binding the first number of loops with the cores of the first type and binding the second number of loops with the cores of the second type; and executing the loops of the computational block according to the binding.
    Type: Grant
    Filed: April 1, 2016
    Date of Patent: December 25, 2018
    Assignee: Huawei Technologies Co., Ltd.
    Inventors: Mikhail Petrovich Levin, Alexander Vladimirovich Slesarenko, Hongbo Zhang
  • Publication number: 20180267808
    Abstract: A data processing device configured to provide access to a stream of data elements to a consumer. The data processing device is further configured to generate a data stream source by generating a first instance of a stream providing module such that the stream providing module provides the data stream in one of a push-mode and a pull-mode, wherein, in the push mode, the first instance of the stream providing module provides elements of the data stream according to a predefined schedule, wherein, in the pull mode, the first instance of the stream providing module provides elements of the data stream after receiving a data stream request from a consumer. Such a data processing device may provide the benefit of versatility as it can be transformed to both push and pull computation patterns.
    Type: Application
    Filed: May 18, 2018
    Publication date: September 20, 2018
    Inventors: Dmitry Vyacheslavovich Bushev, Alexander Vladimirovich Slesarenko, Yuriy Alexandrovich Zotov
  • Publication number: 20170177313
    Abstract: The invention relates to a method for compiling a source code to a program code, the method comprising: providing a pattern graph based on the source code, the pattern graph corresponding to an intermediate representation of the source code according to a set of rules in a first programming language, wherein the set of rules comprises a specific replacement rule directing a pattern graph to be replaced by a corresponding replacement graph assigned to the pattern graph, replacing the pattern graph by the replacement graph assigned to the pattern graph, and generating the program code based on the replacement graph.
    Type: Application
    Filed: February 28, 2017
    Publication date: June 22, 2017
    Inventors: Alexander Vladimirovich SLESARENKO, Alexey ROMANOV, Hongbo ZHANG
  • Publication number: 20160239348
    Abstract: The invention relates to a method (500) for assigning a computational block of a software program to cores of a multi-processor system, the method (500) comprising: evaluating (501) a first number of available cores of a first type of the multi-processor system and a second number of available cores of a second type of the multi-processor system; determining (502) a first number of loops of the computational block for binding with the cores of the first type and a second number of loops of the computational block for binding with the cores of the second type; binding (503) the first number of loops with the cores of the first type and binding the second number of loops with the cores of the second type; and executing (504) the loops of the computational block according to the binding (503).
    Type: Application
    Filed: April 1, 2016
    Publication date: August 18, 2016
    Inventors: Mikhail Petrovich LEVIN, Alexander Vladimirovich SLESARENKO, Hongbo ZHANG
  • Publication number: 20160139894
    Abstract: The disclosure relates to a method for constructing a graph data structure as an intermediate representation of source code for a compiler configured for compiling the source code into executable machine code running on a processor of a computer system, wherein program operations of the source code are represented in an object-oriented programming language by objects of classes that form a hierarchy growing from a base node class of the graph data structure, the method comprising: producing new nodes of the graph data structure by calling factory methods associated with existing nodes of the graph data structure based on a factory method design pattern implemented in the nodes of the graph data structure, wherein the nodes of the graph data structure are identified by symbols; and using the symbols as proxies of the nodes of the graph data structure according to a proxy design pattern.
    Type: Application
    Filed: January 22, 2016
    Publication date: May 19, 2016
    Applicant: HUAWEI TECHNOLOGIES CO., LTD.
    Inventors: Alexander Vladimirovich Slesarenko, Anton Yurievich Orlov, Hongbo Zhang