Patents by Inventor David Michael Renie

David Michael Renie 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: 11615015
    Abstract: A trace anomaly grouping and visualization technique logically groups traces with anomalies to cases to enable software developers to monitor, diagnose and visualize the anomalies, as well as to solve the anomalies during application development and production. A client library of an investigative platform collects signals from traces (trace signal information). The technique organizes (groups) related trace signals of methods with anomalies (e.g., exceptions, performance abnormalities such as slowness) into datasets (denominated as “cases”) based on common cause for an anomaly and correlates the signals to identify a case. The collected information may be used to differentiate between root causes of the anomalies using a comparative visualization of traces displayed on a standard user interface of the investigative platform.
    Type: Grant
    Filed: July 16, 2020
    Date of Patent: March 28, 2023
    Assignee: Metawork Corporation
    Inventors: David Michael Renie, Nicholas DeMonner, David Marcin, Margaret Henry
  • Publication number: 20230091719
    Abstract: A visualization technique provides a user interface (UI) configured to display a recording of code execution in an intuitive manner that allows a user to walk-through and visually render the recorded code execution. The recording includes trace and application data embodied as one or more frames corresponding to invocations of code and associated values as captured during code execution. The UI displays the captured recording of code execution in the form of a call graph that illustrates the frames along with their corresponding methods and values, in context. By selecting a frame, the execution of code may be visualized on the UI in an organized manner across different methods invoked during execution of the code. The UI visualization feature of the technique provides a user with a concrete representation of code execution in an organized flow that enables the user to walk-through the recording in the same manner in which the code was executed.
    Type: Application
    Filed: September 23, 2021
    Publication date: March 23, 2023
    Inventors: Nicholas DeMonner, William Tachau, David Michael Renie, Justin Mezzell
  • Patent number: 11494284
    Abstract: A dynamic configuration trace capture technique enables software developers to monitor, diagnose and solve errors associated with application development and production. A client library of an investigative platform is loaded in a user application and interacts with an agent process to instrument executable code of the user application. A dynamic configuration specifies information, such as methods and associated arguments, variables and data (values), to instrument. The client library may re-load the dynamic configuration at the capture points, which may change the frequency of tracing a method and its associated information. The dynamic configuration may be defined per method, argument, variable, and/or data structure. The dynamic configuration may be initially deployed with default heuristics defined in the client library.
    Type: Grant
    Filed: July 15, 2020
    Date of Patent: November 8, 2022
    Assignee: Metawork Corporation
    Inventors: David Michael Renie, David Marcin, Nicholas DeMonner, Margaret Henry
  • Patent number: 11416376
    Abstract: An investigative platform enables software developers to monitor and diagnose anomalies associated with application development and production. A client library interacts with a separate agent to instrument executable code of a user application. The client library transfers executable code and trace information captured from the user application to the agent to isolate the capture from the executing user application. The agent buffers, examines, and performs further processing (such as compression) on the captured traces, and sends the information as substantially compressed traces to an analysis and persistent storage (APS) infrastructure. A consumer service loads the information into a durable message queue for processing by stages of an analysis pipeline of the APS infrastructure. Processing by the stages of the analysis pipeline results in findings, such as trace amalgamation into cases.
    Type: Grant
    Filed: July 19, 2020
    Date of Patent: August 16, 2022
    Assignee: Metawork Corporation
    Inventors: David Marcin, David Michael Renie, Nicholas DeMonner, Margaret Henry
  • Patent number: 11392483
    Abstract: A dynamic library replacement technique enables replacement of original functions or methods of application libraries based on analysis of traces captured by a client library of an investigative platform. Traces captured from the user application are analyzed to identify the original methods of the user application that may be replaced by the client library. The original methods may be identified based on estimated performance improvements determined from the analysis of the captured traces. The improved method replacements and estimated performance improvements may be graphically presented to a user via a user interface (UI) infrastructure of the investigative platform. Replacement of the improved methods may be defined in the dynamic configuration or interactively via the UI infrastructure and continued performance monitoring reported. The specific performance for any method may be monitored along with a fidelity of the monitored method.
    Type: Grant
    Filed: July 16, 2020
    Date of Patent: July 19, 2022
    Assignee: Metawork Corporation
    Inventors: Nicholas DeMonner, David Marcin, David Michael Renie, Margaret Henry
  • Patent number: 11354220
    Abstract: An instrumentation trace capture technique enables software developers to monitor, diagnose and solve errors associated with application development and production. A client library of an investigative platform is loaded in a user application executing on a virtual machine instance of a virtualized computing environment. The client library interacts with an agent of the platform to instrument executable code of the user application and, to that end, loads a capture configuration that specifies, inter alia, methods and associated arguments, variables and data structures (values), to instrument. The client library inspects the executable code to determine portions of the code to instrument based on the capture configuration, which describes a degree of fidelity (e.g., a frequency) of the executable code and data to trace at runtime. Capture points of the runtime application are implemented as callbacks to the client library, which are registered with a runtime system executing the user application.
    Type: Grant
    Filed: July 10, 2020
    Date of Patent: June 7, 2022
    Assignee: Metawork Corporation
    Inventors: Nicholas DeMonner, David Michael Renie, David Marcin, Margaret Henry
  • Patent number: 11327871
    Abstract: An instrumentation overhead regulation technique regulates an amount of work performed by a client library of an investigative platform used to monitor, diagnose and solve errors associated with application development and production. The client library calculates processing resources utilized during its runtime activity to enable adjustment of the amount of work it performs based on the measured activity. An agent may determine the overhead activity impact to user application performance by monitoring processing resource metrics of the user application. The agent analyzes the calculated overhead and processing resource metrics to render decisions to automatically regulate the capture fidelity of the client library. Regulation of the capture fidelity may be implemented by modifying parameters of a dynamic configuration.
    Type: Grant
    Filed: July 15, 2020
    Date of Patent: May 10, 2022
    Assignee: Metawork Corporation
    Inventors: David Marcin, Nicholas DeMonner, David Michael Renie, Margaret Henry
  • Publication number: 20220019510
    Abstract: A dynamic configuration trace capture technique enables software developers to monitor, diagnose and solve errors associated with application development and production. A client library of an investigative platform is loaded in a user application and interacts with an agent process to instrument executable code of the user application. A dynamic configuration specifies information, such as methods and associated arguments, variables and data (values), to instrument. The client library may re-load the dynamic configuration at the capture points, which may change the frequency of tracing a method and its associated information. The dynamic configuration may be defined per method, argument, variable, and/or data structure. The dynamic configuration may be initially deployed with default heuristics defined in the client library.
    Type: Application
    Filed: July 15, 2020
    Publication date: January 20, 2022
    Inventors: David Michael Renie, David Marcin, Nicholas DeMonner, Margaret Henry
  • Publication number: 20220019518
    Abstract: An investigative platform enables software developers to monitor and diagnose anomalies associated with application development and production. A client library interacts with a separate agent to instrument executable code of a user application. The client library transfers executable code and trace information captured from the user application to the agent to isolate the capture from the executing user application. The agent buffers, examines, and performs further processing (such as compression) on the captured traces, and sends the information as substantially compressed traces to an analysis and persistent storage (APS) infrastructure. A consumer service loads the information into a durable message queue for processing by stages of an analysis pipeline of the APS infrastructure. Processing by the stages of the analysis pipeline results in findings, such as trace amalgamation into cases.
    Type: Application
    Filed: July 19, 2020
    Publication date: January 20, 2022
    Inventors: David Marcin, David Michael Renie, Nicholas DeMonner, Margaret Henry
  • Publication number: 20220019512
    Abstract: A trace anomaly grouping and visualization technique logically groups traces with anomalies to cases to enable software developers to monitor, diagnose and visualize the anomalies, as well as to solve the anomalies during application development and production. A client library of an investigative platform collects signals from traces (trace signal information). The technique organizes (groups) related trace signals of methods with anomalies (e.g., exceptions, performance abnormalities such as slowness) into datasets (denominated as “cases”) based on common cause for an anomaly and correlates the signals to identify a case. The collected information may be used to differentiate between root causes of the anomalies using a comparative visualization of traces displayed on a standard user interface of the investigative platform.
    Type: Application
    Filed: July 16, 2020
    Publication date: January 20, 2022
    Inventors: David Michael Renie, Nicholas DeMonner, David Marcin, Margaret Henry
  • Publication number: 20220019511
    Abstract: An instrumentation overhead regulation technique regulates an amount of work performed by a client library of an investigative platform used to monitor, diagnose and solve errors associated with application development and production. The client library calculates processing resources utilized during its runtime activity to enable adjustment of the amount of work it performs based on the measured activity. An agent may determine the overhead activity impact to user application performance by monitoring processing resource metrics of the user application. The agent analyzes the calculated overhead and processing resource metrics to render decisions to automatically regulate the capture fidelity of the client library. Regulation of the capture fidelity may be implemented by modifying parameters of a dynamic configuration.
    Type: Application
    Filed: July 15, 2020
    Publication date: January 20, 2022
    Inventors: David Marcin, Nicholas DeMonner, David Michael Renie, Margaret Henry
  • Publication number: 20220019517
    Abstract: A dynamic library replacement technique enables replacement of original functions or methods of application libraries based on analysis of traces captured by a client library of an investigative platform. Traces captured from the user application are analyzed to identify the original methods of the user application that may be replaced by the client library. The original methods may be identified based on estimated performance improvements determined from the analysis of the captured traces. The improved method replacements and estimated performance improvements may be graphically presented to a user via a user interface (UI) infrastructure of the investigative platform. Replacement of the improved methods may be defined in the dynamic configuration or interactively via the UI infrastructure and continued performance monitoring reported. The specific performance for any method may be monitored along with a fidelity of the monitored method.
    Type: Application
    Filed: July 16, 2020
    Publication date: January 20, 2022
    Inventors: Nicholas DeMonner, David Marcin, David Michael Renie, Margaret Henry
  • Publication number: 20220012160
    Abstract: An instrumentation trace capture technique enables software developers to monitor, diagnose and solve errors associated with application development and production. A client library of an investigative platform is loaded in a user application executing on a virtual machine instance of a virtualized computing environment. The client library interacts with an agent of the platform to instrument executable code of the user application and, to that end, loads a capture configuration that specifies, inter alia, methods and associated arguments, variables and data structures (values), to instrument. The client library inspects the executable code to determine portions of the code to instrument based on the capture configuration, which describes a degree of fidelity (e.g., a frequency) of the executable code and data to trace at runtime. Capture points of the runtime application are implemented as callbacks to the client library, which are registered with a runtime system executing the user application.
    Type: Application
    Filed: July 10, 2020
    Publication date: January 13, 2022
    Inventors: Nicholas DeMonner, David Michael Renie, David Marcin, Margaret Henry
  • Publication number: 20220012161
    Abstract: An instrumentation trace capture technique enables software developers to monitor, diagnose and solve errors associated with application development and production. A client library of an investigative platform is loaded in a user application executing on a virtual machine instance of a virtualized computing environment. The client library interacts with an agent of the platform to instrument executable code of the user application and, to that end, loads a capture configuration that specifies, inter alia, methods and associated arguments, variables and data structures (values), to instrument. The client library inspects the executable code to determine portions of the code to instrument based on the capture configuration, which describes a degree of fidelity (e.g., a frequency) of the executable code and data to trace at runtime. Capture points of the runtime application are implemented as callbacks to the client library, which are registered with a runtime system executing the user application.
    Type: Application
    Filed: July 12, 2021
    Publication date: January 13, 2022
    Inventors: Nicholas DeMonner, David Michael Renie, David Marcin, Margaret Henry
  • Patent number: 10114524
    Abstract: Providing, by operation of a computer, instructions causing a user computing device to present a carousel graphical user interface. The carousel graphical user interface includes a carousel region occupying less than all the display area of the user computing device and comprising multiple frames. Each frame is sized such that at least one, and less than all, of the frames are displayed simultaneously in the carousel region. Each frame is operable to receive selection via an input to the carousel graphical user interface of the user computing device. At least one frame includes content indicating an item from a set of one or more second items available for delivery; each second item in the set being swappable with a first item corresponding to a first item identifier of an order. The carousel region is navigable via user input to the graphical user interface to display each frame in the plurality of frames.
    Type: Grant
    Filed: January 1, 2016
    Date of Patent: October 30, 2018
    Assignee: GOOGLE LLC
    Inventors: Adnan Virk, Beverly Tseng Yen Chieh Freeman, Siddhartha Parmar, Claire Evelyn Balgemann, David Michael Renie, Charmaigne Lu, David Marcin, Nicolas Fernando Cabrera, Dhruv Manek
  • Patent number: 10110727
    Abstract: A system for managing event streams is provided that includes a volatile memory, a non-volatile memory, and a processor. The volatile memory is configured to store, for each of a plurality of event streams associated with the client device, metadata indicative of events not yet delivered to a client device and the content associated with only a most recent event of the event stream. The non-volatile memory is configured to store the content associated with each of undelivered events. The processor is configured to, upon receiving a request from the client device, retrieve from the volatile memory, without accessing the non-volatile memory, data indicative of a current state of an event stream associated with the client device. The processor is further configured to deliver the retrieved data indicative of the current state of the event stream.
    Type: Grant
    Filed: December 14, 2017
    Date of Patent: October 23, 2018
    Assignee: GOOGLE LLC
    Inventors: Jason Prado, David Michael Renie, Basel Al-Naffouri, Eahab Ibrahim, John Pongsajapan
  • Publication number: 20180109670
    Abstract: A system for managing event streams is provided that includes a volatile memory, a non-volatile memory, and a processor. The volatile memory is configured to store, for each of a plurality of event streams associated with the client device, metadata indicative of events not yet delivered to a client device and the content associated with only a most recent event of the event stream. The non-volatile memory is configured to store the content associated with each of undelivered events. The processor is configured to, upon receiving a request from the client device, retrieve from the volatile memory, without accessing the non-volatile memory, data indicative of a current state of an event stream associated with the client device. The processor is further configured to deliver the retrieved data indicative of the current state of the event stream.
    Type: Application
    Filed: December 14, 2017
    Publication date: April 19, 2018
    Applicant: Google LLC
    Inventors: Jason Prado, David Michael Renie, Basel Al-Naffouri, Eahab Ibrahim, John Pongsajapan
  • Patent number: 9876894
    Abstract: A system for managing event streams is provided that includes a volatile memory, a non-volatile memory, and a processor. The volatile memory is configured to store, for each of a plurality of event streams associated with the client device, metadata indicative of events not yet delivered to a client device and the content associated with only a most recent event of the event stream. The non-volatile memory is configured to store the content associated with each of undelivered events. The processor is configured to, upon receiving a request from the client device, retrieve from the volatile memory, without accessing the non-volatile memory, data indicative of a current state of an event stream associated with the client device. The processor is further configured to deliver the retrieved data indicative of the current state of the event stream.
    Type: Grant
    Filed: March 6, 2017
    Date of Patent: January 23, 2018
    Assignee: Google LLC
    Inventors: Jason Prado, David Michael Renie, Basel Al-Naffouri, Eahab Ibrahim, John Pongsajapan
  • Publication number: 20170192626
    Abstract: Providing, by operation of a computer, instructions causing a user computing device to present a carousel graphical user interface. The carousel graphical user interface includes a carousel region occupying less than all the display area of the user computing device and comprising multiple frames. Each frame is sized such that at least one, and less than all, of the frames are displayed simultaneously in the carousel region. Each frame is operable to receive selection via an input to the carousel graphical user interface of the user computing device. At least one frame includes content indicating an item from a set of one or more second items available for delivery; each second item in the set being swappable with a first item corresponding to a first item identifier of an order. The carousel region is navigable via user input to the graphical user interface to display each frame in the plurality of frames.
    Type: Application
    Filed: January 1, 2016
    Publication date: July 6, 2017
    Inventors: Adnan Virk, Beverly Freeman, Siddhartha Parmar, Claire Evelyn Balgemann, David Michael Renie, Charmaigne Lu, David Marcin, Nicolas Fernando Cabrera, Dhruv Manek
  • Publication number: 20170180541
    Abstract: A system for managing event streams is provided that includes a volatile memory, a non-volatile memory, and a processor. The volatile memory is configured to store, for each of a plurality of event streams associated with the client device, metadata indicative of events not yet delivered to a client device and the content associated with only a most recent event of the event stream. The non-volatile memory is configured to store the content associated with each of undelivered events. The processor is configured to, upon receiving a request from the client device, retrieve from the volatile memory, without accessing the non-volatile memory, data indicative of a current state of an event stream associated with the client device. The processor is further configured to deliver the retrieved data indicative of the current state of the event stream.
    Type: Application
    Filed: March 6, 2017
    Publication date: June 22, 2017
    Applicant: Google Inc.
    Inventors: Jason Prado, David Michael Renie, Basel Al-Naffouri, Eahab Ibrahim, John Pongsajapan