Patents by Inventor Farookh Mohammed

Farookh Mohammed 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: 11776541
    Abstract: Techniques for synchronizing communication across devices are described. A system receives an input command corresponding to an announcement and sends data representing the announcement to devices of the system. The system receives responses from the devices and causes the device that originated the announcement to output content corresponding to the responses.
    Type: Grant
    Filed: May 20, 2020
    Date of Patent: October 3, 2023
    Assignee: Amazon Technologies, Inc.
    Inventors: Christo Frank Devaraj, Farookh Mohammed, James Alexander Stanton, Brandon Taylor, Peter Chin, Mahesh Rajagopalan
  • Patent number: 11024303
    Abstract: Techniques for communicating announcements across devices are described. A system performs speech processing on input audio data to determine a command to output an announcement. The system determines devices outputting indicators representing users are proximate thereto. The system generates output audio data corresponding to at least a portion of the input audio data corresponding to announcement content. The system sends the output audio data to the devices along with instructions to output audio corresponding to the output audio data.
    Type: Grant
    Filed: September 19, 2017
    Date of Patent: June 1, 2021
    Assignee: Amazon Technologies, Inc.
    Inventors: Christo Frank Devaraj, Farookh Mohammed, James Alexander Stanton, Brandon Taylor, Peter Chin, Mahesh Rajagopalan
  • Publication number: 20200357399
    Abstract: Techniques for synchronizing communication across devices are described. A system receives an input command corresponding to an announcement and sends data representing the announcement to devices of the system. The system receives responses from the devices and causes the device that originated the announcement to output content corresponding to the responses.
    Type: Application
    Filed: May 20, 2020
    Publication date: November 12, 2020
    Inventors: Christo Frank Devaraj, Farookh Mohammed, James Alexander Stanton, Brandon Taylor, Peter Chin, Mahesh Rajagopalan
  • Patent number: 10706845
    Abstract: Techniques for synchronizing communication across devices are described. A system receives an input command corresponding to an announcement and sends data representing the announcement to devices of the system. The system receives responses from the devices and causes the device that originated the announcement to output content corresponding to the responses.
    Type: Grant
    Filed: September 19, 2017
    Date of Patent: July 7, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Christo Frank Devaraj, Farookh Mohammed, James Alexander Stanton, Brandon Taylor, Peter Chin, Mahesh Rajagopalan
  • Patent number: 10341267
    Abstract: A computer system comprises computer storage holding a plurality of code modules, one or more processors and a communication system. The one or more processors are configured to execute the code modules and thereby implement the bots. The communication system comprises a message relay and an anonymized identifier generator. The message relay is configured to receive a message comprising an identifier of a user and an identifier of a target one of the bots. The anonymized identifier generator is configured to generate an anonymized identifier of the user unique to the target bot, by applying an anonymization function to the user identifier and the bot identifier in the message. The message relay is configured to transmit to the target bot a version of the message, which comprises the anonymized user identifier and does not include the user identifier, wherein the user identifier is not rendered accessible to the target bot.
    Type: Grant
    Filed: June 20, 2016
    Date of Patent: July 2, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Farookh Mohammed, Krishnan Ananthanarayanan, Alexey Pikin, Mieszko G. Matkowski, Andrey Belenko
  • 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
  • Publication number: 20180176385
    Abstract: Systems, methods, and software technology for providing enhanced telephony experiences. In an implementation, a calling party may place a call to a called party. A communication service receives a call request from a client application associated with the calling party requesting that the call be initiated to the called party. The communication service responsively connects the calling party to the called party, but also associates a conversational bot with the call. During the call, the communication service identifies supplemental information associated with the called party to send to the client application by way of the conversational bot. The calling party may thus consume the supplemental information and engage with the conversational bot during the call.
    Type: Application
    Filed: December 21, 2016
    Publication date: June 21, 2018
    Inventors: Amritansh Raghav, Ivo Manolov, Farookh Mohammed
  • 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
  • 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: 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
  • Patent number: 8386424
    Abstract: A unified data access mechanism can provide transparent access to data that is either stored locally or remotely. Application programs can direct data requests and data modifications to this singular component without foreknowledge of where the data is stored. The unified data access mechanism can work in concert with a synchronization mechanism that can maintain data synchronization between local data and remote data. Requested or modified data can be identified as stored locally or remotely based on the namespace of the data. If the data is stored remotely, the user credentials associated with the user's process space within which the application program is executing can be utilized to identify, and then provide, relevant authentication information to the remote data store, should it be required.
    Type: Grant
    Filed: June 15, 2010
    Date of Patent: February 26, 2013
    Assignee: Microsoft Corporation
    Inventors: Nitin Sharma, Todd Manion, Akash Jeevan Sagar, Nishant Gupta, Farookh Mohammed, Aditya G Bhandarkar, Karthik Raman, Ori Amiga
  • Patent number: 8321503
    Abstract: A back-end locator service can be utilized to identify a specific computing device, from among multiple computing devices in a domain, that is the most appropriate computing device to handle a particular type of request for data or other resources. The data or resources hosted by the domain can be divided among multiple computing devices. The domain can expose a network-based application program interface where successive requests by a client computing device become more specific as to the data or resources requested. Responses from the computing devices in the domain can, at some point in time, be informed by the back-end locator service and can comprise location-specific resource identifiers. The client computing device can utilize such location specific resource identifiers to direct further communications to the appropriate, specific computing device without having to incur redirection inefficiencies.
    Type: Grant
    Filed: June 24, 2010
    Date of Patent: November 27, 2012
    Assignee: Microsoft Corporation
    Inventors: Raymond E. Endres, Nishant Gupta, Karthik Raman, Aditya G. Bhandarkar, Farookh Mohammed, Dharma Shukla
  • Publication number: 20110320522
    Abstract: A back-end locator service can be utilized to identify a specific computing device, from among multiple computing devices in a domain, that is the most appropriate computing device to handle a particular type of request for data or other resources. The data or resources hosted by the domain can be divided among multiple computing devices. The domain can expose a network-based application program interface where successive requests by a client computing device become more specific as to the data or resources requested. Responses from the computing devices in the domain can, at some point in time, be informed by the back-end locator service and can comprise location-specific resource identifiers. The client computing device can utilize such location specific resource identifiers to direct further communications to the appropriate, specific computing device without having to incur redirection inefficiencies.
    Type: Application
    Filed: June 24, 2010
    Publication date: December 29, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Raymond E. Endres, Nishant Gupta, Karthik Raman, Aditya G. Bhandarkar, Farookh Mohammed, Dharma Shukla
  • Publication number: 20110307442
    Abstract: A unified data access mechanism can provide transparent access to data that is either stored locally or remotely. Application programs can direct data requests and data modifications to this singular component without foreknowledge of where the data is stored. The unified data access mechanism can work in concert with a synchronization mechanism that can maintain data synchronization between local data and remote data. Requested or modified data can be identified as stored locally or remotely based on the namespace of the data. If the data is stored remotely, the user credentials associated with the user's process space within which the application program is executing can be utilized to identify, and then provide, relevant authentication information to the remote data store, should it be required.
    Type: Application
    Filed: June 15, 2010
    Publication date: December 15, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Nitin Sharma, Todd Manion, Akash Jeevan Sagar, Nishant Gupta, Farookh Mohammed, Aditya G. Bhandarkar, Karthik Raman, Ori Amiga
  • 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: 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: 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: 20100138501
    Abstract: In a push environment having a communication path along which a service provides messages to a computing device via a gateway, an inactivity timeout value and a registration timeout value enable the computing device to detect failures in the communication path. An application executing on the computing device registers an application endpoint with the gateway. The application separately subscribes to the service to receive the messages. If there is inactivity in accordance with the inactivity timeout value, the application de-registers and re-registers with the gateway, and unsubscribes and re-subscribes with the service.
    Type: Application
    Filed: December 3, 2008
    Publication date: June 3, 2010
    Applicant: Microsoft Corporation
    Inventors: Nathaniel T. Clinton, Adam Sapek, Johannes Klein, Farookh Mohammed, Rashid Qureshi, Shai Herzog, Eric David Deily