Patents by Inventor Gustavo Plancarte

Gustavo Plancarte 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: 9760346
    Abstract: Abstract Syntax Trees (ASTs) are generated using the source code of a programming language that include information relating to the structure of the program. The generation of the ASTs may be performed in parallel. The types are split into a number of modules (e.g. configurable) that form an assembly. During the different stages of the compilation process, each module may be compiled in parallel. As the different modules are being compiled (e.g. in parallel), compiler metadata from the different modules may be written to a repository accessible by the different compilation processes. After flowing through the compilation pipeline, each of the enriched ASTs are used for code generation where they are transformed into the target language (e.g. a code stream that can be executed on hardware). The executable code is then stored as part of the assembly. The storage of the code may also be performed in parallel.
    Type: Grant
    Filed: May 31, 2013
    Date of Patent: September 12, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Peter Villadsen, Gustavo Plancarte, Tanmoy Dutta
  • Patent number: 8990820
    Abstract: A batch job processing architecture that dynamically creates runtime tasks for batch job execution and to optimize parallelism. The task creation can be based on the amount of processing power available locally or across batch servers. The work can be allocated across multiple threads in multiple batch server instances as there are available. A master task splits the items to be processed into smaller parts and creates a runtime task for each. The batch server picks up and executes as many runtime tasks as the server is configured to handle. The runtime tasks can be run in parallel to maximize hardware utilization. Scalability is provided by splitting runtime task execution across available batch server instances, and also across machines. During runtime task creation, all dependency and batch group information is propagated from the master task to all runtime tasks. Dependencies and batch group configuration are honored by the batch engine.
    Type: Grant
    Filed: December 19, 2008
    Date of Patent: March 24, 2015
    Assignee: Microsoft Corporation
    Inventors: Gustavo A. Plancarte, Tao Wang, Vijay B. Kurup
  • Publication number: 20140359587
    Abstract: Abstract Syntax Trees (ASTs) are generated using the source code of a programming language that include information relating to the structure of the program. The generation of the ASTs may be performed in parallel. The types are split into a number of modules (e.g. configurable) that form an assembly. During the different stages of the compilation process, each module may be compiled in parallel. As the different modules are being compiled (e.g. in parallel), compiler metadata from the different modules may be written to a repository accessible by the different compilation processes. After flowing through the compilation pipeline, each of the enriched ASTs are used for code generation where they are transformed into the target language (e.g. a code stream that can be executed on hardware). The executable code is then stored as part of the assembly. The storage of the code may also be performed in parallel.
    Type: Application
    Filed: May 31, 2013
    Publication date: December 4, 2014
    Inventors: Peter Villadsen, Gustavo Plancarte, Tanmoy Dutta
  • Patent number: 8881154
    Abstract: Architecture that includes a batch framework engine incorporated into the server and that supports a rich set of dependencies between tasks in a single batch job. A bottom-up approach is employed where analysis is performed if a task can run based on the parent tasks. The framework runs batch jobs without the need of a client, and provides the ability to create dependencies between tasks, which allow the execution of tasks in parallel or in sequence. Using an AND/OR relationship engine, a task can require that all parent tasks (logical AND) meet requirements to run, or that only one parent (logical OR) is required to meet its requirements in order to run. Clean-up or non-important tasks can have the a flag set where even if such tasks fail when executing, the batch job will ignore these tasks when defining the final status of the job.
    Type: Grant
    Filed: December 22, 2008
    Date of Patent: November 4, 2014
    Assignee: Microsoft Corporation
    Inventors: Gustavo A. Plancarte, Tao Wang, Vijay B. Kurup
  • Patent number: 8583790
    Abstract: Application program interfaces (APIs), schemas and procedures manage multiple sessions within a server system has a create session request call for establishing a session between a client and a server within the server system. Each of plurality of sessions among the servers is persisted within a database operatively coupled to the servers. Each session is associated with a unique session identification which uniquely identifies the session among the plurality of sessions. A management request call for managing one of the sessions is performed according to the unique session identification.
    Type: Grant
    Filed: August 11, 2011
    Date of Patent: November 12, 2013
    Assignee: Microsoft Corporation
    Inventors: Amar Nalla, Srikanth Avadhanam, Gustavo Plancarte
  • Patent number: 8417744
    Abstract: Techniques to perform garbage collection in an environment where more than one software programming language is in use are described. A technique may include creating a managed proxy object in one language that creates an unmanaged object in memory in a different language. A collection of nodes is generated and maintained, where a node comprises: a reference to the managed proxy object, and a reference to the unmanaged object. A count of the nodes in the collection is maintained. When the count exceeds a threshold, the collection is traversed, and garbage collection is performed on any unmanaged object in a node when the managed proxy object in the same node has been collected. Other embodiments are described and claimed.
    Type: Grant
    Filed: March 23, 2011
    Date of Patent: April 9, 2013
    Assignee: Microsoft Corporation
    Inventor: Gustavo Plancarte
  • Patent number: 8332443
    Abstract: A distributed, high availability scalable task execution framework that does not use a master. Each server periodically checks if there are new jobs that are scheduled to execute immediately and picks a task for execution. Multiple batch server configurations can be created and executed during a specific time period where each server can behave differently to provide improved response time to online users. Each server can be configured to execute a different number of parallel tasks during a time period, execute fewer tasks or no batch task at all, and then change server behavior to execute many tasks in parallel at a different time when there are no online users. Automatic transaction assists in task restart in the case of infrastructure failures. If infrastructure failure happens before the task completes, the transaction will be rolled back by the database automatically.
    Type: Grant
    Filed: December 19, 2008
    Date of Patent: December 11, 2012
    Assignee: Microsoft Corporation
    Inventors: Gustavo A. Plancarte, Tao Wang, Vijay B. Kurup
  • Publication number: 20120246433
    Abstract: Techniques to perform garbage collection in an environment where more than one software programming language is in use are described. A technique may include creating a managed proxy object in one language that creates an unmanaged object in memory in a different language. A collection of nodes is generated and maintained, where a node comprises: a reference to the managed proxy object, and a reference to the unmanaged object. A count of the nodes in the collection is maintained. When the count exceeds a threshold, the collection is traversed, and garbage collection is performed on any unmanaged object in a node when the managed proxy object in the same node has been collected. Other embodiments are described and claimed.
    Type: Application
    Filed: March 23, 2011
    Publication date: September 27, 2012
    Applicant: MICROSOFT CORPORATION
    Inventor: Gustavo Plancarte
  • Publication number: 20110307605
    Abstract: Application program interfaces (APIs), schemas and procedures manage multiple sessions within a server system has a create session request call for establishing a session between a client and a server within the server system. Each of plurality of sessions among the servers is persisted within a database operatively coupled to the servers. Each session is associated with a unique session identification which uniquely identifies the session among the plurality of sessions. A management request call for managing one of the sessions is performed according to the unique session identification.
    Type: Application
    Filed: August 11, 2011
    Publication date: December 15, 2011
    Applicant: Microsoft Corporation
    Inventors: Amar Nalla, Srikanth R. Avadhanam, Gustavo Plancarte
  • Patent number: 8024439
    Abstract: Application program interfaces (APIs), schemas and procedures manage multiple sessions within a server system has a create session request call for establishing a session between a client and a server within the server system. Each of plurality of sessions among the servers is persisted within a database operatively coupled to the servers. Each session is associated with a unique session identification which uniquely identifies the session among the plurality of sessions. A management request call for managing one of the sessions is performed according to the unique session identification.
    Type: Grant
    Filed: March 17, 2006
    Date of Patent: September 20, 2011
    Assignee: Microsoft Corporation
    Inventors: Amar Nalla, Srikanth R. Avadhanam, Gustavo Plancarte
  • Publication number: 20100162245
    Abstract: A batch job processing architecture that dynamically creates runtime tasks for batch job execution and to optimize parallelism. The task creation can be based on the amount of processing power available locally or across batch servers. The work can be allocated across multiple threads in multiple batch server instances as there are available. A master task splits the items to be processed into smaller parts and creates a runtime task for each. The batch server picks up and executes as many runtime tasks as the server is configured to handle. The runtime tasks can be run in parallel to maximize hardware utilization. Scalability is provided by splitting runtime task execution across available batch server instances, and also across machines. During runtime task creation, all dependency and batch group information is propagated from the master task to all runtime tasks. Dependencies and batch group configuration are honored by the batch engine.
    Type: Application
    Filed: December 19, 2008
    Publication date: June 24, 2010
    Applicant: Microsoft Corporation
    Inventors: Gustavo A. Plancarte, Tao Wang, Vijay B. Kurup
  • Publication number: 20100161549
    Abstract: A distributed, high availability scalable task execution framework that does not use a master. Each server periodically checks if there are new jobs that are scheduled to execute immediately and picks a task for execution. Multiple batch server configurations can be created and executed during a specific time period where each server can behave differently to provide improved response time to online users. Each server can be configured to execute a different number of parallel tasks during a time period, execute fewer tasks or no batch task at all, and then change server behavior to execute many tasks in parallel at a different time when there are no online users. Automatic transaction assists in task restart in the case of infrastructure failures. If infrastructure failure happens before the task completes, the transaction will be rolled back by the database automatically.
    Type: Application
    Filed: December 19, 2008
    Publication date: June 24, 2010
    Applicant: Microsoft Corporation
    Inventors: Gustavo A. Plancarte, Tao Wang, Vijay B. Kurup
  • Publication number: 20100162248
    Abstract: Architecture that includes a batch framework engine incorporated into the server and that supports a rich set of dependencies between tasks in a single batch job. A bottom-up approach is employed where analysis is performed if a task can run based on the parent tasks. The framework runs batch jobs without the need of a client, and provides the ability to create dependencies between tasks, which allow the execution of tasks in parallel or in sequence. Using an AND/OR relationship engine, a task can require that all parent tasks (logical AND) meet requirements to run, or that only one parent (logical OR) is required to meet its requirements in order to run. Clean-up or non-important tasks can have the a flag set where even if such tasks fail when executing, the batch job will ignore these tasks when defining the final status of the job.
    Type: Application
    Filed: December 22, 2008
    Publication date: June 24, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Gustavo A. Plancarte, Tao Wang, Vijay B. Kurup
  • Publication number: 20070220155
    Abstract: Application program interfaces (APIs), schemas and procedures manage multiple sessions within a server system has a create session request call for establishing a session between a client and a server within the server system. Each of plurality of sessions among the servers is persisted within a database operatively coupled to the servers. Each session is associated with a unique session identification which uniquely identifies the session among the plurality of sessions. A management request call for managing one of the sessions is performed according to the unique session identification.
    Type: Application
    Filed: March 17, 2006
    Publication date: September 20, 2007
    Applicant: MICROSOFT CORPORATION
    Inventors: Amar Nalla, Srikanth Avadhanam, Gustavo Plancarte