Patents by Inventor David Marcin
David Marcin 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: 11615015Abstract: 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: GrantFiled: July 16, 2020Date of Patent: March 28, 2023Assignee: Metawork CorporationInventors: David Michael Renie, Nicholas DeMonner, David Marcin, Margaret Henry
-
Patent number: 11494284Abstract: 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: GrantFiled: July 15, 2020Date of Patent: November 8, 2022Assignee: Metawork CorporationInventors: David Michael Renie, David Marcin, Nicholas DeMonner, Margaret Henry
-
Patent number: 11416376Abstract: 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: GrantFiled: July 19, 2020Date of Patent: August 16, 2022Assignee: Metawork CorporationInventors: David Marcin, David Michael Renie, Nicholas DeMonner, Margaret Henry
-
Patent number: 11392483Abstract: 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: GrantFiled: July 16, 2020Date of Patent: July 19, 2022Assignee: Metawork CorporationInventors: Nicholas DeMonner, David Marcin, David Michael Renie, Margaret Henry
-
Patent number: 11354220Abstract: 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: GrantFiled: July 10, 2020Date of Patent: June 7, 2022Assignee: Metawork CorporationInventors: Nicholas DeMonner, David Michael Renie, David Marcin, Margaret Henry
-
Patent number: 11327871Abstract: 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: GrantFiled: July 15, 2020Date of Patent: May 10, 2022Assignee: Metawork CorporationInventors: David Marcin, Nicholas DeMonner, David Michael Renie, Margaret Henry
-
Publication number: 20220019510Abstract: 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: ApplicationFiled: July 15, 2020Publication date: January 20, 2022Inventors: David Michael Renie, David Marcin, Nicholas DeMonner, Margaret Henry
-
Publication number: 20220019518Abstract: 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: ApplicationFiled: July 19, 2020Publication date: January 20, 2022Inventors: David Marcin, David Michael Renie, Nicholas DeMonner, Margaret Henry
-
Publication number: 20220019517Abstract: 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: ApplicationFiled: July 16, 2020Publication date: January 20, 2022Inventors: Nicholas DeMonner, David Marcin, David Michael Renie, Margaret Henry
-
Publication number: 20220019512Abstract: 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: ApplicationFiled: July 16, 2020Publication date: January 20, 2022Inventors: David Michael Renie, Nicholas DeMonner, David Marcin, Margaret Henry
-
Publication number: 20220019511Abstract: 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: ApplicationFiled: July 15, 2020Publication date: January 20, 2022Inventors: David Marcin, Nicholas DeMonner, David Michael Renie, Margaret Henry
-
Publication number: 20220012161Abstract: 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: ApplicationFiled: July 12, 2021Publication date: January 13, 2022Inventors: Nicholas DeMonner, David Michael Renie, David Marcin, Margaret Henry
-
Publication number: 20220012160Abstract: 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: ApplicationFiled: July 10, 2020Publication date: January 13, 2022Inventors: Nicholas DeMonner, David Michael Renie, David Marcin, Margaret Henry
-
Publication number: 20210049685Abstract: Systems and methods for managing cryptocurrency. Cryptocurrency can be managed for borrowing, margin trading, and/or use as collateral. Cryptocurrency data can be monitored and validated for identifying events and performing actions related to management of cryptocurrency.Type: ApplicationFiled: August 6, 2020Publication date: February 18, 2021Inventors: William Tachau, Nicholas DeMonner, David Marcin
-
Patent number: 10114524Abstract: 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: GrantFiled: January 1, 2016Date of Patent: October 30, 2018Assignee: GOOGLE LLCInventors: Adnan Virk, Beverly Tseng Yen Chieh Freeman, Siddhartha Parmar, Claire Evelyn Balgemann, David Michael Renie, Charmaigne Lu, David Marcin, Nicolas Fernando Cabrera, Dhruv Manek
-
Publication number: 20180246978Abstract: Implementations provide an interface for initiating actions related to content displayed on a mobile device. A method includes performing recognition on data from input devices of a mobile device and identifying a plurality of entities in the data. The method may include determine an entity of interest of the plurality of entities by scoring each of the plurality of entities and selecting the entity with the highest score as the entity of interest. The scoring can be based on user query data or global query data. The method may also include determining attributes associated with the entity of interest and displaying the entity of interest and one or more of the determined attributes on the computing device.Type: ApplicationFiled: May 1, 2018Publication date: August 30, 2018Inventors: David Marcin, Rajan Patel
-
Patent number: 9965559Abstract: Implementations provide an interface for initiating actions related to content the user is viewing on a mobile device. A method includes performing recognition on content captured from a display of a mobile device and identifying a plurality of entities in the content. The method may include issuing a query for each of the plurality of entities, ranking the plurality of entities based on the search results, generating an action card for at least some of the highest ranked entities, and providing the action cards for display on the mobile device. Alternatively or additionally, the method may include determining at least one contact in a contacts data store that corresponds to an entity and generating an action card for the entity, the action card having a first action that uses first information from the contacts data store and a second action that uses second information from the contacts data store.Type: GrantFiled: August 21, 2014Date of Patent: May 8, 2018Assignee: GOOGLE LLCInventors: David Marcin, Rajan Patel
-
Publication number: 20170192626Abstract: 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: ApplicationFiled: January 1, 2016Publication date: July 6, 2017Inventors: Adnan Virk, Beverly Freeman, Siddhartha Parmar, Claire Evelyn Balgemann, David Michael Renie, Charmaigne Lu, David Marcin, Nicolas Fernando Cabrera, Dhruv Manek
-
Publication number: 20160055246Abstract: Implementations provide an interface for initiating actions related to content the user is viewing on a mobile device. A method includes performing recognition on content captured from a display of a mobile device and identifying a plurality of entities in the content. The method may include issuing a query for each of the plurality of entities, ranking the plurality of entities based on the search results, generating an action card for at least some of the highest ranked entities, and providing the action cards for display on the mobile device. Alternatively or additionally, the method may include determining at least one contact in a contacts data store that corresponds to an entity and generating an action card for the entity, the action card having a first action that uses first information from the contacts data store and a second action that uses second information from the contacts data store.Type: ApplicationFiled: August 21, 2014Publication date: February 25, 2016Inventors: David Marcin, Rajan Patel
-
Publication number: 20090076886Abstract: A first query including one or more keywords is received, and content associated with the one or more keywords is identified. A second query including the one or more keywords is received, and a product or service associated with the sponsored content is identified based on the one or more keywords. Information associated with the product/service is stored, and a selection is received from a display device indicating a request to display the information associated with the product/service. The information associated with the product/service is provided to the display device.Type: ApplicationFiled: September 20, 2007Publication date: March 19, 2009Applicant: Google Inc.Inventors: Daniel Dulitz, Alexandra Baugher, David Marcin, Radha Narayan