Patents by Inventor Juan Carlos Arevalo Baeza

Juan Carlos Arevalo Baeza 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: 10481999
    Abstract: Techniques for processing recorded program data are described. In implementations, a trace module in a computing device processes instructions of a recorded program and generates a trace file for program optimization. In implementations, the trace module records a subset of a received program for inclusion in the trace file. The computing device can also or instead be implemented to gather and initiate analysis of application data proactively and without user initiation.
    Type: Grant
    Filed: December 5, 2016
    Date of Patent: November 19, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jordi Mola, Juan Carlos Arevalo Baeza, Darek Josip Mihocka
  • Publication number: 20190332520
    Abstract: Described technologies support selectively tracing a process's execution, with some extra tracing done beyond the code the developer wanted traced, but with significantly reduced computational cost, by reducing the number of trace enablement and disablement operations. A trace controller uses a tracing disablement distance variable whose values indicate the computational distance from trace disablement. A distance variable modifier automatically moves the distance variable closer to a stop-tracing value as the process executes. A create task function is modified to include the setting of an indicator that a newly created task is to be traced if a current task or thread is being traced. An execute task function is modified to request the tracing of the newly created task when it is executed based on the indicator, thereby enabling selective tracing that operates across process boundaries and traces asynchronous code execution.
    Type: Application
    Filed: October 29, 2018
    Publication date: October 31, 2019
    Inventors: Del MYERS, Thomas LAI, Patrick NELSON, Jordi MOLA, Juan Carlos AREVALO BAEZA, Stephen Harris TOUB
  • Publication number: 20190332519
    Abstract: Expressly turning tracing on and off at each juncture between code that a developer wants to have traced and other code may reduce trace file size but adds computational cost. Described technologies support selectively tracing a process's execution, with some extra tracing done beyond the code the developer wanted traced, but with significantly reduced computational cost, by reducing the number of trace enablement and disablement operations. A trace controller uses a tracing disablement distance variable whose values indicate the computational distance from trace disablement. A distance variable modifier automatically moves the distance variable closer to a stop-tracing value as the process executes. The amount of extra tracing is balanced against the reduction in trace enablement/disablement operations by tuning thresholds, based on information about routine size and computational cost.
    Type: Application
    Filed: April 27, 2018
    Publication date: October 31, 2019
    Inventors: Del MYERS, Jackson DAVIS, Thomas LAI, Patrick NELSON, Jordi MOLA, Juan Carlos AREVALO BAEZA
  • Publication number: 20190325980
    Abstract: Described technologies extend the information available from an execution trace of a program by providing heuristically-derived values for memory contents when the trace does not include data expressly showing the value of a memory cell at a particular execution time. Various heuristics are described. The heuristics may use information about the memory cell at other times to produce the derived value. Some heuristics use other trace data, such as whether the memory cell is in a stack, whether there are gaps in the trace, or whether garbage collection or compilation occurred near the time in question. Grounds for the derived value are reported along with the derived value. A time-travel debugger or other program analysis tool can then present the derived values to users, or make other use of the derived values and grounds to assist debugging and other efforts to improve the functioning of a computing system.
    Type: Application
    Filed: April 23, 2018
    Publication date: October 24, 2019
    Inventors: Patrick NELSON, Jackson DAVIS, Del MYERS, Thomas LAI, Deborah CHEN, Jordi MOLA, Juan Carlos AREVALO BAEZA
  • Publication number: 20190324891
    Abstract: Presenting historical state of a code element of a prior execution of an entity. An embodiment includes presenting historical state of the code element based on replaying segment(s) of the prior execution from trace data. Presenting the historical state includes presenting a first state of the code element, in connection with a first execution time point. The first state is based on a first memory access for the code element at the first execution time point. Presenting the historical state also includes presenting the first state of the code element along with an indication that the first state is a last known state (in connection with a subsequent execution time point) or a next known state (in connection with a prior execution time point).
    Type: Application
    Filed: April 23, 2018
    Publication date: October 24, 2019
    Inventors: Jordi MOLA, Henry GABRYJELSKI, Jackson Michael DAVIS, Deborah Liang CHEN, Del MYERS, Thomas LAI, Patrick Lothian NELSON, Juan Carlos AREVALO BAEZA, Kenneth Walter SYKES
  • Patent number: 10235273
    Abstract: Creating key frames during indexing of a trace for responsive trace replay. A method includes identifying responsiveness goal(s) for trace replay, including identifying a target trace section replay time. A portion of execution of executable entit(ies) is replayed based on trace data stream(s). While replaying execution of the executable entit(ies), and based on the identified target trace section replay time, points of interest in execution of the executable entit(ies) are identified. At least one key frame is created for each of the identified plurality of points of interest. Each key frame enables replay of at least one of the one or more executable entities beginning at the key frame.
    Type: Grant
    Filed: March 9, 2018
    Date of Patent: March 19, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jordi Mola, Juan Carlos Arevalo Baeza
  • Patent number: 10198341
    Abstract: Embodiments herein are directed to parallel replay of code execution. An embodiment parses trace data comprising a plurality of trace data streams that each represents execution of a corresponding one of a plurality of executable entities, and identifies a plurality of trace sections that each represents one or more events executed by one of the executable entities over a period of time. The embodiment defines an ordering among the trace sections, identifies a point of interest in at least one of the executable entities, and identifies a subset of the trace sections that, when replayed linearly according to the ordering, would encounter the point of interest. The embodiment queues the subset of trace sections in an execution pool for replay by one or more processors. Then, based on the trace data, the embodiment uses the processor(s) to replay two or more of the subset of trace sections in parallel.
    Type: Grant
    Filed: December 21, 2016
    Date of Patent: February 5, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jordi Mola, Juan Carlos Arevalo Baeza, Darek Josip Mihocka, Ivette Carreras
  • Publication number: 20180260299
    Abstract: Creating key frames during indexing of a trace for responsive trace replay. A method includes identifying responsiveness goal(s) for trace replay, including identifying a target trace section replay time. A portion of execution of executable entit(ies) is replayed based on trace data stream(s). While replaying execution of the executable entit(ies), and based on the identified target trace section replay time, points of interest in execution of the executable entit(ies) are identified. At least one key frame is created for each of the identified plurality of points of interest. Each key frame enables replay of at least one of the one or more executable entities beginning at the key frame.
    Type: Application
    Filed: March 9, 2018
    Publication date: September 13, 2018
    Inventors: Jordi Mola, Juan Carlos Arevalo Baeza
  • Publication number: 20180173611
    Abstract: Embodiments herein are directed to parallel replay of code execution. An embodiment parses trace data comprising a plurality of trace data streams that each represents execution of a corresponding one of a plurality of executable entities, and identifies a plurality of trace sections that each represents one or more events executed by one of the executable entities over a period of time. The embodiment defines an ordering among the trace sections, identifies a point of interest in at least one of the executable entities, and identifies a subset of the trace sections that, when replayed linearly according to the ordering, would encounter the point of interest. The embodiment queues the subset of trace sections in an execution pool for replay by one or more processors. Then, based on the trace data, the embodiment uses the processor(s) to replay two or more of the subset of trace sections in parallel.
    Type: Application
    Filed: December 21, 2016
    Publication date: June 21, 2018
    Inventors: Jordi Mola, Juan Carlos Arevalo Baeza, Darek Josip Mihocka, Ivette Carreras
  • Publication number: 20180157576
    Abstract: Techniques for processing recorded program data are described. In implementations, a trace module in a computing device processes instructions of a recorded program and generates a trace file for program optimization. In implementations, the trace module records a subset of a received program for inclusion in the trace file. The computing device can also or instead be implemented to gather and initiate analysis of application data proactively and without user initiation.
    Type: Application
    Filed: December 5, 2016
    Publication date: June 7, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Jordi Mola, Juan Carlos Arevalo Baeza, Darek Josip Mihocka
  • Patent number: 9934127
    Abstract: Inserting key frames during indexing of a trace for responsive trace replay. A method includes identifying responsiveness goal(s) for trace replay, including identifying a target trace section replay time. A portion of execution of executable entit(ies) is replayed based on first trace data stream(s). While replaying execution of the executable entit(ies), and based on the identified target trace section replay time, points of interest in execution of the executable entit(ies) are identified. Second trace data stream(s) are recorded, which includes inserting a key frame into the second trace data stream(s) at, or near, each of the identified points of interest, to create a plurality of trace sections. Each key frame enables replay of at least one of the executable entities beginning at the key frame.
    Type: Grant
    Filed: March 8, 2017
    Date of Patent: April 3, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jordi Mola, Juan Carlos Arevalo Baeza
  • Patent number: 9934126
    Abstract: Augmenting a trace with at least one reverse lookup data structure during indexing of the trace. A method includes receiving trace data observed during execution of executable entit(ies), and replaying a plurality of different sections of the trace data. The replay includes, for each trace section, executing a plurality of code instructions of the executable entit(ies) based on the section's portion of the trace data, and recording attribute(s) observed during the execution of the code instructions along with an identity of the trace section. At least one reverse lookup data structure is created. It associates each of at least a subset of the attributes observed during the replay of the plurality of trace sections with the identity of each trace section in which it was observed. This reverse lookup data structure is stored as part of one or more trace data streams.
    Type: Grant
    Filed: May 10, 2017
    Date of Patent: April 3, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jordi Mola, Juan Carlos Arevalo Baeza, Darek Josip Mihocka
  • Patent number: 9819970
    Abstract: Video decoding innovations for multithreading implementations and graphics processor unit (“GPU”) implementations are described. For example, for multithreaded decoding, a decoder uses innovations in the areas of layered data structures, picture extent discovery, a picture command queue, and/or task scheduling for multithreading. Or, for a GPU implementation, a decoder uses innovations in the areas of inverse transforms, inverse quantization, fractional interpolation, intra prediction using waves, loop filtering using waves, memory usage and/or performance-adaptive loop filtering. Innovations are also described in the areas of error handling and recovery, determination of neighbor availability for operations such as context modeling and intra prediction, CABAC decoding, computation of collocated information for direct mode macroblocks in B slices, reduction of memory consumption, implementation of trick play modes, and picture dropping for quality adjustment.
    Type: Grant
    Filed: December 9, 2013
    Date of Patent: November 14, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yegnaswamy Sermadevi, Weidong Zhao, Eric S. Christoffersen, Yongjun Wu, Juan Carlos Arevalo Baeza, Sean Callahan
  • Publication number: 20170155907
    Abstract: Video decoding innovations for multithreading implementations and graphics processor unit (“GPU”) implementations are described. For example, for multithreaded decoding, a decoder uses innovations in the areas of layered data structures, picture extent discovery, a picture command queue, and/or task scheduling for multithreading. Or, for a GPU implementation, a decoder uses innovations in the areas of inverse transforms, inverse quantization, fractional interpolation, intra prediction using waves, loop filtering using waves, memory usage and/or performance-adaptive loop filtering. Innovations are also described in the areas of error handling and recovery, determination of neighbor availability for operations such as context modeling and intra prediction, CABAC decoding, computation of collocated information for direct mode macroblocks in B slices, reduction of memory consumption, implementation of trick play modes, and picture dropping for quality adjustment.
    Type: Application
    Filed: November 7, 2016
    Publication date: June 1, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Juan Carlos Arevalo Baeza, Eric S. Christoffersen, Sean M. Callahan, Daniel Dinu, Barry Friemel, Weidong Zhao, Yongjun Wu, William Chen
  • Patent number: 9648325
    Abstract: Video decoding innovations for multithreading implementations and graphics processor unit (“GPU”) implementations are described. For example, for multithreaded decoding, a decoder uses innovations in the areas of layered data structures, picture extent discovery, a picture command queue, and/or task scheduling for multithreading. Or, for a GPU implementation, a decoder uses innovations in the areas of inverse transforms, inverse quantization, fractional interpolation, intra prediction using waves, loop filtering using waves, memory usage and/or performance-adaptive loop filtering. Innovations are also described in the areas of error handling and recovery, determination of neighbor availability for operations such as context modeling and intra prediction, CABAC decoding, computation of collocated information for direct mode macroblocks in B slices, reduction of memory consumption, implementation of trick play modes, and picture dropping for quality adjustment.
    Type: Grant
    Filed: June 30, 2007
    Date of Patent: May 9, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Juan Carlos Arevalo Baeza, Eric S. Christoffersen, Sean M. Callahan, Daniel Dinu, Barry Friemel, William Chen, Weidong Zhao, Yongjun Wu
  • Patent number: 9582919
    Abstract: In one embodiment, a texture identification method and system are disclosed that uniquely identifies textures as they are used by the application and associates collected, inferred, or user-specified data with objects not owned by the library. In various embodiments, textures may be identified in various scenarios such as when textures are loaded, deleted, relocated, reloaded, and the like. In a further embodiment, APIs are provided that the application can call to provide useful information to the system that can improve the quality of the data in some situations.
    Type: Grant
    Filed: October 9, 2009
    Date of Patent: February 28, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jason Matthew Gould, Juan Carlos Arevalo Baeza
  • Publication number: 20140098887
    Abstract: Video decoding innovations for multithreading implementations and graphics processor unit (“GPU”) implementations are described. For example, for multithreaded decoding, a decoder uses innovations in the areas of layered data structures, picture extent discovery, a picture command queue, and/or task scheduling for multithreading. Or, for a GPU implementation, a decoder uses innovations in the areas of inverse transforms, inverse quantization, fractional interpolation, intra prediction using waves, loop filtering using waves, memory usage and/or performance-adaptive loop filtering. Innovations are also described in the areas of error handling and recovery, determination of neighbor availability for operations such as context modeling and intra prediction, CABAC decoding, computation of collocated information for direct mode macroblocks in B slices, reduction of memory consumption, implementation of trick play modes, and picture dropping for quality adjustment.
    Type: Application
    Filed: December 9, 2013
    Publication date: April 10, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Yegnaswamy Sermadevi, Weidong Zhao, Eric S. Christoffersen, Yongjun Wu, Juan Carlos Arevalo Baeza, Sean Callahan
  • Publication number: 20130287114
    Abstract: Video decoding innovations for multithreading implementations and graphics processor unit (“GPU”) implementations are described. For example, for multithreaded decoding, a decoder uses innovations in the areas of layered data structures, picture extent discovery, a picture command queue, and/or task scheduling for multithreading. Or, for a GPU implementation, a decoder uses innovations in the areas of inverse transforms, inverse quantization, fractional interpolation, intra prediction using waves, loop filtering using waves, memory usage and/or performance-adaptive loop filtering. Innovations are also described in the areas of error handling and recovery, determination of neighbor availability for operations such as context modeling and intra prediction, CABAC decoding, computation of collocated information for direct mode macroblocks in B slices, reduction of memory consumption, implementation of trick play modes, and picture dropping for quality adjustment.
    Type: Application
    Filed: June 27, 2013
    Publication date: October 31, 2013
    Inventors: Juan Carlos Arevalo Baeza, Daniel Dinu, William Chen, Yongjun Wu
  • Patent number: 8219975
    Abstract: A method for analyzing the performance of a video game uses a diagnostic tool that is associated with application code of the video game. The diagnostic tool is activated when the video game is in operation, and real-time performance data is captured and displayed. A warning is generated when a performance metric violates a pre-set condition. The warning may be displayed on a display screen that is used to provide information for rectifying the violation.
    Type: Grant
    Filed: October 26, 2007
    Date of Patent: July 10, 2012
    Assignee: Microsoft Corporation
    Inventors: Andrew Goossen, Parham Mohadjer, Matthew Kimball, John Howard Palevich, Juan Carlos Arevalo Baeza, Jason Matthew Gould, Matthew Lee, Michael Burrows, Karen Elaine Stevens, David Aronson
  • Publication number: 20110084965
    Abstract: In one embodiment, a texture identification method and system are disclosed that uniquely identifies textures as they are used by the application and associates collected, inferred, or user-specified data with objects not owned by the library. In various embodiments, textures may be identified in various scenarios such as when textures are loaded, deleted, relocated, reloaded, and the like.
    Type: Application
    Filed: October 9, 2009
    Publication date: April 14, 2011
    Applicant: Microsoft Corporation
    Inventors: Jason Matthew Gould, Juan Carlos Arevalo Baeza