Patents by Inventor Mohammad H. Reshadi
Mohammad H. Reshadi 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: 10931731Abstract: A method of speeding up the delivery of a dynamic webpage is disclosed. A plurality of responses to a plurality of requests for a webpage is received, the webpage including dynamic components. The plurality of responses is compared to identify common and dynamic components across the plurality of requests. A cached stub is dynamically adapted based on the comparison within a learning window, the cached stub including the identified common components and placeholders for portions of the identified dynamic components. The dynamically adapted cached stub is sent in response to at least some of the plurality of requests for the webpage. A frequency of reloading of the webpage is monitored, wherein a reloading of the webpage is triggered by a detection of the dynamically adapted cached stub having one of a plurality of types of error. The learning window is adjusted based on a frequency of reloading of the webpage.Type: GrantFiled: August 7, 2019Date of Patent: February 23, 2021Assignee: Akamai Technologies, Inc.Inventors: Hariharan Kolam, Sharad Jaiswal, Mohammad H. Reshadi, Ashok Anand
-
Patent number: 10599740Abstract: A first request for a web program is received. A profiling version of the web program is provided in response to the first request for the web program. The profiling version of the web program identifies each unique function of the web program using a corresponding unique replacement identifier. The web program is analyzed to identify a portion of the web program to be replaced with a reference that corresponds to a location where the identified portion can be obtained. A reduced version of the web program without the identified portion is generated by replacing the identified portion with at least the reference. A second request for a web program is received. The reduced version of the web program is provided in response to the second request for the web program.Type: GrantFiled: June 5, 2015Date of Patent: March 24, 2020Assignee: Instart Logic, Inc.Inventors: Francis G. McCabe, Mohammad H. Reshadi
-
Patent number: 10592292Abstract: Systems and methods enable displaying a graphical representation of system resource usage in a resource utilization map to inform users about system resource utilization by applications and processes running on a computing device. Users may provide inputs to enable the system to adjust resource allocations based on user preferences. This may enable users to improve the overall operational performance of the device consistent with their current personal preferences by identifying applications or processes of most or least interest so the device processor to prioritize system resources accordingly. Some aspects transmit resource allocation data based on such user input to a central server to enable community based resource allocation schemes. Community based resource allocation schemes may be transmitted to computing devices for use as default or preliminary resource allocations for particular applications, websites or device operating states.Type: GrantFiled: May 24, 2017Date of Patent: March 17, 2020Assignee: QUALCOMM IncorporatedInventors: Mehrdad Mohammad H. Reshadi, Babak Salamat, Gheorghe C. Cascaval, Mark S. Fowler, Andrey Ermolinskiy, Bohuslav Rychlik
-
Publication number: 20190364090Abstract: A method of speeding up the delivery of a dynamic webpage is disclosed. A plurality of responses to a plurality of requests for a webpage is received, the webpage including dynamic components. The plurality of responses is compared to identify common and dynamic components across the plurality of requests. A cached stub is dynamically adapted based on the comparison within a learning window, the cached stub including the identified common components and placeholders for portions of the identified dynamic components. The dynamically adapted cached stub is sent in response to at least some of the plurality of requests for the webpage. A frequency of reloading of the webpage is monitored, wherein a reloading of the webpage is triggered by a detection of the dynamically adapted cached stub having one of a plurality of types of error. The learning window is adjusted based on a frequency of reloading of the webpage.Type: ApplicationFiled: August 7, 2019Publication date: November 28, 2019Inventors: Hariharan Kolam, Sharad Jaiswal, Mohammad H. Reshadi, Ashok Anand
-
Patent number: 10425464Abstract: A method of speeding up the delivery of a dynamic webpage is disclosed. A plurality of responses to a plurality of requests for a webpage is received, the webpage including dynamic components. The plurality of responses is compared to identify common and dynamic components across the plurality of requests. A cached stub is dynamically adapted based on the comparison within a learning window, the cached stub including the identified common components and placeholders for portions of the identified dynamic components. The dynamically adapted cached stub is sent in response to at least some of the plurality of requests for the webpage. A frequency of reloading of the webpage is monitored, wherein a reloading of the webpage is triggered by a detection of the dynamically adapted cached stub having one of a plurality of types of error. The learning window is adjusted based on a frequency of reloading of the webpage.Type: GrantFiled: December 23, 2015Date of Patent: September 24, 2019Assignee: Instart Logic, Inc.Inventors: Hariharan Kolam, Sharad Jaiswal, Mohammad H. Reshadi, Ashok Anand
-
Patent number: 9998521Abstract: A method of speeding up the delivery of a dynamic webpage is disclosed. A request for a webpage is received, the webpage including one or more dynamic components. A cached stub is sent in response to the request, the cached stub including common components of the webpage that were empirically determined to be common components across multiple requests for the webpage. The request for the webpage is forwarded to an origin server. The webpage is received from the origin server. A difference between the cached stub and the webpage received from the origin server is determined. An instruction to correct the difference between the cached stub and the webpage received from the origin server is sent.Type: GrantFiled: December 23, 2015Date of Patent: June 12, 2018Assignee: Instart Logic, Inc.Inventors: Hariharan Kolam, Sharad Jaiswal, Mohammad H. Reshadi
-
Patent number: 9898445Abstract: The aspects include browser systems and methods of loading/rendering a webpage by preprocessing scripts within the web document (HTML page) in a sandboxed script engine to discover resources not explicitly requested in the web document so such resources can be pre-fetched and downloaded speculatively. The sandboxed execution of scripts and downloading of discovered resources may proceed in parallel with the performance of other browser operations (e.g., HTML parsing) and other resource requests. The sandboxed script engine may be isolated or separated from the other browser components. The sandboxed script engine may operate to speedup the process of identifying resources inconsistent with standard script execution processes.Type: GrantFiled: December 20, 2012Date of Patent: February 20, 2018Assignee: QUALCOMM IncorporatedInventors: Mohammad H. Reshadi, Michael Weber
-
Patent number: 9819687Abstract: Methods, servers, and systems for using signatures/certifications embedded in pre-processed code to enable use or reuse of pre-processed code to obviate the need to perform some operations or execute some scripts within the web page content. One or more operations may be performed within an executable script in web page content and signing the result of the operation in a manner that can be used to verify that the corresponding operation may be skipped by a browser. A browser receiving signed pre-processed code may use a signature verification process to determine whether the browser can bypass executing corresponding scripts in the web page content or perform alternative operations. Operations may be pre-performed and the results signed by off-line tools and included in the web page content. Results of operations may be stored in memory along with a signature so the results of the operation can be reused in the future.Type: GrantFiled: February 17, 2012Date of Patent: November 14, 2017Assignee: QUALCOMM IncorporatedInventors: Luis Ceze, Gheorghe C. Cascaval, Mohammad H. Reshadi
-
Patent number: 9813480Abstract: A method of speeding up the delivery of a dynamic webpage is disclosed. A request for a webpage is received, the webpage including one or more dynamic components. A cached stub is sent in response to the request, wherein the cached stub includes components empirically determined as static components of the webpage, and wherein the cached stub includes a placeholder replacing at least a portion of a first dynamic component of the webpage. A script is injected in the cached stub that intercepts any access to the placeholder.Type: GrantFiled: December 23, 2015Date of Patent: November 7, 2017Assignee: Instart Logic, Inc.Inventors: Hariharan Kolam, Sharad Jaiswal, Mohammad H. Reshadi
-
Patent number: 9804893Abstract: Systems and methods enable displaying a graphical representation of system resource usage in a resource utilization map to inform users about system resource utilization by applications and processes running on a computing device. Users may provide inputs to enable the system to adjust resource allocations based on user preferences. This may enable users to improve the overall operational performance of the device consistent with their current personal preferences by identifying applications or processes of most or least interest so the device processor to prioritize system resources accordingly. Some aspects transmit resource allocation data based on such user input to a central server to enable community based resource allocation schemes. Community based resource allocation schemes may be transmitted to computing devices for use as default or preliminary resource allocations for particular applications, websites or device operating states.Type: GrantFiled: April 8, 2011Date of Patent: October 31, 2017Assignee: QUALCOMM IncorporatedInventors: Mehrdad Mohammad H. Reshadi, Babak Salamat, Gheorghe C. Cascaval, Mark S. Fowler, Andrey Ermolinskiy, Bohuslav Rychlik
-
Publication number: 20170255497Abstract: Systems and methods enable displaying a graphical representation of system resource usage in a resource utilization map to inform users about system resource utilization by applications and processes running on a computing device. Users may provide inputs to enable the system to adjust resource allocations based on user preferences. This may enable users to improve the overall operational performance of the device consistent with their current personal preferences by identifying applications or processes of most or least interest so the device processor to prioritize system resources accordingly. Some aspects transmit resource allocation data based on such user input to a central server to enable community based resource allocation schemes. Community based resource allocation schemes may be transmitted to computing devices for use as default or preliminary resource allocations for particular applications, websites or device operating states.Type: ApplicationFiled: May 24, 2017Publication date: September 7, 2017Inventors: Mehrdad Mohammad H. RESHADI, Babak Salamat, Gheorghe c. Cascaval, Mark S. Fowler, Andrey Ermolinskiy, Bohuslav Rychlik
-
Patent number: 9747440Abstract: Methods, systems and devices for generating data models in a client-cloud communication system may include applying machine learning techniques to generate a first family of classifier models that describe a cloud corpus of behavior vectors. Such vectors may be analyzed to identify factors in the first family of classifier models that have the highest probability of enabling a mobile device to better determine whether a mobile device behavior is malicious or benign. Based on this analysis, a second family of classifier models may be generated that identify significantly fewer factors and data points as being relevant for enabling the mobile device to better determine whether the mobile device behavior is malicious or benign based on the determined factors. A mobile device classifier module based on the second family of classifier models may be generated and made available for download by mobile devices, including devices contributing behavior vectors.Type: GrantFiled: July 9, 2013Date of Patent: August 29, 2017Assignee: QUALCOMM IncorporatedInventors: Rajarshi Gupta, Mark Bapst, Mohammad H Reshadi, Samir Kumar
-
Patent number: 9531829Abstract: A method of caching resources corresponding to a webpage on a client is disclosed. A hierarchy of a plurality of storage mechanisms available on the client is determined based at least in part on performance of the plurality of storage mechanisms. The hierarchy comprises a plurality of levels to which each storage mechanism may be assigned. A request to cache a first resource corresponding to a webpage is received. One of the plurality of storage mechanisms for caching the first resource is selected based at least in part on the hierarchy. The first resource is stored in the selected storage mechanism of the hierarchy.Type: GrantFiled: November 27, 2013Date of Patent: December 27, 2016Assignee: Instart Logic, Inc.Inventors: Ashok Anand, Mohammad H. Reshadi, Hariharan Kolam, Bowei Du, Aditya Akella
-
Publication number: 20160306786Abstract: The aspects enable a processor to concurrently execute markup language code (e.g., HTML) having embedded scripting language code (e.g., JAVASCRIPT®) during a page load operation by a browser. A markup language parser parses markup language code until embedded scripting language code is encountered. The segment of embedded scripting language code is extracted for execution by a scripting language engine which proceeds concurrently with speculative parsing of the markup language code. Markup language code generated by execution of scripting language code is evaluated to determine if it is well formed, and a partial rollback of the markup language parse and re-parsing of portions of the markup language code is accomplished if not. Concurrent parsing of markup language code and execution of scripting language code, with partial roll back of the parsing process when necessary, continues until all markup language code has been parsed and all scripting language code has been executed.Type: ApplicationFiled: June 24, 2016Publication date: October 20, 2016Inventors: Christopher A. VICK, Bin Wang, Mohammad H. Reshadi
-
Publication number: 20160241560Abstract: A method of restricting usage of a Document Object Model (DOM) application programming interfaces (API) is disclosed. A DOM virtualization layer intercepts a usage of a DOM API associated with one or more scripts running on a web browser. The DOM virtualization layer determines whether the usage of the DOM API by the one or more scripts is allowed based on a DOM API access control list, wherein the DOM API access control list excludes usage of the DOM API by at least some scripts. The DOM virtualization layer processes the usage of the DOM API based on the determination.Type: ApplicationFiled: July 30, 2015Publication date: August 18, 2016Inventors: Mohammad H. Reshadi, Hariharan Kolam, Rajaram Gaunker, Raghu Batta Venkat
-
Publication number: 20160212101Abstract: A request for a resource of web content is received. It is determined whether the request identifies the resource using a transformed identifier that has been generated by transforming an original identifier of the resource. In the event it is determined that the request identifies the resource using the transformed identifier, the transformed identifier is translated back to the original identifier of the resource. The resource is obtained using the original identifier of the resource. The obtained resource is provided as a response to the request for the resource of web content.Type: ApplicationFiled: March 24, 2016Publication date: July 21, 2016Inventors: Mohammad H. Reshadi, Rajaram Gaunker, Hariharan Kolam, Raghu Batta Venkat
-
Publication number: 20160205166Abstract: A method of speeding up the delivery of a dynamic webpage is disclosed. A request for a webpage is received, the webpage including one or more dynamic components. A cached stub is sent in response to the request, the cached stub including common components of the webpage that were empirically determined to be common components across multiple requests for the webpage. The request for the webpage is forwarded to an origin server. The webpage is received from the origin server. A difference between the cached stub and the webpage received from the origin server is determined. An instruction to correct the difference between the cached stub and the webpage received from the origin server is sent.Type: ApplicationFiled: December 23, 2015Publication date: July 14, 2016Inventors: Hariharan Kolam, Sharad Jaiswal, Mohammad H. Reshadi
-
Publication number: 20160205213Abstract: A method of speeding up the delivery of a dynamic webpage is disclosed. A request for a webpage is received, the webpage including one or more dynamic components. A cached stub is sent in response to the request, wherein the cached stub includes components empirically determined as static components of the webpage, and wherein the cached stub includes a placeholder replacing at least a portion of a first dynamic component of the webpage. A script is injected in the cached stub that intercepts any access to the placeholder.Type: ApplicationFiled: December 23, 2015Publication date: July 14, 2016Inventors: Hariharan Kolam, Sharad Jaiswal, Mohammad H. Reshadi
-
Publication number: 20160205167Abstract: A method of speeding up the delivery of a dynamic webpage is disclosed. A plurality of responses to a plurality of requests for a webpage is received, the webpage including dynamic components. The plurality of responses is compared to identify common and dynamic components across the plurality of requests. A cached stub is dynamically adapted based on the comparison within a learning window, the cached stub including the identified common components and placeholders for portions of the identified dynamic components. The dynamically adapted cached stub is sent in response to at least some of the plurality of requests for the webpage. A frequency of reloading of the webpage is monitored, wherein a reloading of the webpage is triggered by a detection of the dynamically adapted cached stub having one of a plurality of types of error. The learning window is adjusted based on a frequency of reloading of the webpage.Type: ApplicationFiled: December 23, 2015Publication date: July 14, 2016Inventors: Hariharan Kolam, Sharad Jaiswal, Mohammad H. Reshadi, Ashok Anand
-
Patent number: 9378199Abstract: The aspects enable a processor to concurrently execute a first serial language code (e.g., HTML) embedding a second serial language code (e.g., JAVASCRIPT®) during a page load operation by a browser. A parser parses the first serial language code until a segment of the embedded second serial language code is encountered. The segment of embedded second serial language code is extracted for execution by an execution engine, which proceeds concurrently with speculative parsing of the first serial language code. Code generated by execution of second serial language code is evaluated to determine if it is well formed, and a partial rollback and re-parsing of the first serial language code is performed if the code is not well formed.Type: GrantFiled: August 20, 2012Date of Patent: June 28, 2016Assignee: QUALCOMM IncorporatedInventors: Christopher A. Vick, Bin Wang, Mehrdad Mohammad H. Reshadi