Patents by Inventor Robin Abraham

Robin Abraham 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: 9922399
    Abstract: A direction and distance of movement of a display device as well as of a user of the display device are determined. Based on these determined directions and distances of movement, compensation to apply to content displayed on the display device to compensate for movement of the user with respect to the device is determined and applied to the content. A portion of the display device at which the user is looking can also be detected. The compensation is applied to the content only if applying the compensation would not result in the portion being positioned beyond the display device. If applying the compensation would result in the portion being positioned beyond the display device then appropriate corrective action is taken, such as not applying the compensation to the content.
    Type: Grant
    Filed: July 25, 2016
    Date of Patent: March 20, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Robin Abraham, Andrew V. Fawcett
  • Patent number: 9860145
    Abstract: Mechanism for two portions of an application to communicate so as to facilitate a transition from synchronous to asynchronous communication. In order to prepare for a possible transition, data flow is monitored between the two portions of the application, each portion interacting with a different hardware entity. The data flow between the first portion and the second portion of the application is recorded. If the second hardware entity is not available at the time, the recorded data flow from the first portion may be replayed by the second portion of the application for the benefit of the second hardware entity. If the second portion of the application is to be reassigned to another hardware entity, the target hardware entity may be sent the second portion of the application, as well as the recorded information. This allows the target hardware entity to replay what has happened thus far for context.
    Type: Grant
    Filed: July 2, 2015
    Date of Patent: January 2, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vijay Mital, Sandeep Suresh, Robin Abraham
  • Patent number: 9785484
    Abstract: Mechanisms for a presentation module to perform distributed interfacing with an application across a plurality of hardware entities. The module identifies the hardware entities that are available to interface with endpoints of an application. The presentation module performs distribution of assignment of hardware entities to interact with the endpoints by, for each of at least some of the hardware entities, determining a subset of endpoints with which the corresponding hardware entities is to interface. Furthermore, the application is operated in that state to thereby detect interaction of at least some of the hardware entities with the application via at least some of the endpoints. Thus, distributed interfacing of hardware entities with an application is facilitated.
    Type: Grant
    Filed: July 2, 2015
    Date of Patent: October 10, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vijay Mital, Robin Abraham, Suraj T. Poozhiyil, Nizam Anuar, Bao Quoc Nguyen, Henry Hun-Li Reid Pan, Darryl E. Rubin
  • Patent number: 9733993
    Abstract: Sharing an application in response to detecting one or more environmental events (such as user input). The mechanism operates multiple applications, and maintains a registry of endpoint interface entities. The endpoint interface entities may include hardware entities or hardware entities in association with environmental criteria. For each of at least some of the applications, the mechanism identifies at least one endpoint interface entity that is to interface with the endpoints at least a portion of the application. The selected endpoint interface entity is then allowed to interface with the application (or the portion). In some embodiments, the application is a transformation chain having endpoints.
    Type: Grant
    Filed: July 2, 2015
    Date of Patent: August 15, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vijay Mital, Sandeep Suresh, Nizam Anuar, Robin Abraham, Curtis DeSantis, George Edward Busby
  • Patent number: 9733915
    Abstract: The incremental formulating an application in response to detecting events (such as user input) in an environment. Upon detecting one or more events, it is determined from this use input that an instance of a first transformation chain class is to be joined with an instance of a second transformation chain class. In response, the instance of the first transformation class is joined with the instance of the second transformation class along one or more data flow dependencies to formulate an aggregated instance. The aggregated instance may then be operated. This process may be repeated in response to different user input to thereby increase the size of the aggregated instance as more and more transformation chain instances join into the aggregated instance at appropriate chains of dependency.
    Type: Grant
    Filed: July 2, 2015
    Date of Patent: August 15, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vijay Mital, Robin Abraham, Suraj T. Poozhiyil, Darryl E. Rubin
  • Patent number: 9712472
    Abstract: The automatic spawning of application in response to detected content in other communications. Such application spawning has the effect of enriching the original communication with the additional functionality of applications that accomplish and supplement the original communication. Such application spawning may be automatic, and responsive to monitoring of the content of the communication. Upon detecting that the content of the communication has satisfied summoning criteria, the application is summoned on a hardware entity associated with one or more of the participants in the communication. This may be accomplished while the communication is still ongoing.
    Type: Grant
    Filed: July 2, 2015
    Date of Patent: July 18, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vijay Mital, Robin Abraham, Sandeep Suresh, Nizam Anuar, Suraj T. Poozhiyil, Darryl E. Rubin
  • Patent number: 9658836
    Abstract: Automatically generating a software class that is compatible with a transformation chain class library. Such may be used to further populate the transformation chain class library with additional classes of software that was not originally generated as a transformation chain. In response to receiving a software representation, a dependency is identified in the software representation. It is then determined that the dependency corresponds to a dependency element of a transformation chain class of the transformation class library. Then, a software class is generated that corresponds to the software representation and that includes a dependency element that corresponds to the identified dependency, and that is recognized by a merging module as being compatible with the dependent element of the transformation chain class of the transformation chain class library. The software class may then be added to the transformation chain class library.
    Type: Grant
    Filed: July 2, 2015
    Date of Patent: May 23, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vijay Mital, Suraj T. Poozhiyil, Robin Abraham
  • Publication number: 20170011011
    Abstract: Displaying application output in a manner that is not predetermined by the application, nor by the display. The computing system associated with the display accesses a set of information output by an application and to be displayed on a display. However, rather than explicit instructions on how to display being received from the application itself, the computing system instead accesses a set of one or more display rules that are associated with the set of information. The computing system then uses the set of one or more display rules to determine how to layout the set of information on the display. If the set of information were to change, the rules may be reevaluated to determine how the new information should be laid out. If the associated set of display rules were to also changed, the reevaluation would occur thereby resulting in a potentially different layout on the display.
    Type: Application
    Filed: July 8, 2015
    Publication date: January 12, 2017
    Inventors: Vijay Mital, Darryl E. Rubin, Robin Abraham, Suraj T. Poozhiyil
  • Publication number: 20170005970
    Abstract: The automatic spawning of application in response to detected content in other communications. Such application spawning has the effect of enriching the original communication with the additional functionality of applications that accomplish and supplement the original communication. Such application spawning may be automatic, and responsive to monitoring of the content of the communication. Upon detecting that the content of the communication has satisfied summoning criteria, the application is summoned on a hardware entity associated with one or more of the participants in the communication. This may be accomplished while the communication is still ongoing.
    Type: Application
    Filed: July 2, 2015
    Publication date: January 5, 2017
    Inventors: Vijay Mital, Robin Abraham, Sandeep Suresh, Nizam Anuar, Suraj T. Poozhiyil, Darryl E. Rubin
  • Publication number: 20170003944
    Abstract: The splitting of an application in response to detected environmental events (such as user input). Such splitting may be performed for purposes of sharing the application. The application is a transformation chain instance. From the detected environmental event(s), it is determined that a portion transformation chain class is to be created from the larger transformation chain class of the application. In response, the portion transformation chain class is created, instantiated and operated. A sharing mechanism may be used to allow the split portion of the application to be shared with other entities without losing control.
    Type: Application
    Filed: July 2, 2015
    Publication date: January 5, 2017
    Inventors: Vijay Mital, Robin Abraham, Henry Hun-Li Reid Pan, Sandeep Suresh, Bao Quoc Nguyen, George Edward Busby, Curtis DeSantis
  • Publication number: 20170003940
    Abstract: Automatically generating a software class that is compatible with a transformation chain class library. Such may be used to further populate the transformation chain class library with additional classes of software that was not originally generated as a transformation chain. In response to receiving a software representation, a dependency is identified in the software representation. It is then determined that the dependency corresponds to a dependency element of a transformation chain class of the transformation class library. Then, a software class is generated that corresponds to the software representation and that includes a dependency element that corresponds to the identified dependency, and that is recognized by a merging module as being compatible with the dependent element of the transformation chain class of the transformation chain class library. The software class may then be added to the transformation chain class library.
    Type: Application
    Filed: July 2, 2015
    Publication date: January 5, 2017
    Inventors: Vijay Mital, Suraj T. Poozhiyil, Robin Abraham
  • Publication number: 20170003943
    Abstract: The incremental formulating an application in response to detecting events (such as user input) in an environment. Upon detecting one or more events, it is determined from this use input that an instance of a first transformation chain class is to be joined with an instance of a second transformation chain class. In response, the instance of the first transformation class is joined with the instance of the second transformation class along one or more data flow dependencies to formulate an aggregated instance. The aggregated instance may then be operated. This process may be repeated in response to different user input to thereby increase the size of the aggregated instance as more and more transformation chain instances join into the aggregated instance at appropriate chains of dependency.
    Type: Application
    Filed: July 2, 2015
    Publication date: January 5, 2017
    Inventors: Vijay Mital, Robin Abraham, Suraj T. Poozhiyil, Darryl E. Rubin
  • Publication number: 20170004022
    Abstract: Sharing an application in response to detecting one or more environmental events (such as user input). The mechanism operates multiple applications, and maintains a registry of endpoint interface entities. The endpoint interface entities may include hardware entities or hardware entities in association with environmental criteria. For each of at least some of the applications, the mechanism identifies at least one endpoint interface entity that is to interface with the endpoints at least a portion of the application. The selected endpoint interface entity is then allowed to interface with the application (or the portion). In some embodiments, the application is a transformation chain having endpoints.
    Type: Application
    Filed: July 2, 2015
    Publication date: January 5, 2017
    Inventors: Vijay Mital, Sandeep Suresh, Nizam Anuar, Robin Abraham, Curtis DeSantis, George Edward Busby
  • Publication number: 20170005897
    Abstract: Mechanism for two portions of an application to communicate so as to facilitate a transition from synchronous to asynchronous communication. In order to prepare for a possible transition, data flow is monitored between the two portions of the application, each portion interacting with a different hardware entity. The data flow between the first portion and the second portion of the application is recorded. If the second hardware entity is not available at the time, the recorded data flow from the first portion may be replayed by the second portion of the application for the benefit of the second hardware entity. If the second portion of the application is to be reassigned to another hardware entity, the target hardware entity may be sent the second portion of the application, as well as the recorded information. This allows the target hardware entity to replay what has happened thus far for context.
    Type: Application
    Filed: July 2, 2015
    Publication date: January 5, 2017
    Inventors: Vijay Mital, Sandeep Suresh, Robin Abraham
  • Publication number: 20170003862
    Abstract: A user interface to share portions of applications between hardware entities and users thereof. The user interface is configured such that a user may select a portion of the user interface (and potentially also use redaction interactions) to identify an appropriate portion of the user interface to share. The user may also select a target hardware entity for that selected portion. Then, the portion of the application that generates that portion (appropriately redacted) of the user interface is shared with the selected target hardware entity. When that selected portion is run on that target entity, the associated user(s) will thus see the portion of the user interface (appropriately redacted). Accordingly, a user may quickly share portions of an application with another user via the use of refined portion selection interactions, and potentially also redaction user interactions.
    Type: Application
    Filed: July 2, 2015
    Publication date: January 5, 2017
    Inventors: Vijay Mital, Henry Hun-Li Reid Pan, Robin Abraham, Sandeep Suresh, Bao Quoc Nguyen
  • Publication number: 20170004021
    Abstract: Mechanisms for a presentation module to perform distributed interfacing with an application across a plurality of hardware entities. The module identifies the hardware entities that are available to interface with endpoints of an application. The presentation module performs distribution of assignment of hardware entities to interact with the endpoints by, for each of at least some of the hardware entities, determining a subset of endpoints with which the corresponding hardware entities is to interface. Furthermore, the application is operated in that state to thereby detect interaction of at least some of the hardware entities with the application via at least some of the endpoints. Thus, distributed interfacing of hardware entities with an application is facilitated.
    Type: Application
    Filed: July 2, 2015
    Publication date: January 5, 2017
    Inventors: Vijay Mital, Robin Abraham, Suraj T. Poozhiyil, Nizam Anuar, Bao Quoc Nguyen, Henry Hun-Li Reid Pan, Darryl E. Rubin
  • Publication number: 20160335739
    Abstract: A direction and distance of movement of a display device as well as of a user of the display device are determined. Based on these determined directions and distances of movement, compensation to apply to content displayed on the display device to compensate for movement of the user with respect to the device is determined and applied to the content. A portion of the display device at which the user is looking can also be detected. The compensation is applied to the content only if applying the compensation would not result in the portion being positioned beyond the display device. If applying the compensation would result in the portion being positioned beyond the display device then appropriate corrective action is taken, such as not applying the compensation to the content.
    Type: Application
    Filed: July 25, 2016
    Publication date: November 17, 2016
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Robin Abraham, Andrew V. Fawcett
  • Patent number: 9417666
    Abstract: A direction and distance of movement of a display device as well as of a user of the display device are determined. Based on these determined directions and distances of movement, compensation to apply to content displayed on the display device to compensate for movement of the user with respect to the device is determined and applied to the content. A portion of the display device at which the user is looking can also be detected. The compensation is applied to the content only if applying the compensation would not result in the portion being positioned beyond the display device. If applying the compensation would result in the portion being positioned beyond the display device then appropriate corrective action is taken, such as not applying the compensation to the content.
    Type: Grant
    Filed: October 19, 2012
    Date of Patent: August 16, 2016
    Assignee: Microsoft Technology Licesning, LLC
    Inventors: Robin Abraham, Andrew V. Fawcett
  • Patent number: 9400733
    Abstract: A pattern matching framework for log analysis is described. In one or more implementations, one or more inputs are received via a user interface of a computing device that describe a filter pattern that specifies data that is to be matched and extracted from a log and a projection pattern that specifies how at least a portion of the data extracted using the filter pattern is to be output. A query is formed from the filter pattern and the projection pattern by the computing device that is configured to analyze the log.
    Type: Grant
    Filed: December 1, 2010
    Date of Patent: July 26, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Robin Abraham
  • Publication number: 20160012640
    Abstract: A cloud-based virtual world generation platform enables users to create content that can be incorporated into games as dynamic virtual worlds. The user-created content employs three-dimensional (3D) models of the user's environment using data that is captured by a camera system having depth sensing capabilities. A composition service exposed by the platform uses the captured data to generate a wireframe model that can be manipulated by the user with tools for applying surface textures (i.e., “skins”) and lighting, and for controlling other attributes and characteristics of the modeled environment. Other tools enable the user to select a particular physics engine that can control how the modeled user environment behaves during gameplay. The platform also exposes a rendering service with which a game can interact to access the user-generated content so that a modeled user environment can be utilized and incorporated into the game as a dynamic virtual world.
    Type: Application
    Filed: July 14, 2014
    Publication date: January 14, 2016
    Inventor: Robin Abraham