Patents by Inventor Abhay Parasnis

Abhay Parasnis 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: 11928319
    Abstract: Methods, systems, and computer programs are presented for providing an interactive canvas tool to generate multimodal, personalized content. One method includes providing a user interface (UI) for a canvas tool to generate multimodal content. The canvas tool comprises a prompt panel, a variations panel, and a canvas configured to present items of several types, such as a text type and an image type. The method further includes receiving text input including a textual description with instruction for generating an item, where the canvas tool is configured to generate items from the several types. The method further includes providing the text input to a generative artificial intelligence (GAI) tool, and presenting one or more variations based on an output of the GAI tool. The method further includes detecting a selection of one of the variations in the variations panel, and adding the selected variation to the canvas in the UI.
    Type: Grant
    Filed: May 30, 2023
    Date of Patent: March 12, 2024
    Assignee: Typeface Inc.
    Inventors: Abhay Parasnis, Kang Chen, Hari Srinivasan, Jonathan Moreira, Vishal Sood
  • Patent number: 11922541
    Abstract: Methods, systems, and computer programs are presented for enhancing a machine-generated product image. One method includes an operation for receiving a request on a user interface (UI) to generate an image, where the request comprises a description of the image to be generated and identification of a product for inclusion in the image. The method further includes operations for generating, by a generative artificial intelligence (GAI) model, a first image based on the request, analyzing the first image to identify a presentation of the product in the first image, and selecting a product image from a database of product images based on the identification of the product. The method further includes replacing the presentation of the product in the first image with the selected product image to obtain a second image, and causing presentation in the UI of the second image.
    Type: Grant
    Filed: May 30, 2023
    Date of Patent: March 5, 2024
    Assignee: Typeface Inc.
    Inventors: Abhay Parasnis, Kang Chen, Hari Srinivasan, Jonathan Moreira, Vishal Sood
  • Patent number: 11809688
    Abstract: Methods, systems, and computer programs are presented for providing a prompt tool with interactive entry. One method includes operations for providing a multimodal prompt tool for entering textual description of an item to be generated, and detecting an input that is one of a special character entered in the textual description or a mouse action requesting assistance. Furthermore, a menu is presented with options for the item to be generated, and a list of products, previously added to a data store, is obtained. Further, the method includes providing the list of products for selection; in response to a selection of a product from the list of products, including text associated with the selected product in the textual description; and detecting submittal of the textual description. Further, the textual description is entered as input to a generative artificial intelligence (GAI) tool, and causing presentation of items generated by the GAI tool.
    Type: Grant
    Filed: May 30, 2023
    Date of Patent: November 7, 2023
    Assignee: Typeface Inc.
    Inventors: Abhay Parasnis, Anish Pimpley, Kang Chen, Hari Srinivasan, Jonathan Moreira, Vishal Sood, Yue Ning
  • Patent number: 10242023
    Abstract: A computer user may use a computing environment comprising a set of computers that respectively feature a web browser having a browser cache containing many types of data objects, including application resources and user-generated data files. However, the contents of a browser cache significantly contribute to the computing environment of a computer, and the computing environments presented by each computer may diverge, providing an inconsistent computing environment. Instead, the contents of browser caches of the computers comprising the computing environment may be synchronized across computers. Additionally, the browser cache may be synchronized with the other data objects of a computing environment (such as relevant portions of the filesystem); the synchronizing may be implemented as an out-of-browser process executing independently of the applications, and even when the browser is not executing; and the synchronization may be exposed through a programmatic access with which web applications may interact.
    Type: Grant
    Filed: August 18, 2014
    Date of Patent: March 26, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Endres, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Patent number: 9680964
    Abstract: An application executing in a virtual environment, such as a web browser, may be serviced by an application host, such as a webserver that maintains application resources or provides runtime services to the application. However, it may be difficult to configure the application to operate suitably when the application host is unavailable. Techniques for facilitating such operation include the storing of application resources in a computing environment (such as the local file system or a deployable mesh or cloud environment) while also initiating the application within the virtual environment in the context of the application host, which may reduce difficulties with isolation policies imposed by the virtual environment (e.g., cross-domain restrictions imposed by the web browser.) This configuration may promote the servicing of the application alongside other applications and data objects, e.g.
    Type: Grant
    Filed: March 11, 2009
    Date of Patent: June 13, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Endres, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Patent number: 8959248
    Abstract: Systems and methods of providing synchronization of providing a device mesh and a virtual computing device are disclosed herein. A selection of a plurality of computer devices, such as PDAs, cellphone, laptops, and the like, can be received from a user. The data at the virtual computing device and the plurality of devices can be synchronized. Access to all applications available in each computing device in the plurality of computing devices can be provided at the virtual computing device. Access to all data available in each computing device in the plurality of computing devices can be provided at the virtual computing device. Access to the virtual computing device can be provided via a data network.
    Type: Grant
    Filed: February 22, 2008
    Date of Patent: February 17, 2015
    Assignee: Microsoft Corporation
    Inventors: George P. Moromisato, Raymond E. Ozzie, Noah Edelstein, Abhay Parasnis, Raymond E. Endres
  • Publication number: 20150046519
    Abstract: A computer user may use a computing environment comprising a set of computers that respectively feature a web browser having a browser cache containing many types of data objects, including application resources and user-generated data files. However, the contents of a browser cache significantly contribute to the computing environment of a computer, and the computing environments presented by each computer may diverge, providing an inconsistent computing environment. Instead, the contents of browser caches of the computers comprising the computing environment may be synchronized across computers. Additionally, the browser cache may be synchronized with the other data objects of a computing environment (such as relevant portions of the filesystem); the synchronizing may be implemented as an out-of-browser process executing independently of the applications, and even when the browser is not executing; and the synchronization may be exposed through a programmatic access with which web applications may interact.
    Type: Application
    Filed: August 18, 2014
    Publication date: February 12, 2015
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Endres, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Patent number: 8812451
    Abstract: A computer user may use a computing environment comprising a set of computers that respectively feature a web browser having a browser cache containing many types of data objects, including application resources and user-generated data files. However, the contents of a browser cache significantly contribute to the computing environment of a computer, and the computing environments presented by each computer may diverge, providing an inconsistent computing environment. Instead, the contents of browser caches of the computers comprising the computing environment may be synchronized across computers. Additionally, the browser cache may be synchronized with the other data objects of a computing environment (such as relevant portions of the filesystem); the synchronizing may be implemented as an out-of-browser process executing independently of the applications, and even when the browser is not executing; and the synchronization may be exposed through a programmatic access with which web applications may interact.
    Type: Grant
    Filed: March 11, 2009
    Date of Patent: August 19, 2014
    Assignee: Microsoft Corporation
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Endres, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Patent number: 8533666
    Abstract: In scenarios involving a data set accessible through a protocol, operations sets may be formulated for performing various operations on the data set, and may be expressed as resource scripts according to a scripting language. However, such resource scripts may be difficult to design due to the complicated aspects of the interaction, such as asynchrony, network transport, the syntax of the scripting language, and the details of the protocol. A design environment may be devised to facilitate designers in generating resource scripts, e.g., through the manipulation of visual elements. The design environment may abstract the lower-level working details of the resource scripts, and may allow designers to focus on the logical designing of the operations set. The design environment may then automatically generate the resource script from the operations set in accordance with the constraints of the script language and the protocol.
    Type: Grant
    Filed: October 17, 2008
    Date of Patent: September 10, 2013
    Assignee: Microsoft Corporation
    Inventors: Dharma K. Shukla, Aditya G. Bhandarkar, Shelly Guo, Abhay Parasnis, Ori M. Amiga, Raymond E. Endres, George M. Moore
  • Patent number: 8490052
    Abstract: A data set may be managed by a host that provides access to clients through a protocol, such as a RESTful HTTP interface. A resource script may be expressed according to a script language featuring two types of instructions: data set instructions that correspond to the verbs of the protocol, and flow control instructions that alter the flow of execution of the resource script. At runtime, an execution context for the resource script may be selected as a local execution context (through a local script processor that issues protocol verbs to the host based on the data set operations) or a remote execution context (by sending the resource script to a script processor located on the host.) The runtime selection of data context may be executed without having to reconfigure the resource script, and with an equivalent effect on the data set.
    Type: Grant
    Filed: October 14, 2008
    Date of Patent: July 16, 2013
    Assignee: Microsoft Corporation
    Inventors: Dharma Shukla, Aditya Bhandarkar, Ori Amiga, Raymond Endres, Abhay Parasnis
  • Patent number: 8438295
    Abstract: Data sets of various types may be accessible through a host according to a protocol, such as a RESTful HTTP interface. Various domains may involve domain-specific processes to be executed as pre-triggers or post-triggers of various protocol requests (e.g., an HTTP GET request specifying a Read operation on an access-restricted data set may involve an authorization operations set that verifies the access privileges of the requester.) A host of the data set may be configured to receive a resource script expressing the operations set in a script language, to store the resource script, and to associated it with at least one data set and at least one verb of the protocol. Upon later receiving a protocol request specifying the verb and the resource, the host may then execute the resource script (as a pre-trigger and/or as a post-trigger) in accordance with the business logic of the domain.
    Type: Grant
    Filed: October 14, 2008
    Date of Patent: May 7, 2013
    Assignee: Microsoft Corporation
    Inventors: Dharma Shukla, Aditya Bhandarkar, Ori Amiga, Raymond Endres, Abhay Parasnis
  • Patent number: 8413139
    Abstract: Applications executing on computer systems may execute in a virtual environment, such as a web application executing in a web browser. An application may access the actual computing environment (such as the filesystem), but this accessing may be complicated; e.g., the computing environment may be deployed across many computers and devices, and may be synchronized for offline access via a local cache. A computing environment component may service the complex computing environment (e.g., by managing the cache and retrieving remotely stored data objects) and expose it as a well-organized set of data objects. A virtual environment interface (e.g., a web browser plug-in) may allow applications hosted in the virtual environment to access the computing environment through the computing environment component. Programmatic interfaces may also be implemented to permit such accessing via familiar programming languages and techniques, such as JavaScript libraries exposed to web applications in the web browser.
    Type: Grant
    Filed: March 11, 2009
    Date of Patent: April 2, 2013
    Assignee: Microsoft Corporation
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Enders, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Publication number: 20100235830
    Abstract: Applications executing on computer systems may execute in a virtual environment, such as a web application executing in a web browser. An application may access the actual computing environment (such as the filesystem), but this accessing may be complicated; e.g., the computing environment may be deployed across many computers and devices, and may be synchronized for offline access via a local cache. A computing environment component may service the complex computing environment (e.g., by managing the cache and retrieving remotely stored data objects) and expose it as a well-organized set of data objects. A virtual environment interface (e.g., a web browser plug-in) may allow applications hosted in the virtual environment to access the computing environment through the computing environment component. Programmatic interfaces may also be implemented to permit such accessing via familiar programming languages and techniques, such as JavaScript libraries exposed to web applications in the web browser.
    Type: Application
    Filed: March 11, 2009
    Publication date: September 16, 2010
    Applicant: Microsoft Corporation
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Enders, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Publication number: 20100235321
    Abstract: A computer user may use a computing environment comprising a set of computers that respectively feature a web browser having a browser cache containing many types of data objects, including application resources and user-generated data files. However, the contents of a browser cache significantly contribute to the computing environment of a computer, and the computing environments presented by each computer may diverge, providing an inconsistent computing environment. Instead, the contents of browser caches of the computers comprising the computing environment may be synchronized across computers. Additionally, the browser cache may be synchronized with the other data objects of a computing environment (such as relevant portions of the filesystem); the synchronizing may be implemented as an out-of-browser process executing independently of the applications, and even when the browser is not executing; and the synchronization may be exposed through a programmatic access with which web applications may interact.
    Type: Application
    Filed: March 11, 2009
    Publication date: September 16, 2010
    Applicant: Microsoft Corporation
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Enders, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Publication number: 20100235829
    Abstract: An application executing in a virtual environment, such as a web browser, may be serviced by an application host, such as a webserver that maintains application resources or provides runtime services to the application. However, it may be difficult to configure the application to operate suitably when the application host is unavailable. Techniques for facilitating such operation include the storing of application resources in a computing environment (such as the local file system or a deployable mesh or cloud environment) while also initiating the application within the virtual environment in the context of the application host, which may reduce difficulties with isolation policies imposed by the virtual environment (e.g., cross-domain restrictions imposed by the web browser.) This configuration may promote the servicing of the application alongside other applications and data objects, e.g.
    Type: Application
    Filed: March 11, 2009
    Publication date: September 16, 2010
    Applicant: Microsoft Corporation
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Enders, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Publication number: 20100100868
    Abstract: In scenarios involving a data set accessible through a protocol, operations sets may be formulated for performing various operations on the data set, and may be expressed as resource scripts according to a scripting language. However, such resource scripts may be difficult to design due to the complicated aspects of the interaction, such as asynchrony, network transport, the syntax of the scripting language, and the details of the protocol. A design environment may be devised to facilitate designers in generating resource scripts, e.g., through the manipulation of visual elements. The design environment may abstract the lower-level working details of the resource scripts, and may allow designers to focus on the logical designing of the operations set. The design environment may then automatically generate the resource script from the operations set in accordance with the constraints of the script language and the protocol.
    Type: Application
    Filed: October 17, 2008
    Publication date: April 22, 2010
    Applicant: Microsoft Corporation
    Inventors: Dharma K. Shukla, Aditya G. Bhandarkar, Shelly Guo, Abhay Parasnis, Ori M. Amiga, Raymond E. Endres, George M. Moore
  • Publication number: 20100095272
    Abstract: A data set may be managed by a host that provides access to clients through a protocol, such as a RESTful HTTP interface. A resource script may be expressed according to a script language featuring two types of instructions: data set instructions that correspond to the verbs of the protocol, and flow control instructions that alter the flow of execution of the resource script. At runtime, an execution context for the resource script may be selected as a local execution context (through a local script processor that issues protocol verbs to the host based on the data set operations) or a remote execution context (by sending the resource script to a script processor located on the host.) The runtime selection of data context may be executed without having to reconfigure the resource script, and with an equivalent effect on the data set.
    Type: Application
    Filed: October 14, 2008
    Publication date: April 15, 2010
    Applicant: Microsoft Corporation
    Inventors: Dharma Shukla, Aditya Bhandarkar, Ori Amiga, Raymond Endres, Abhay Parasnis
  • Publication number: 20100094926
    Abstract: Data sets of various types may be accessible through a host according to a protocol, such as a RESTful HTTP interface. Various domains may involve domain-specific processes to be executed as pre-triggers or post-triggers of various protocol requests (e.g., an HTTP GET request specifying a Read operation on an access-restricted data set may involve an authorization operations set that verifies the access privileges of the requester.) A host of the data set may be configured to receive a resource script expressing the operations set in a script language, to store the resource script, and to associated it with at least one data set and at least one verb of the protocol. Upon later receiving a protocol request specifying the verb and the resource, the host may then execute the resource script (as a pre-trigger and/or as a post-trigger) in accordance with the business logic of the domain.
    Type: Application
    Filed: October 14, 2008
    Publication date: April 15, 2010
    Applicant: Microsoft Corporation
    Inventors: Dharma Shukla, Aditya Bhandarkar, Ori Amiga, Raymond Endres, Abhay Parasnis
  • Publication number: 20090216908
    Abstract: Systems and methods of providing synchronization of providing a device mesh and a virtual computing device are disclosed herein. A selection of a plurality of computer devices, such as PDAs, cellphone, laptops, and the like, can be received from a user. The data at the virtual computing device and the plurality of devices can be synchronized. Access to all applications available in each computing device in the plurality of computing devices can be provided at the virtual computing device. Access to all data available in each computing device in the plurality of computing devices can be provided at the virtual computing device. Access to the virtual computing device can be provided via a data network.
    Type: Application
    Filed: February 22, 2008
    Publication date: August 27, 2009
    Applicant: Microsoft Corporation
    Inventors: George P. Moromisato, Raymond E. Ozzie, Noah Edelstein, Abhay Parasnis, Raymond E. Endres
  • Publication number: 20070073598
    Abstract: A request for quote (RFQ) engine (10) includes a data and metrics designer (22) that generates, in response to input from a user, a data and metrics model (42) for an RFQ template using a data and metrics meta-model (32). The RFQ engine (10) also includes a state transition designer (24) that generates, in response to input from the user, a state transition model (44) for the RFQ template using a state transition meta-model (34). Furthermore, the RFQ engine (10) includes a workflow designer (26) that generates, in response to input from the user, a user interface workflow (46) for the RFQ template using a workflow meta-model (36). In addition, the RFQ engine includes an execution engine (40) that executes the RFQ template that includes the data and metrics model (42) generated by the data and metrics designer (22), the state transition model (44) generated by the state transition designer (24), and the user interface workflow (46) generated by the workflow designer (26).
    Type: Application
    Filed: November 27, 2006
    Publication date: March 29, 2007
    Inventors: Abhay Parasnis, Mark Hanson, Haidong Li