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: 20230251855Abstract: 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: ApplicationFiled: January 30, 2023Publication date: August 10, 2023Inventors: Akhil GUPTA, Abhinav JHA, Prabhat Kumar PANDEY, Abhishek AGARWAL, Yasser SHAABAN
-
Patent number: 11599355Abstract: 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: GrantFiled: June 21, 2021Date of Patent: March 7, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Akhil Gupta, Abhinav Jha, Prabhat Kumar Pandey, Abhishek Agarwal, Yasser Shaaban
-
Publication number: 20220405093Abstract: 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: ApplicationFiled: June 21, 2021Publication date: December 22, 2022Inventors: Akhil GUPTA, Abhinav JHA, Prabhat Kumar PANDEY, Abhishek AGARWAL, Yasser SHAABAN
-
Patent number: 11010219Abstract: 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: GrantFiled: March 4, 2019Date of Patent: May 18, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Aaron Lahman, Yasser Shaaban, Mariyan Fransazov, Alexander Jon Dobin
-
Patent number: 11006369Abstract: 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: GrantFiled: January 20, 2020Date of Patent: May 11, 2021Assignee: Microsoft Technology Licensing, LLCInventors: 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: 10795652Abstract: 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: GrantFiled: December 28, 2016Date of Patent: October 6, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Sameer Tejani, Adina Magdalena Trufinescu, Yasser Shaaban, Abolade Gbadegesin, Ashish Babbar, Mei-Chin Tsai, Subramanian Ramaswamy, Casimir Lakshan Fernando
-
Patent number: 10778795Abstract: 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: GrantFiled: January 30, 2017Date of Patent: September 15, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Aaron Lahman, Yasser Shaaban, Mariyan Fransazov, Alexander Jon Dobin
-
Publication number: 20200154360Abstract: 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: ApplicationFiled: January 20, 2020Publication date: May 14, 2020Inventors: 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: 10540215Abstract: 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: GrantFiled: May 31, 2018Date of Patent: January 21, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Andrew M. Pennell, Siu Yu Cherie Quek, Ankit Saraf, Yasser Shaaban
-
Patent number: 10542496Abstract: 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: GrantFiled: June 6, 2018Date of Patent: January 21, 2020Assignee: Microsoft Technology Licensing, LLCInventors: 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: 10455040Abstract: 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: GrantFiled: January 30, 2017Date of Patent: October 22, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Aaron Lahman, Yasser Shaaban, Mariyan Fransazov, Alexander Jon Dobin
-
Publication number: 20190196891Abstract: 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: ApplicationFiled: March 4, 2019Publication date: June 27, 2019Inventors: Aaron Lahman, Yasser Shaaban, Mariyan Fransazov, Alexander Jon Dobin
-
Patent number: 10223181Abstract: 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: GrantFiled: January 30, 2017Date of Patent: March 5, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Aaron Lahman, Yasser Shaaban, Mariyan Fransazov, Alexander Jon Dobin
-
Publication number: 20190012216Abstract: 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: ApplicationFiled: May 31, 2018Publication date: January 10, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Andrew M. PENNELL, Siu Yu Cherie QUEK, Ankit SARAF, Yasser SHAABAN
-
Publication number: 20180352516Abstract: 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: ApplicationFiled: June 6, 2018Publication date: December 6, 2018Inventors: 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: 20180219961Abstract: 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: ApplicationFiled: January 30, 2017Publication date: August 2, 2018Inventors: Aaron Lahman, Yasser Shaaban, Mariyan Fransazov, Alexander Jon Dobin
-
Publication number: 20180217886Abstract: 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: ApplicationFiled: January 30, 2017Publication date: August 2, 2018Inventors: Aaron Lahman, Yasser Shaaban, Mariyan Fransazov, Alexander Jon Dobin
-
Publication number: 20180219962Abstract: 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: ApplicationFiled: January 30, 2017Publication date: August 2, 2018Inventors: Aaron Lahman, Yasser Shaaban, Mariyan Fransazov, Alexander Jon Dobin
-
Patent number: 10009850Abstract: 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: GrantFiled: December 19, 2016Date of Patent: June 26, 2018Assignee: Microsoft Technology Licensing, LLCInventors: 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: 20180139700Abstract: 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: ApplicationFiled: December 19, 2016Publication date: May 17, 2018Inventors: 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