Patents by Inventor Ulrich Bestfleisch

Ulrich Bestfleisch 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: 11347682
    Abstract: A system and method providing database level migration of an application and associated data. In one embodiment, the method may include deploying a new data structure, a first database trigger to capture data written to an old data structure and to write the captured data to the new data structure, and a bulk migration stored procedure to a database instance; deploying, in response to a conclusion of an execution of the bulk migration stored procedure, a second database trigger to the database instance to capture data written to the new data structure and to write the captured data to the old data structure; deploying a second version of the application; routing validation data to the second version of the application to validate an expected operation thereof; and routing, in response to a completion of the validation, production data for the database instance to the second version of the application.
    Type: Grant
    Filed: September 14, 2020
    Date of Patent: May 31, 2022
    Assignee: SAP SE
    Inventor: Ulrich Bestfleisch
  • Publication number: 20220083502
    Abstract: A system and method providing database level migration of an application and associated data. In one embodiment, the method may include deploying a new data structure, a first database trigger to capture data written to an old data structure and to write the captured data to the new data structure, and a bulk migration stored procedure to a database instance; deploying, in response to a conclusion of an execution of the bulk migration stored procedure, a second database trigger to the database instance to capture data written to the new data structure and to write the captured data to the old data structure; deploying a second version of the application; routing validation data to the second version of the application to validate an expected operation thereof; and routing, in response to a completion of the validation, production data for the database instance to the second version of the application.
    Type: Application
    Filed: September 14, 2020
    Publication date: March 17, 2022
    Inventor: Ulrich Bestfleisch
  • Patent number: 11256501
    Abstract: Provided is a system and method for providing a single entry point for integrating software extensions across different software application. In one example, the method may include receiving, via a unified extensibility entry point, an indication that a first software artifact of a first software application is being locally extended, identifying one or more other software artifacts in one or more other software applications that are capable of being cross-extended based on the local extension of the first software artifact in the first software application, and displaying, via a user interface, information about the one or more other software artifacts that are capable of being cross-extended.
    Type: Grant
    Filed: April 16, 2019
    Date of Patent: February 22, 2022
    Assignee: SAP SE
    Inventor: Ulrich Bestfleisch
  • Patent number: 11093222
    Abstract: Some embodiments provide a non-transitory machine-readable medium that stores a program. The program receives a data model definition defined using a human-readable syntax. The data model definition includes a set of annotated entity definitions. The program further generates a machine-readable representation of the data model definition. Based on the data model definition, the program also generates, for each annotated entity definition in the set of annotated entity definitions, an interface and an implementation class from the machine-readable representation of the data model definition. The program further provides the set of interfaces and the set of implementation classes to an integrated development environment (IDE) application for design-time implementation of the set of interfaces and the set of implementation classes.
    Type: Grant
    Filed: February 26, 2019
    Date of Patent: August 17, 2021
    Assignee: SAP SE
    Inventors: Oliver Klemenz, Tim Philipp Trabold, Ulrich Bestfleisch
  • Patent number: 11093220
    Abstract: Some embodiments provide a non-transitory machine-readable medium that stores a program. The program receives a data model definition defined using a human-readable syntax. The program further generates a machine-readable representation of the data model definition. Based on the data model definition, the program also generates a set of interfaces from the machine-readable representation of the data model definition. Each interface in the set of interfaces includes code specified in a programming language. The program further provides the set of interfaces to an integrated development environment (IDE) application for design-time implementation of the set of interfaces.
    Type: Grant
    Filed: February 26, 2019
    Date of Patent: August 17, 2021
    Assignee: SAP SE
    Inventors: Oliver Klemenz, Tim Philipp Trabold, Ulrich Bestfleisch
  • Patent number: 11048480
    Abstract: A system and method providing a single entry point for implementing software extensions across multiple different software applications. In one embodiment, the method may include retrieving an indication of an extension point offered by a cloud application, the extension point being defined by a signature including a name and one or more parameters; generating one or more extension point implementations of the extension point by configuring custom code that fulfills the signature of the extension point; and sending, to the cloud application, an indication the extension point is active for requesting an execution of the one or more extension point implementations to be executed apart from the cloud application.
    Type: Grant
    Filed: March 23, 2020
    Date of Patent: June 29, 2021
    Assignee: SAP SE
    Inventors: Ulrich Bestfleisch, Eduard Stelle
  • Patent number: 11023445
    Abstract: Technologies described herein can be used to support modification to data by a client computing device without a concurrency check. An update to a data document can be received from a client computing device. Contents of the update can be analyzed to determine whether a concurrency check is required before applying the update to the data document. In at least some embodiments, at least part of the contents of the data document can be organized in such a way that multiple, independent modifications can be made to the contents of the data document without concurrency checks. A server computer can be configured to identify updates to these contents of the data document, and to apply the updates to the data document without performing concurrency checks. In at least some embodiments, a list of concurrency-safe data document properties can be accessed when determining whether to omit the concurrency check.
    Type: Grant
    Filed: July 24, 2018
    Date of Patent: June 1, 2021
    Assignee: SAP SE
    Inventor: Ulrich Bestfleisch
  • Publication number: 20200334034
    Abstract: Provided is a system and method for providing a single entry point for integrating software extensions across different software application. In one example, the method may include receiving, via a unified extensibility entry point, an indication that a first software artifact of a first software application is being locally extended, identifying one or more other software artifacts in one or more other software applications that are capable of being cross-extended based on the local extension of the first software artifact in the first software application, and displaying, via a user interface, information about the one or more other software artifacts that are capable of being cross-extended.
    Type: Application
    Filed: April 16, 2019
    Publication date: October 22, 2020
    Inventor: Ulrich Bestfleisch
  • Patent number: 10802810
    Abstract: A persistent library bundle (PLB) is added as a library of an application. The PLB is automatically downloaded from a central registry and installed in an application directory. The PLB provides an out-of-the-box functionality to the application. The PLB includes a PLB persistence description. The PLB persistence description specifies how runtime data of the PLB has to be persisted. Upon installation of the PLB to the application, the PLB persistence description is copied to an application database directory. The application database directory stores application persistence description and the PLB persistence description. The application persistence description and the PLB persistence description are assigned to a certain database schema.
    Type: Grant
    Filed: December 27, 2016
    Date of Patent: October 13, 2020
    Assignee: SAP SE
    Inventors: Oliver Klemenz, Ulrich Bestfleisch
  • Publication number: 20200272434
    Abstract: Some embodiments provide a non-transitory machine-readable medium that stores a program. The program receives a data model definition defined using a human-readable syntax. The program further generates a machine-readable representation of the data model definition. Based on the data model definition, the program also generates a set of interfaces from the machine-readable representation of the data model definition. Each interface in the set of interfaces includes code specified in a programming language. The program further provides the set of interfaces to an integrated development environment (IDE) application for design-time implementation of the set of interfaces.
    Type: Application
    Filed: February 26, 2019
    Publication date: August 27, 2020
    Inventors: Oliver Klemenz, Tim Philipp Trabold, Ulrich Bestfleisch
  • Publication number: 20200272438
    Abstract: Some embodiments provide a non-transitory machine-readable medium that stores a program. The program receives a data model definition defined using a human-readable syntax. The data model definition includes a set of annotated entity definitions. The program further generates a machine-readable representation of the data model definition. Based on the data model definition, the program also generates, for each annotated entity definition in the set of annotated entity definitions, an interface and an implementation class from the machine-readable representation of the data model definition. The program further provides the set of interfaces and the set of implementation classes to an integrated development environment (IDE) application for design-time implementation of the set of interfaces and the set of implementation classes.
    Type: Application
    Filed: February 26, 2019
    Publication date: August 27, 2020
    Inventors: Oliver Klemenz, Tim Philipp Trabold, Ulrich Bestfleisch
  • Patent number: 10606706
    Abstract: A computing device hosts a graphical user interface (GUI) of a computer application, the computer application being run on a backend computing platform accessible to the computing device via a network. The GUI includes multiple models in a Model-View-Controller (MVC) pattern, an eventing mechanism, and a model synchronizer. Each model in the GUI represents one or more application objects of the computer application. The eventing mechanism generates an application object change event when an application object of one of the multiple models in the GUI is changed to a new state. The model synchronizer listens to the generated application object change event, retrieves the new state of the application object, and locally updates other models of the multiple models in the GUI that also represent the application object with the new state of the application object.
    Type: Grant
    Filed: November 18, 2016
    Date of Patent: March 31, 2020
    Assignee: SAP SE
    Inventors: Ulrich Bestfleisch, Oliver Klemenz, Sergey Smirnov
  • Patent number: 10558663
    Abstract: Some embodiments provide a non-transitory machine-readable medium that stores a program. In response to receiving a first query for a set of data, the program generates a first query execution plan based on the first query. The program further executes the first query execution plan in order to generate a first result set comprising the set of data. The program also stores the first query execution plan in a cache. The program further replaces the first query execution plan in the cache with a second query execution plan. The second query execution plan includes a query hint applied to the first query execution plan. In response to receiving a second query for the set of data, the program also retrieves the second query execution plan from the cache. The program further executes the second query execution plan in order to generate a second result set comprising the set of data.
    Type: Grant
    Filed: March 30, 2017
    Date of Patent: February 11, 2020
    Assignee: SAP SE
    Inventor: Ulrich Bestfleisch
  • Publication number: 20200034438
    Abstract: Technologies described herein can be used to support modification to data by a client computing device without a concurrency check. An update to a data document can be received from a client computing device. Contents of the update can be analyzed to determine whether a concurrency check is required before applying the update to the data document. In at least some embodiments, at least part of the contents of the data document can be organized in such a way that multiple, independent modifications can be made to the contents of the data document without concurrency checks. A server computer can be configured to identify updates to these contents of the data document, and to apply the updates to the data document without performing concurrency checks. In at least some embodiments, a list of concurrency-safe data document properties can be accessed when determining whether to omit the concurrency check.
    Type: Application
    Filed: July 24, 2018
    Publication date: January 30, 2020
    Applicant: SAP SE
    Inventor: Ulrich Bestfleisch
  • Patent number: 10445157
    Abstract: An event bus is instantiated for subscribing applications for notifications in relation to cached results. The cached results may be associated with executed requests sent by the applications to services. It is determining whether a result value associated with a request from a first application to a remote service is cached. When the result value is blank, the first application is subscribed for an event associated with request parameters, defined with the request from the first application. A result event associated with caching the result value is published, e.g. at the event bus. The result value is determined based on executing a request sent by a second application, which defines the request parameters and is sent to the remote service prior to the request from the first application. A notification is provided to the first application with regards to the result event.
    Type: Grant
    Filed: May 18, 2017
    Date of Patent: October 15, 2019
    Assignee: SAP SE
    Inventor: Ulrich Bestfleisch
  • Patent number: 10430521
    Abstract: A method for internationalization of a computer application being designed and developed as cloud application in a platform-as-a-service (PaaS) environment includes disposing a translatable texts table in a data layer of the computer application as a common source of translatable texts for all layers of the computer application. The method further includes disposing a text string translation service in a logic layer of the computer application. to expose the translatable texts table disposed in the data layer to a presentation layer of the computer application.
    Type: Grant
    Filed: September 2, 2016
    Date of Patent: October 1, 2019
    Assignee: SAP SE
    Inventors: Ulrich Bestfleisch, Oliver Klemenz, Sebastian Schroetel, Sergey Smirnov, Veit Spaegele
  • Patent number: 10255049
    Abstract: Techniques are described for providing a non-blocking application object framework allowing parallelization of operation and function calls throughout an application executing within the framework. In one example, a dependency model associated with an application in a non-blocking application object framework is identified, where the application is associated with a plurality of operations and the dependency model defines at least one dependency between at least two of the operations. At runtime of the non-blocking application object framework, the identified dependency model is interpreted. An optimized execution plan of the application is automatically generated in the non-blocking application object framework based on the interpreted dependency model, wherein at least a first portion of the operations of the application are optimized in a sequential execution order based on dependencies defined in the dependency model.
    Type: Grant
    Filed: May 15, 2017
    Date of Patent: April 9, 2019
    Assignee: SAP SE
    Inventors: Oliver Klemenz, Ulrich Bestfleisch, Sebastian Schroetel, Veit Spaegele, Sergey Smirnov
  • Publication number: 20180336078
    Abstract: An event bus is instantiated for subscribing applications for notifications in relation to cached results. The cached results may be associated with executed requests sent by the applications to services. It is determining whether a result value associated with a request from a first application to a remote service is cached. When the result value is blank, the first application is subscribed for an event associated with request parameters, defined with the request from the first application. A result event associated with caching the result value is published, e.g. at the event bus. The result value is determined based on executing a request sent by a second application, which defines the request parameters and is sent to the remote service prior to the request from the first application. A notification is provided to the first application with regards to the result event.
    Type: Application
    Filed: May 18, 2017
    Publication date: November 22, 2018
    Inventor: Ulrich Bestfleisch
  • Publication number: 20180329697
    Abstract: Techniques are described for providing a non-blocking application object framework allowing parallelization of operation and function calls throughout an application executing within the framework. In one example, a dependency model associated with an application in a non-blocking application object framework is identified, where the application is associated with a plurality of operations and the dependency model defines at least one dependency between at least two of the operations. At runtime of the non-blocking application object framework, the identified dependency model is interpreted. An optimized execution plan of the application is automatically generated in the non-blocking application object framework based on the interpreted dependency model, wherein at least a first portion of the operations of the application are optimized in a sequential execution order based on dependencies defined in the dependency model.
    Type: Application
    Filed: May 15, 2017
    Publication date: November 15, 2018
    Inventors: Oliver Klemenz, Ulrich Bestfleisch, Sebastian Schroetel, Veit Spaegele, Sergey Smirnov
  • Publication number: 20180285416
    Abstract: Some embodiments provide a non-transitory machine-readable medium that stores a program. In response to receiving a first query for a set of data, the program generates a first query execution plan based on the first query. The program further executes the first query execution plan in order to generate a first result set comprising the set of data. The program also stores the first query execution plan in a cache. The program further replaces the first query execution plan in the cache with a second query execution plan. The second query execution plan includes a query hint applied to the first query execution plan. In response to receiving a second query for the set of data, the program also retrieves the second query execution plan from the cache. The program further executes the second query execution plan in order to generate a second result set comprising the set of data.
    Type: Application
    Filed: March 30, 2017
    Publication date: October 4, 2018
    Inventor: Ulrich Bestfleisch