Patents by Inventor Samuel Ng
Samuel Ng 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: 11016808Abstract: Scheduling job request submitted by multiple tenants in a manner that honors multiple software license agreements for the multiple tenants. A queue persistently stores job requests that await scheduling. A job state tracking component persistently tracks a state of the job requests, and perhaps provides job requests into the queue. A software license agreement enforcer reviews the job requests in the queue, selects one or more job requests should be scheduled next based on the license agreements, and provide the selected job requests to a resource manager. A subscriber/publisher pool may be used to the various components to communicate. This decouples the communication from being a simple one-to-one correspondence, but instead allows communication from a component of one type to a component of the other type, whichever instance of those components happens to be operating.Type: GrantFiled: November 8, 2019Date of Patent: May 25, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Prashant D. Agrawal, Samuel Ng, Jake Carver Swenson, Milan Gada
-
Publication number: 20200151013Abstract: Scheduling job request submitted by multiple tenants in a manner that honors multiple software license agreements for the multiple tenants. A queue persistently stores job requests that await scheduling. A job state tracking component persistently tracks a state of the job requests, and perhaps provides job requests into the queue. A software license agreement enforcer reviews the job requests in the queue, selects one or more job requests should be scheduled next based on the license agreements, and provide the selected job requests to a resource manager. A subscriber/publisher pool may be used to the various components to communicate. This decouples the communication from being a simple one-to-one correspondence, but instead allows communication from a component of one type to a component of the other type, whichever instance of those components happens to be operating.Type: ApplicationFiled: November 8, 2019Publication date: May 14, 2020Inventors: Prashant D. Agrawal, Samuel Ng, Jake Carver Swenson, Milan Gada
-
Patent number: 10474502Abstract: Scheduling job request submitted by multiple tenants in a manner that honors multiple software license agreements for the multiple tenants. A queue persistently stores job requests that await scheduling. A job state tracking component persistently tracks a state of the job requests, and perhaps provides job requests into the queue. A software license agreement enforcer reviews the job requests in the queue, selects one or more job requests should be scheduled next based on the license agreements, and provide the selected job requests to a resource manager. A subscriber/publisher pool may be used to the various components to communicate. This decouples the communication from being a simple one-to-one correspondence, but instead allows communication from a component of one type to a component of the other type, whichever instance of those components happens to be operating.Type: GrantFiled: January 14, 2013Date of Patent: November 12, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Prashant D. Agrawal, Samuel Ng, Jake Carver Swenson, Milan Gada
-
Patent number: 9632838Abstract: Embodiments are directed to providing an extensible platform that allows users to select from and implement different types of media processors and to providing a management portal that allows users to manage their media processors. In one scenario, a computer system receives from a user a workflow with various tasks that are to be processed using a user-specified media processor. The computer system schedules computer system resources including a virtual machine on which the user-specified media processor is to be installed. The user-specified media processor includes a corresponding media processor installer. The computer system instantiates the scheduled virtual machine on the computer system, initiates the media processor installer to install the user-specified media processor on the instantiated virtual machine, and implements the installed media processor on the instantiated virtual machine to process the workflow tasks.Type: GrantFiled: December 18, 2012Date of Patent: April 25, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Samuel Ng, Prashant D. Agrawal, Brian James Walker, John Deutscher
-
Patent number: 9606844Abstract: Embodiments are directed to interacting with a server in a read-eval-print loop (REPL) environment. In an embodiment, a client computer system receives a proxy object from a remotely-hosted server. The server maintains an execution context with which the client computer system interacts. The client system presents the received proxy object to the user for interaction with the object. The user input indicates how the data in the proxy object is to be processed. The interaction allows the user to manipulate the remotely-hosted data through the local computer system. The client system then, based on the user interaction, sends a user-initiated command to the remotely-hosted server using the proxy object. The user-initiated command indicates various portions of data hosted on the server that are to be returned to the user. The data received from the remotely-hosted server is then displayed at the client computer system.Type: GrantFiled: September 28, 2011Date of Patent: March 28, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Samuel Ng, John F. Lam
-
Patent number: 9424163Abstract: Just My Code debugging allows developers to work on problems within their own code without noise from libraries, plugins and other unrelated code. Typical debugger behaviors may be modified based upon the identification or characterization of JavaScript code as “My Code,” “Library Code,” or “Unrelated Code.” The debugger behaviors that may be modified depending upon the code's characterization include, for example, first-chance exception handling, unhandled exception handling, the behavior of the debugger at explicit user breakpoints, the behavior when a user directs the debugger to break upon the next statement, and the behavior of the debugger when the user executes a stepping gesture. The debugger's visualizes core elements of the program state, such as the call stack, depending upon the identification or characterization of the code.Type: GrantFiled: January 15, 2014Date of Patent: August 23, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Robert A. Paveza, Patrick Nelson, Samuel Ng, Gregg B. Miskelly, Gearard Boland
-
Patent number: 9417931Abstract: A system and method for facilitating execution of multiple assemblies in a framework, in which the assemblies use a component external to the framework, is provided. A runtime manager may retrieve metadata from each of the assemblies, and selectively insert the metadata into a unified types object, so that metadata corresponding to equivalent type definitions is shared. When each assembly is executed, the combined metadata may be used to invoke or otherwise interact with the external component.Type: GrantFiled: June 24, 2008Date of Patent: August 16, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Raja Krishnaswamy, Shrikrishna V. Borde, Michael Shneerson, Samuel Ng, Timothy Ng
-
Patent number: 9239774Abstract: Just My Code debugging allows developers to work on problems within their own code without noise from libraries, plugins and other unrelated code. Typical debugger behaviors may be modified based upon the identification or characterization of JavaScript code as “My Code,” “Library Code,” or “Unrelated Code.” The debugger behaviors that may be automatically determined using heuristics or set using a code-characterization file provided by a host application. The debugger receives project file information from the host application via a debugger-host interface. The debugger applies code-designation heuristics to undesignated code segments. If a code characterization file is received with the project information, the debugger designates application code segments based upon definitions in the code-characterization file. Once the debugger has characterized the code segments, it performs debugging operations on the application code.Type: GrantFiled: January 15, 2014Date of Patent: January 19, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Robert A. Paveza, Patrick Nelson, Samuel Ng, Gregg B. Miskelly, Gearard Boland
-
Patent number: 9189285Abstract: Embodiments provide an abstraction on top of virtual machine allocation APIs to expose scalable services. The services are higher level components that expose a particular set of functionalities. A deployment manager handles matching and managing virtual machine allocations in order to meet the customer demands for the managed services. A deployment service exposes a “service” as a unit of resource allocation in a distributed computing environment or cloud computing service. Client components interact with the deployment service to request new service instances to meet customer demand.Type: GrantFiled: December 14, 2012Date of Patent: November 17, 2015Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Samuel Ng, Jake Carver Swenson, Rodrigo Maialle Bomfim, Rajesh Kutpadi Hegde, Prasanna Kudli, Anton Kucer
-
Publication number: 20150199261Abstract: Just My Code debugging allows developers to work on problems within their own code without noise from libraries, plugins and other unrelated code. Typical debugger behaviors may be modified based upon the identification or characterization of JavaScript code as “My Code,” “Library Code,” or “Unrelated Code.” The debugger behaviors that may be automatically determined using heuristics or set using a code-characterization file provided by a host application. The debugger receives project file information from the host application via a debugger-host interface. The debugger applies code-designation heuristics to undesignated code segments. If a code characterization file is received with the project information, the debugger designates application code segments based upon definitions in the code-characterization file. Once the debugger has characterized the code segments, it performs debugging operations on the application code.Type: ApplicationFiled: January 15, 2014Publication date: July 16, 2015Applicant: Microsoft CorporationInventors: Robert A. Paveza, Patrick Nelson, Samuel Ng, Gregg B. Miskelly, Gearard Boland
-
Publication number: 20150199259Abstract: Just My Code debugging allows developers to work on problems within their own code without noise from libraries, plugins and other unrelated code. Typical debugger behaviors may be modified based upon the identification or characterization of JavaScript code as “My Code,” “Library Code,” or “Unrelated Code.” The debugger behaviors that may be modified depending upon the code's characterization include, for example, first-chance exception handling, unhandled exception handling, the behavior of the debugger at explicit user breakpoints, the behavior when a user directs the debugger to break upon the next statement, and the behavior of the debugger when the user executes a stepping gesture. The debugger's visualizes core elements of the program state, such as the call stack, depending upon the identification or characterization of the code.Type: ApplicationFiled: January 15, 2014Publication date: July 16, 2015Applicant: MICROSOFT CORPORATIONInventors: Robert A. Paveza, Patrick Nelson, Samuel Ng, Gregg B. Miskelly, Gearard Boland
-
Publication number: 20140201752Abstract: Scheduling job request submitted by multiple tenants in a manner that honors multiple software license agreements for the multiple tenants. A queue persistently stores job requests that await scheduling. A job state tracking component persistently tracks a state of the job requests, and perhaps provides job requests into the queue. A software license agreement enforcer reviews the job requests in the queue, selects one or more job requests should be scheduled next based on the license agreements, and provide the selected job requests to a resource manager. A subscriber/publisher pool may be used to the various components to communicate. This decouples the communication from being a simple one-to-one correspondence, but instead allows communication from a component of one type to a component of the other type, whichever instance of those components happens to be operating.Type: ApplicationFiled: January 14, 2013Publication date: July 17, 2014Applicant: MICROSOFT CORPORATIONInventors: Prashant D. Agrawal, Samuel Ng, Jake Carver Swenson, Milan Gada
-
Publication number: 20140188978Abstract: A cloud-based media processing service facilitates digital media production through workflows that are designed to facilitate various types of media transformations. A workflow enables a media publisher to more easily construct jobs that are processed by the cloud-based media processing service. The cloud-based media processing service receives requests to perform jobs, which are customized instances of a workflow, and which are processed within the cloud-based media processing service.Type: ApplicationFiled: December 31, 2012Publication date: July 3, 2014Applicant: Microsoft CorporationInventors: Samuel NG, Sudheer Sirivara, Jonathan Hawkins, John Deutscher
-
Publication number: 20140173594Abstract: Embodiments provide an abstraction on top of virtual machine allocation APIs to expose scalable services. The services are higher level components that expose a particular set of functionalities. A deployment manager handles matching and managing virtual machine allocations in order to meet the customer demands for the managed services. A deployment service exposes a “service” as a unit of resource allocation in a distributed computing environment or cloud computing service. Client components interact with the deployment service to request new service instances to meet customer demand.Type: ApplicationFiled: December 14, 2012Publication date: June 19, 2014Applicant: MICROSOFT CORPORATIONInventors: Samuel Ng, Jake Carver Swenson, Rodrigo Maialle Bomfim, Rajesh Kutpadi Hegde, Prasanna Kudli, Anton Kucer
-
Publication number: 20140173596Abstract: Embodiments are directed to providing an extensible platform that allows users to select from and implement different types of media processors and to providing a management portal that allows users to manage their media processors. In one scenario, a computer system receives from a user a workflow with various tasks that are to be processed using a user-specified media processor. The computer system schedules computer system resources including a virtual machine on which the user-specified media processor is to be installed. The user-specified media processor includes a corresponding media processor installer. The computer system instantiates the scheduled virtual machine on the computer system, initiates the media processor installer to install the user-specified media processor on the instantiated virtual machine, and implements the installed media processor on the instantiated virtual machine to process the workflow tasks.Type: ApplicationFiled: December 18, 2012Publication date: June 19, 2014Applicant: MICROSOFT CORPORATIONInventors: Samuel Ng, Prashant D. Agrawal, Brian James Walker, John Deutscher
-
Publication number: 20130080506Abstract: Embodiments are directed to interacting with a server in a read-eval-print loop (REPL) environment. In an embodiment, a client computer system receives a proxy object from a remotely-hosted server. The server maintains an execution context with which the client computer system interacts. The client system presents the received proxy object to the user for interaction with the object. The user input indicates how the data in the proxy object is to be processed. The interaction allows the user to manipulate the remotely-hosted data through the local computer system. The client system then, based on the user interaction, sends a user-initiated command to the remotely-hosted server using the proxy object. The user-initiated command indicates various portions of data hosted on the server that are to be returned to the user. The data received from the remotely-hosted server is then displayed at the client computer system.Type: ApplicationFiled: September 28, 2011Publication date: March 28, 2013Applicant: MICROSOFT CORPORATIONInventors: Samuel Ng, John F. Lam
-
Patent number: 8245210Abstract: Compile-time context information is captured and provided to a runtime binder for dynamic features in programming languages. For example, a C# run-time binder uses the information to perform a run-time bind with semantics matching the compiler's binding behavior. Dynamic programming language features supported relate to compound operations, events, delegates, member accessibility, dynamic-typed objects, structs passed by ref, arguments passed by name rather than position, extension methods, conditionally compiled methods, literal arguments, overflow checking, dynamic indexed properties, dynamic method groups, and static method groups.Type: GrantFiled: May 22, 2009Date of Patent: August 14, 2012Assignee: Microsoft CorporationInventors: Samuel Ng, Mads Torgersen, Martin Maly, Christopher Joseph Burrows, James Hugunin
-
Publication number: 20100299658Abstract: Compile-time context information is captured and provided to a runtime binder for dynamic features in programming languages. For example, a C# run-time binder uses the information to perform a run-time bind with semantics matching the compiler's binding behavior. Dynamic programming language features supported relate to compound operations, events, delegates, member accessibility, dynamic-typed objects, structs passed by ref, arguments passed by name rather than position, extension methods, conditionally compiled methods, literal arguments, overflow checking, dynamic indexed properties, dynamic method groups, and static method groups.Type: ApplicationFiled: May 22, 2009Publication date: November 25, 2010Applicant: Microsoft CorporationInventors: Samuel Ng, Mads Torgersen, Martin Maly, Christopher Joseph Burrows, James Hugunin
-
Patent number: 7385914Abstract: The present invention provides an apparatus and method of multiple antenna transmitter beamforming of high data rate wideband packetized wireless communication signals, where each of the signals comprises N frequencies, where N is a positive integer. The apparatus, in an exemplary embodiment, includes (1) a transmit beamformer that co-phases and weights the signals for each of the N frequencies across M antennas, thereby generating M co-phased and weighted frequency data and (2) M Inverse Fast Fourier Transform units (IFFTs) that convert the M co-phased and weighted frequency data into M digital outputs, and M transmit antennas transmitting the M co-phased and weighted signals, where M is an integer greater than or equal to 2.Type: GrantFiled: October 8, 2003Date of Patent: June 10, 2008Assignee: Atheros Communications, Inc.Inventors: Won-Joon Choi, Ardavan M. Tehrani, Jeffrey M. Gilbert, Samuel Ng
-
Publication number: 20050078763Abstract: The present invention provides an apparatus and method of multiple antenna transmitter beamforming of high data rate wideband packetized wireless communication signals, where each of the signals comprises N frequencies, where N is a positive integer. The apparatus, in an exemplary embodiment, includes (1) a transmit beamformer that co-phases and weights the signals for each of the N frequencies across M antennas, thereby generating M co-phased and weighted frequency data and (2) M Inverse Fast Fourier Transform units (IFFTs) that convert the M co-phased and weighted frequency data into M digital outputs, and M transmit antennas transmitting the M co-phased and weighted signals, where M is an integer greater than or equal to 2.Type: ApplicationFiled: October 8, 2003Publication date: April 14, 2005Inventors: Won-Joon Choi, Ardavan Tehrani, Jeffrey Gilbert, Samuel Ng