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: 11016808
    Abstract: 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: Grant
    Filed: November 8, 2019
    Date of Patent: May 25, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Prashant D. Agrawal, Samuel Ng, Jake Carver Swenson, Milan Gada
  • Publication number: 20200151013
    Abstract: 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: Application
    Filed: November 8, 2019
    Publication date: May 14, 2020
    Inventors: Prashant D. Agrawal, Samuel Ng, Jake Carver Swenson, Milan Gada
  • Patent number: 10474502
    Abstract: 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: Grant
    Filed: January 14, 2013
    Date of Patent: November 12, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Prashant D. Agrawal, Samuel Ng, Jake Carver Swenson, Milan Gada
  • Patent number: 9632838
    Abstract: 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: Grant
    Filed: December 18, 2012
    Date of Patent: April 25, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Samuel Ng, Prashant D. Agrawal, Brian James Walker, John Deutscher
  • Patent number: 9606844
    Abstract: 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: Grant
    Filed: September 28, 2011
    Date of Patent: March 28, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Samuel Ng, John F. Lam
  • Patent number: 9424163
    Abstract: 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: Grant
    Filed: January 15, 2014
    Date of Patent: August 23, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Robert A. Paveza, Patrick Nelson, Samuel Ng, Gregg B. Miskelly, Gearard Boland
  • Patent number: 9417931
    Abstract: 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: Grant
    Filed: June 24, 2008
    Date of Patent: August 16, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Raja Krishnaswamy, Shrikrishna V. Borde, Michael Shneerson, Samuel Ng, Timothy Ng
  • Patent number: 9239774
    Abstract: 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: Grant
    Filed: January 15, 2014
    Date of Patent: January 19, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Robert A. Paveza, Patrick Nelson, Samuel Ng, Gregg B. Miskelly, Gearard Boland
  • Patent number: 9189285
    Abstract: 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: Grant
    Filed: December 14, 2012
    Date of Patent: November 17, 2015
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Samuel Ng, Jake Carver Swenson, Rodrigo Maialle Bomfim, Rajesh Kutpadi Hegde, Prasanna Kudli, Anton Kucer
  • Publication number: 20150199261
    Abstract: 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: Application
    Filed: January 15, 2014
    Publication date: July 16, 2015
    Applicant: Microsoft Corporation
    Inventors: Robert A. Paveza, Patrick Nelson, Samuel Ng, Gregg B. Miskelly, Gearard Boland
  • Publication number: 20150199259
    Abstract: 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: Application
    Filed: January 15, 2014
    Publication date: July 16, 2015
    Applicant: MICROSOFT CORPORATION
    Inventors: Robert A. Paveza, Patrick Nelson, Samuel Ng, Gregg B. Miskelly, Gearard Boland
  • Publication number: 20140201752
    Abstract: 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: Application
    Filed: January 14, 2013
    Publication date: July 17, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Prashant D. Agrawal, Samuel Ng, Jake Carver Swenson, Milan Gada
  • Publication number: 20140188978
    Abstract: 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: Application
    Filed: December 31, 2012
    Publication date: July 3, 2014
    Applicant: Microsoft Corporation
    Inventors: Samuel NG, Sudheer Sirivara, Jonathan Hawkins, John Deutscher
  • Publication number: 20140173594
    Abstract: 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: Application
    Filed: December 14, 2012
    Publication date: June 19, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Samuel Ng, Jake Carver Swenson, Rodrigo Maialle Bomfim, Rajesh Kutpadi Hegde, Prasanna Kudli, Anton Kucer
  • Publication number: 20140173596
    Abstract: 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: Application
    Filed: December 18, 2012
    Publication date: June 19, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Samuel Ng, Prashant D. Agrawal, Brian James Walker, John Deutscher
  • Publication number: 20130080506
    Abstract: 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: Application
    Filed: September 28, 2011
    Publication date: March 28, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Samuel Ng, John F. Lam
  • Patent number: 8245210
    Abstract: 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: Grant
    Filed: May 22, 2009
    Date of Patent: August 14, 2012
    Assignee: Microsoft Corporation
    Inventors: Samuel Ng, Mads Torgersen, Martin Maly, Christopher Joseph Burrows, James Hugunin
  • Publication number: 20100299658
    Abstract: 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: Application
    Filed: May 22, 2009
    Publication date: November 25, 2010
    Applicant: Microsoft Corporation
    Inventors: Samuel Ng, Mads Torgersen, Martin Maly, Christopher Joseph Burrows, James Hugunin
  • Patent number: 7385914
    Abstract: 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: Grant
    Filed: October 8, 2003
    Date of Patent: June 10, 2008
    Assignee: Atheros Communications, Inc.
    Inventors: Won-Joon Choi, Ardavan M. Tehrani, Jeffrey M. Gilbert, Samuel Ng
  • Publication number: 20050078763
    Abstract: 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: Application
    Filed: October 8, 2003
    Publication date: April 14, 2005
    Inventors: Won-Joon Choi, Ardavan Tehrani, Jeffrey Gilbert, Samuel Ng