Patents by Inventor Aman Kansal

Aman Kansal 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: 8707300
    Abstract: Architecture that facilitates the estimation of interference among workloads (e.g., virtual machines) due to sharing of a shared resource (e.g., a shared cache of a computer processor), and optimization of a desired performance objective such as power or energy use in the presence of the interference. Estimation is to the extent of interference by characterizing the nature of shared resource usage and its effect on performance. Performance optimization is accomplished using metrics based on the above estimation, or alternatively, an explicit measurement of the interference effects. Methods are employed to estimate interference on the workload's performance with changes in availability of the shared resource or with combinations of other workloads sharing the same resource and allocating workloads to one or more physical computers or resources to workloads such that a desired performance objective is optimized. The methods can include allocating workloads on demand.
    Type: Grant
    Filed: July 26, 2010
    Date of Patent: April 22, 2014
    Assignee: Microsoft Corporation
    Inventors: Sriram Govindan, Jie Liu, Aman Kansal
  • Patent number: 8645733
    Abstract: Virtualized application power budgeting can manage power budgeting for multiple applications in data centers. This power budgeting may be done in intelligent and/or dynamic ways and may be useful for updating power budgets, resolving conflicts in requests for power, and may improve the efficiency of the distribution of power to multiple applications. Virtualized application power budgeting can distinguish between priority applications and non-priority applications at a granular, virtual machine level and reduce the power consumption to only non-priority applications when there are power consumption conflicts. Virtualized application power budgeting may be able to determine the most efficient manner of providing power to each application in a data center. Further, virtualized application power budgeting may be able to distribute power according to application priority and other predetermined requirements and improve the efficiency of the power consumption by the devices in the data center.
    Type: Grant
    Filed: May 13, 2011
    Date of Patent: February 4, 2014
    Assignee: Microsoft Corporation
    Inventors: Aman Kansal, Jie Liu, Sean McGrane, Harold Lim
  • Patent number: 8627123
    Abstract: One or more computers manage power consumption in a plurality of computers by repeatedly evaluating power consumption of pluralities of computers such that any given plurality of computers is evaluated by aggregating indicia of power consumption of the individual computers in the given plurality. The evaluation identifies or predicts pluralities of computers that are over-consuming power and identifies pluralities of computers that are under-consuming power. A first plurality of computers identified as over-consuming power are sent messages to instruct some of its comprising computers or virtual machines (VMs) to lower their computational workload. A second plurality of computers identified as under-consuming power are sent messages instructing the other computers to increase their computation workload.
    Type: Grant
    Filed: March 25, 2010
    Date of Patent: January 7, 2014
    Assignee: Microsoft Corporation
    Inventors: Navendu Jain, Aman Kansal
  • Publication number: 20130232552
    Abstract: The subject disclosure is directed towards a technology by which a computing device user may share context-related information (e.g., including current activity) with other recipient machines. A requestor may request to peek at a user's context, and if the requestor is valid (pre-approved by the user), a response based on context-related information is sent, which may be via a cloud service. The response may be filtered and/or adjusted based upon the identity of the requestor and other information associated with that identity, e.g., filtering criteria set by the user. Also described is notifying the user of the peek request, and logging information corresponding to the request and response. A broadcast message may also be sent by the device to share context without waiting for a peek request.
    Type: Application
    Filed: March 1, 2012
    Publication date: September 5, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Alice Jane Bernheim Brush, Timothy Scott Saponas, Asta Roseway, James William Scott, Ryder B. Ziola, Aman Kansal, Paul R. Johns, Gregory R. Smith
  • Publication number: 20130173513
    Abstract: The described implementations relate to automatically performing device actions. One implementation can obtain a contextual value of a contextor. The implementation can decide, using a decision engine, whether to perform an action on a computing device based on the contextual value. In an instance when the decision engine decides that the action is to be performed, the implementation can perform the action on the computing device. The implementation can also update the decision engine using feedback related to the action. As a specific example, the action can be prelaunching an application before a user has requested to execute the application. Prelaunching the application can reduce application latency relative to waiting for the user to request to execute the application before launching the application.
    Type: Application
    Filed: December 30, 2011
    Publication date: July 4, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: David Chu, Aman Kansal, Jie Liu, Tingxin Yan
  • Publication number: 20130174128
    Abstract: Embodiments provide implementations for estimating a test application's energy usage on a target device based on execution of the test application. Resource usage associated with the execution of the test application is measured. The measured resource usage is input into a power model of the target device to estimate the energy that the test application uses when executed on the target device. An emulation system is configured to execute the test application in a virtual execution environment using resource scaling and simulated target device application programming interfaces to substantially simulate the corresponding capabilities of the target device.
    Type: Application
    Filed: December 28, 2011
    Publication date: July 4, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Aman Kansal, Ranveer Chandra, Jie Liu, Paramvir Bahl
  • Publication number: 20130159223
    Abstract: Embodiments include processes, systems, and devices for developing a virtual sensor. The virtual sensor includes one or more inference models. A decision engine utilizes an inference model associated with a mobile device to determine another inference model that is configured to accept physical sensor data from another mobile device. In this way, the virtual sensor can be developed for use with many mobile devices using initial inference models developed for a small number of mobile devices or a single mobile device. Embodiments also include methods to select mobile devices from which to request physical sensor data for virtual sensor input. Embodiments also include architectures that provide a library of virtual sensors.
    Type: Application
    Filed: December 19, 2011
    Publication date: June 20, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Paramvir Bahl, Aman Kansal, Romit Roy Choudhury, David Chiyuan Chu, Alastair Wolman, Jie Liu, Xuan Bao
  • Patent number: 8386810
    Abstract: Techniques and technologies are disclosed herein for measuring and managing energy consumption of the individual hardware components and software modules of various systems and devices. Such techniques and technologies do not require the addition of hardware to the systems (or devices), the modification of software modules hosted by the systems, or other modifications to the systems. Moreover, some of the techniques and technologies measure the energy consumed by the individual software modules as a result of the hardware operations which they call.
    Type: Grant
    Filed: April 8, 2009
    Date of Patent: February 26, 2013
    Assignee: Microsoft Corporation
    Inventors: Aman Kansal, Feng Zhao, Nupur Kothari
  • Publication number: 20130024282
    Abstract: The automatic purchase history tracking technique described herein can capture information about all of a user's purchases in a single location, such as, for example, a purchase database. In one embodiment when a user purchases an item from a vendor or store, a confirmation of the item purchase is received by the user. For example, this confirmation could be an email confirmation, a paper receipt or a voice confirmation. This confirmation is automatically parsed by the technique to extract purchase information about the item purchase. This parsed information can then be stored and displayed to the user and can also used for various other purposes, such as, for example, targeted marketing. The parsed stored data can also be enhanced by user annotations, and data pushed and pulled from other sources.
    Type: Application
    Filed: July 23, 2011
    Publication date: January 24, 2013
    Applicant: Microsoft Corporation
    Inventors: Aman Kansal, Jie Liu, Douglas Christopher Burger
  • Publication number: 20120317578
    Abstract: The subject disclosure is directed towards executing jobs based on resource usage. When a plurality of jobs is received, one or more jobs are mapped to one or more other jobs based on which resources are fully utilized or overloaded. The utilization of these resources by the one or more jobs complements utilization of these resources by the one or more other jobs. The resources are partitioned at one or more servers in order to efficiently execute the one or more jobs and the one or more other jobs. The resources may be partitioned equally or proportionally based on the resource usage or priorities.
    Type: Application
    Filed: June 9, 2011
    Publication date: December 13, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Aman Kansal, Weiwei Xiong, Jie Liu
  • Publication number: 20120290865
    Abstract: Virtualized application power budgeting can manage power budgeting for multiple applications in data centers. This power budgeting may be done in intelligent and/or dynamic ways and may be useful for updating power budgets, resolving conflicts in requests for power, and may improve the efficiency of the distribution of power to multiple applications. Virtualized application power budgeting can distinguish between priority applications and non-priority applications at a granular, virtual machine level and reduce the power consumption to only non-priority applications when there are power consumption conflicts. Virtualized application power budgeting may be able to determine the most efficient manner of providing power to each application in a data center. Further, virtualized application power budgeting may be able to distribute power according to application priority and other predetermined requirements and improve the efficiency of the power consumption by the devices in the data center.
    Type: Application
    Filed: May 13, 2011
    Publication date: November 15, 2012
    Applicant: Microsoft Corporation
    Inventors: Aman Kansal, Jie Liu, Sean McGrane, Harold Lim
  • Publication number: 20120284194
    Abstract: A “Portable Card Generator” is implemented within a portable device, such as a mobile phone, and provides various techniques for writing secure account information from user selected accounts to a “wildcard” having rewritable magnetic stripes, rewritable RFID tags, and/or rewritable smartcard circuitry. The account information is retrieved by the portable device from local or remote stores of user accounts. Once that account information is written, the wildcard is then available for immediate use for credit card or debit-type payments, loyalty card use, etc. Consequently, by providing a credit card sized object having a rewriteable magnetic stripe, RFID tag, and/or smartcard circuitry, in combination with account information for various credit cards, debit cards, consumer loyalty cards, insurance cards, ID cards or badges, etc., the user is no longer required to physically carry those cards in order to use the corresponding accounts within existing card-based infrastructures.
    Type: Application
    Filed: May 3, 2011
    Publication date: November 8, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Jie Liu, Nissanka Arachchige Bodhi Priyantha, Aman Kansal, Suman Nath, Dimitrios Lymperopoulos, Michel Goraczko
  • Publication number: 20120280035
    Abstract: Magnetic stripe-based transaction enabled mobile communication device embodiments are presented which generally involve a mobile communication device which has been configured to perform transactions that heretofore were completed using a magnetic stripe found on magnetic-stripe cards. In one general embodiment, a mobile communication device generates magnetic stripe data which is used to perform a magnetic stripe-based transaction. To this end, the mobile communication device includes a magnetic stripe device and a computing device. The computing device stores the magnetic stripe data, and the magnetic stripe device is employed to transfer the stored magnetic stripe information so that it can be used to conduct transactions as if a traditional magnetic stripe card were being used.
    Type: Application
    Filed: May 3, 2011
    Publication date: November 8, 2012
    Applicant: Microsoft Corporation
    Inventors: Jie Liu, Nissanka Arachchige Bodhi Priyantha, Aman Kansal, Suman Nath, Dimitrios Lymberopoulos, Michel Goraczko
  • Publication number: 20120268249
    Abstract: In a device, one or more low energy sensors are used to determine a mobility state of the device. Based on both the mobility state of the device and one or more places of interest for the device, a determination is made as to when to use a high energy sensor to determine a location of the device. One of the one or more places of interest for the device within which the device is located at any particular time can be determined based on the mobility state of the device and/or the location of the device as determined by the high energy sensor.
    Type: Application
    Filed: April 20, 2011
    Publication date: October 25, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Aman Kansal, Brian D. Cross, Gerardo Garcia
  • Publication number: 20120239323
    Abstract: Provided herein is power usage estimation that may be applied to computing devices. Further, the power usage estimation may be determined per each thread, process and/or program running on the computing device, such as, for example, a virtual machine. Power meters may be associated with individual components in a computing device, the sum of the power consumption of the computing components being equal to the total power consumption of the computing device. Metrics for usage by a process may be associated with each component, from which power consumption profiles based on component usage by a process may be created. Estimations of power usage may be used in contracting, billing, ranking, system control, priority, output and the like. Estimations of power usage may also include a power consumption “learning” phase and a way of incorporating previously disregarded base power usage into the estimate of power consumption by a process.
    Type: Application
    Filed: March 16, 2011
    Publication date: September 20, 2012
    Applicant: Microsoft Corporation
    Inventors: Sean McGrane, Aman Kansal
  • Publication number: 20120148091
    Abstract: An implementation of location estimation using image analysis is described. In this implementation, an image of a place is obtained and matched with previously stored images. The matching may be achieved by employing methods based on key feature extraction algorithm, color histogram analysis, pattern matching or other image comparison techniques. Upon determining a match, the location information associated with the image provides the location. The location information may be in the form of location tags or location keywords and the location information may be used by the user or other applications for the purposes of location determination. The technique allows for the user to enter location information. The location information may be assigned to the previously stored images residing in local and remote databases for users and applications to assign information or keywords to images.
    Type: Application
    Filed: February 21, 2012
    Publication date: June 14, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Aman Kansal, Feng Zhao
  • Publication number: 20120151055
    Abstract: The subject disclosure is directed towards delivering information to mobile devices in an energy and bandwidth efficient manner by sending information only when the device user is likely to use the information. The information is delivered proactively based on user attention being paid to the device or the user's anticipated attention, corresponding to sensed state data and other state data. Also described is a proxy that interfaces with legacy information servers or the like, such as to emulate the mobile device, so that information delivery from such sources can be deferred until needed by the user. Device energy is conserved and user disruptions reduced by computing an inference as to when the user is likely to be interested in the communicated information, and downloading based upon the inference.
    Type: Application
    Filed: December 11, 2010
    Publication date: June 14, 2012
    Applicant: Microsoft Corporation
    Inventors: Aman Kansal, Jie Liu, Dimitrios Lymperopoulos
  • Patent number: 8185599
    Abstract: Architecture for programming in a distributed computing environment where different components of a system are owned or controlled by different entities and heterogeneous in terms of resource availability and a willingness to share. Multiple devices can be programmed when a task requires human intervention. Method are described for using a tolerance level provided by the application developer to control the execution of the application instructions at multiple devices with varying resources, and for using an involvement level provided by the sensor or computing device owner for the purpose of automatically adapting the execution of application code at multiple devices to suit the individual owner's willingness to share resources, and the capabilities of resources available with that owner.
    Type: Grant
    Filed: April 18, 2007
    Date of Patent: May 22, 2012
    Assignee: Microsoft Corporation
    Inventors: Aman Kansal, Feng Zhao
  • Patent number: 8144920
    Abstract: An implementation of automated location estimation using image analysis is described. In this implementation, an image of a place is obtained and matched with previously stored images. The matching may be achieved by employing methods based on key feature extraction algorithm, color histogram analysis, pattern matching or other image comparison techniques. Upon determining a match, the location information associated with the matched previously stored images provides the location. The location information may be in the form of location tags or location keywords and the location information may be used by the user or other applications for the purposes of location determination. The above technique also allows for the user to enter location information to improve accuracy. The location information may also be assigned to the previously stored images residing in local and remote databases for users and applications to automatically assign information or keywords to images.
    Type: Grant
    Filed: March 15, 2007
    Date of Patent: March 27, 2012
    Assignee: Microsoft Corporation
    Inventors: Aman Kansal, Feng Zhao
  • Publication number: 20120023492
    Abstract: Architecture that facilitates the estimation of interference among workloads (e.g., virtual machines) due to sharing of a shared resource (e.g., a shared cache of a computer processor), and optimization of a desired performance objective such as power or energy use in the presence of the interference. Estimation is to the extent of interference by characterizing the nature of shared resource usage and its effect on performance. Performance optimization is accomplished using metrics based on the above estimation, or alternatively, an explicit measurement of the interference effects. Methods are employed to estimate interference on the workload's performance with changes in availability of the shared resource or with combinations of other workloads sharing the same resource and allocating workloads to one or more physical computers or resources to workloads such that a desired performance objective is optimized. The methods can include allocating workloads on demand.
    Type: Application
    Filed: July 26, 2010
    Publication date: January 26, 2012
    Applicant: Microsoft Corporation
    Inventors: Sriram Govindan, Jie Liu, Aman Kansal