Patents by Inventor Yasser Shaaban

Yasser Shaaban 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).

  • Publication number: 20230251855
    Abstract: Versions of an application are managed by receiving a request for a version of an application, retrieving, responsive to the received request, a version of a master application component based at least in part on version data that associates a version of the master application component with the version of the application, retrieving a relationship operable to relate the version of the master application component with a corresponding version of a first component on which the master application component depends for a function of the application, retrieving the corresponding version of the first component, responsive to the retrieving of the relationship, assembling the version of the application based at least in part on the retrieved version of the master component, the retrieved relationship, and the retrieved first component, and providing for an execution of the assembled version of the application.
    Type: Application
    Filed: January 30, 2023
    Publication date: August 10, 2023
    Inventors: Akhil GUPTA, Abhinav JHA, Prabhat Kumar PANDEY, Abhishek AGARWAL, Yasser SHAABAN
  • Patent number: 11599355
    Abstract: Versions of an application are managed by receiving a request for a version of an application, retrieving, responsive to the received request, a version of a master application component based at least in part on version data that associates a version of the master application component with the version of the application, retrieving a relationship operable to relate the version of the master application component with a corresponding version of a first component on which the master application component depends for a function of the application, retrieving the corresponding version of the first component, responsive to the retrieving of the relationship, assembling the version of the application based at least in part on the retrieved version of the master component, the retrieved relationship, and the retrieved first component, and providing for an execution of the assembled version of the application.
    Type: Grant
    Filed: June 21, 2021
    Date of Patent: March 7, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Akhil Gupta, Abhinav Jha, Prabhat Kumar Pandey, Abhishek Agarwal, Yasser Shaaban
  • Publication number: 20220405093
    Abstract: Versions of an application are managed by receiving a request for a version of an application, retrieving, responsive to the received request, a version of a master application component based at least in part on version data that associates a version of the master application component with the version of the application, retrieving a relationship operable to relate the version of the master application component with a corresponding version of a first component on which the master application component depends for a function of the application, retrieving the corresponding version of the first component, responsive to the retrieving of the relationship, assembling the version of the application based at least in part on the retrieved version of the master component, the retrieved relationship, and the retrieved first component, and providing for an execution of the assembled version of the application.
    Type: Application
    Filed: June 21, 2021
    Publication date: December 22, 2022
    Inventors: Akhil GUPTA, Abhinav JHA, Prabhat Kumar PANDEY, Abhishek AGARWAL, Yasser SHAABAN
  • Patent number: 11010219
    Abstract: A system is provided for an application executed by a client to invoke a remote object method of a remote object of a remote object class that is hosted by a server. The application instantiates a proxy of a proxy class that includes a proxy member function with the same signature as the remote object member function. The application associates an object identifier with the proxy. The application invokes the proxy member function of the proxy. Under control of the invoked proxy member function, the application sends to the server an invocation request message that includes the object identifier that is associated with the proxy and an identifier of the remote object member function. The application relies on functionality provided by the browser without the need for the browser to access add-on functionality when executing the application.
    Type: Grant
    Filed: March 4, 2019
    Date of Patent: May 18, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Aaron Lahman, Yasser Shaaban, Mariyan Fransazov, Alexander Jon Dobin
  • Patent number: 11006369
    Abstract: The subject disclosure is directed towards a background transfer service that provides platform-level support for third party applications to queue data transfers to run in the background, including when the application is not running in the foreground. Applications may thus perform downloading and uploading tasks in the background; however the background transfer service manages the data transfer requests so as to limit each background application's ability to interfere with foreground application operations, that is, by controlling resource usage according to one or more policies.
    Type: Grant
    Filed: January 20, 2020
    Date of Patent: May 11, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Marc David McClure, Abolade Gbadegesin, Chittur Padmanabhan Subbaraman, Jianping Yin, Jorge I. Raastroem, Yasser Shaaban, Timothy Daniel Noonan, Rachel Jiang, Peter John Torr, Vishal Ghotge, Gregory Arthur De Souza, Pavan Rajamohan Hullumane, Adrian Dragomir, Darin Miller, Megan Galbraith Donahue
  • Patent number: 10795652
    Abstract: Disclosed herein are representative embodiments of tools and techniques for installing, executing, and/or updating managed applications through generation of native code from code in an intermediate language. According to one exemplary technique, a computing device receives machine dependent intermediate language code (MDIL code) generated by an online provider for an application. Additionally, the computing device installs the application on the computing device by generating a native image for the application, which includes binding a portion of the MDIL code with one or more libraries on the computing device. Also, the native image is stored on the computing device for use in loading the application for execution.
    Type: Grant
    Filed: December 28, 2016
    Date of Patent: October 6, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sameer Tejani, Adina Magdalena Trufinescu, Yasser Shaaban, Abolade Gbadegesin, Ashish Babbar, Mei-Chin Tsai, Subramanian Ramaswamy, Casimir Lakshan Fernando
  • Patent number: 10778795
    Abstract: A system is provided for synchronizing a property value between a proxy of an application of a client and a corresponding remote object of a server. The application instantiates a proxy of a proxy class corresponding to a remote object of a remote object class where the proxy class specifies a property with a proxy getter. The application sends to the server an invocation request message to invoke a remote object member function of a remote object and receives an invocation response message. When the invocation response message includes a property update, the application extracts from the invocation response message the value of the property from the property update and stores the extracted value in the proxy. When the proxy getter for the property is invoked, the value of the property can be retrieved from the proxy without having to send an invocation request message to the server.
    Type: Grant
    Filed: January 30, 2017
    Date of Patent: September 15, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Aaron Lahman, Yasser Shaaban, Mariyan Fransazov, Alexander Jon Dobin
  • Publication number: 20200154360
    Abstract: The subject disclosure is directed towards a background transfer service that provides platform-level support for third party applications to queue data transfers to run in the background, including when the application is not running in the foreground. Applications may thus perform downloading and uploading tasks in the background; however the background transfer service manages the data transfer requests so as to limit each background application's ability to interfere with foreground application operations, that is, by controlling resource usage according to one or more policies.
    Type: Application
    Filed: January 20, 2020
    Publication date: May 14, 2020
    Inventors: Marc David MCCLURE, Abolade GBADEGESIN, Chittur Padmanabhan SUBBARAMAN, Jianping YIN, Jorge I. RAASTROEM, Yasser SHAABAN, Timothy Daniel NOONAN, Rachel JIANG, Peter John TORR, Vishal GHOTGE, Gregory Arthur DE SOUZA, Pavan Rajamohan HULLUMANE, Adrian DRAGOMIR, Darin MILLER, Megan Galbraith DONAHUE
  • Patent number: 10540215
    Abstract: An integrated application environment includes a host web application executed in a browser, and a target application embedded in a container of the host web application. Interoperability layers facilitate messaging between the host web application and a host entity object of the target application in the container according to multiple communication protocols.
    Type: Grant
    Filed: May 31, 2018
    Date of Patent: January 21, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Andrew M. Pennell, Siu Yu Cherie Quek, Ankit Saraf, Yasser Shaaban
  • Patent number: 10542496
    Abstract: The subject disclosure is directed towards a background transfer service that provides platform-level support for third party applications to queue data transfers to run in the background, including when the application is not running in the foreground. Applications may thus perform downloading and uploading tasks in the background; however the background transfer service manages the data transfer requests so as to limit each background application's ability to interfere with foreground application operations, that is, by controlling resource usage according to one or more policies.
    Type: Grant
    Filed: June 6, 2018
    Date of Patent: January 21, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Marc David McClure, Abolade Gbadegesin, Chittur Padmanabhan Subbaraman, Jianping Yin, Jorge I. Raastroem, Yasser Shaaban, Timothy Daniel Noonan, Rachel Jiang, Peter John Torr, Vishal Ghotge, Gregory Arthur De Souza, Pavan Rajamohan Hullumane, Adrian Dragomir, Darin Miller, Megan Galbraith Donahue
  • Patent number: 10455040
    Abstract: A system is provided for an application executing at a client to send invocation requests to remote objects of a server. Each invocation request is generated when the application invokes a proxy of a proxy class of the application corresponding to a remote object of a remote object class. For each invocation request, when the invocation request is deferrable, the system stores the invocation request. When the invocation request is not deferrable, the system sends to the server an invocation request message that includes each stored invocation request not previously sent and the current invocation request. The system receives invocation response messages from the server. For each invocation response of a received invocation response message, the system provides to the application an indication that the invocation response has been received.
    Type: Grant
    Filed: January 30, 2017
    Date of Patent: October 22, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Aaron Lahman, Yasser Shaaban, Mariyan Fransazov, Alexander Jon Dobin
  • Publication number: 20190196891
    Abstract: A system is provided for an application executed by a client to invoke a remote object method of a remote object of a remote object class that is hosted by a server. The application instantiates a proxy of a proxy class that includes a proxy member function with the same signature as the remote object member function. The application associates an object identifier with the proxy. The application invokes the proxy member function of the proxy. Under control of the invoked proxy member function, the application sends to the server an invocation request message that includes the object identifier that is associated with the proxy and an identifier of the remote object member function. The application relies on functionality provided by the browser without the need for the browser to access add-on functionality when executing the application.
    Type: Application
    Filed: March 4, 2019
    Publication date: June 27, 2019
    Inventors: Aaron Lahman, Yasser Shaaban, Mariyan Fransazov, Alexander Jon Dobin
  • Patent number: 10223181
    Abstract: A system is provided for an application executed by a client to invoke a remote object method of a remote object of a remote object class that is hosted by a server. The application instantiates a proxy of a proxy class that includes a proxy member function with the same signature as the remote object member function. The application associates an object identifier with the proxy. The application invokes the proxy member function of the proxy. Under control of the invoked proxy member function, the application sends to the server an invocation request message that includes the object identifier that is associated with the proxy and an identifier of the remote object member function. The application relies on functionality provided by the browser without the need for the browser to access add-on functionality when executing the application.
    Type: Grant
    Filed: January 30, 2017
    Date of Patent: March 5, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Aaron Lahman, Yasser Shaaban, Mariyan Fransazov, Alexander Jon Dobin
  • Publication number: 20190012216
    Abstract: An integrated application environment includes a host web application executed in a browser, and a target application embedded in a container of the host web application. Interoperability layers facilitate messaging between the host web application and a host entity object of the target application in the container according to multiple communication protocols.
    Type: Application
    Filed: May 31, 2018
    Publication date: January 10, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Andrew M. PENNELL, Siu Yu Cherie QUEK, Ankit SARAF, Yasser SHAABAN
  • Publication number: 20180352516
    Abstract: The subject disclosure is directed towards a background transfer service that provides platform-level support for third party applications to queue data transfers to run in the background, including when the application is not running in the foreground. Applications may thus perform downloading and uploading tasks in the background; however the background transfer service manages the data transfer requests so as to limit each background application's ability to interfere with foreground application operations, that is, by controlling resource usage according to one or more policies.
    Type: Application
    Filed: June 6, 2018
    Publication date: December 6, 2018
    Inventors: Marc David MCCLURE, Abolade GBADEGESIN, Chittur Padmanabhan SUBBARAMAN, Jianping YIN, Jorge I. RAASTROEM, Yasser SHAABAN, Timothy Daniel NOONAN, Rachel JIANG, Peter John TORR, Vishal GHOTGE, Gregory Arthur DE SOUZA, Pavan Rajamohan HULLUMANE, Adrian DRAGOMIR, Darin MILLER, Megan Galbraith DONAHUE
  • Publication number: 20180219961
    Abstract: A system is provided for an application executing at a client to send invocation requests to remote objects of a server. Each invocation request is generated when the application invokes a proxy of a proxy class of the application corresponding to a remote object of a remote object class. For each invocation request, when the invocation request is deferrable, the system stores the invocation request. When the invocation request is not deferrable, the system sends to the server an invocation request message that includes each stored invocation request not previously sent and the current invocation request. The system receives invocation response messages from the server. For each invocation response of a received invocation response message, the system provides to the application an indication that the invocation response has been received.
    Type: Application
    Filed: January 30, 2017
    Publication date: August 2, 2018
    Inventors: Aaron Lahman, Yasser Shaaban, Mariyan Fransazov, Alexander Jon Dobin
  • Publication number: 20180217886
    Abstract: A system is provided for an application executed by a client to invoke a remote object method of a remote object of a remote object class that is hosted by a server. The application instantiates a proxy of a proxy class that includes a proxy member function with the same signature as the remote object member function. The application associates an object identifier with the proxy. The application invokes the proxy member function of the proxy. Under control of the invoked proxy member function, the application sends to the server an invocation request message that includes the object identifier that is associated with the proxy and an identifier of the remote object member function. The application relies on functionality provided by the browser without the need for the browser to access add-on functionality when executing the application.
    Type: Application
    Filed: January 30, 2017
    Publication date: August 2, 2018
    Inventors: Aaron Lahman, Yasser Shaaban, Mariyan Fransazov, Alexander Jon Dobin
  • Publication number: 20180219962
    Abstract: A system is provided for synchronizing a property value between a proxy of an application of a client and a corresponding remote object of a server. The application instantiates a proxy of a proxy class corresponding to a remote object of a remote object class where the proxy class specifies a property with a proxy getter. The application sends to the server an invocation request message to invoke a remote object member function of a remote object and receives an invocation response message. When the invocation response message includes a property update, the application extracts from the invocation response message the value of the property from the property update and stores the extracted value in the proxy. When the proxy getter for the property is invoked, the value of the property can be retrieved from the proxy without having to send an invocation request message to the server.
    Type: Application
    Filed: January 30, 2017
    Publication date: August 2, 2018
    Inventors: Aaron Lahman, Yasser Shaaban, Mariyan Fransazov, Alexander Jon Dobin
  • Patent number: 10009850
    Abstract: The subject disclosure is directed towards a background transfer service that provides platform-level support for third party applications to queue data transfers to run in the background, including when the application is not running in the foreground. Applications may thus perform downloading and uploading tasks in the background; however the background transfer service manages the data transfer requests so as to limit each background application's ability to interfere with foreground application operations, that is, by controlling resource usage according to one or more policies.
    Type: Grant
    Filed: December 19, 2016
    Date of Patent: June 26, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Marc David McClure, Abolade Gbadegesin, Chittur Padmanabhan Subbaraman, Jianping Yin, Jorge I. Raastroem, Yasser Shaaban, Timothy Daniel Noonan, Rachel Jiang, Peter John Torr, Vishal Ghotge, Gregory Arthur de Souza, Pavan Rajamohan Hullumane, Adrian Dragomir, Darin Miller, Megan Galbraith Donahue
  • Publication number: 20180139700
    Abstract: The subject disclosure is directed towards a background transfer service that provides platform-level support for third party applications to queue data transfers to run in the background, including when the application is not running in the foreground. Applications may thus perform downloading and uploading tasks in the background; however the background transfer service manages the data transfer requests so as to limit each background application's ability to interfere with foreground application operations, that is, by controlling resource usage according to one or more policies.
    Type: Application
    Filed: December 19, 2016
    Publication date: May 17, 2018
    Inventors: Marc David McClure, Abolade Gbadegesin, Chittur Padmanabhan Subbaraman, Jianping Yin, Jorge I. Raastroem, Yasser Shaaban, Timothy Daniel Noonan, Rachel Jiang, Peter John Torr, Vishal Ghotge, Gregory Arthur de Souza, Pavan Rajamohan Hullumane, Adrian Dragomir, Darin Miller, Megan Galbraith Donahue