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: 10931731
    Abstract: 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: Grant
    Filed: August 7, 2019
    Date of Patent: February 23, 2021
    Assignee: Akamai Technologies, Inc.
    Inventors: Hariharan Kolam, Sharad Jaiswal, Mohammad H. Reshadi, Ashok Anand
  • Patent number: 10599740
    Abstract: 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: Grant
    Filed: June 5, 2015
    Date of Patent: March 24, 2020
    Assignee: Instart Logic, Inc.
    Inventors: Francis G. McCabe, Mohammad H. Reshadi
  • Patent number: 10592292
    Abstract: 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: Grant
    Filed: May 24, 2017
    Date of Patent: March 17, 2020
    Assignee: QUALCOMM Incorporated
    Inventors: Mehrdad Mohammad H. Reshadi, Babak Salamat, Gheorghe C. Cascaval, Mark S. Fowler, Andrey Ermolinskiy, Bohuslav Rychlik
  • Publication number: 20190364090
    Abstract: 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: Application
    Filed: August 7, 2019
    Publication date: November 28, 2019
    Inventors: Hariharan Kolam, Sharad Jaiswal, Mohammad H. Reshadi, Ashok Anand
  • Patent number: 10425464
    Abstract: 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: Grant
    Filed: December 23, 2015
    Date of Patent: September 24, 2019
    Assignee: Instart Logic, Inc.
    Inventors: Hariharan Kolam, Sharad Jaiswal, Mohammad H. Reshadi, Ashok Anand
  • Patent number: 9998521
    Abstract: 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: Grant
    Filed: December 23, 2015
    Date of Patent: June 12, 2018
    Assignee: Instart Logic, Inc.
    Inventors: Hariharan Kolam, Sharad Jaiswal, Mohammad H. Reshadi
  • Patent number: 9898445
    Abstract: 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: Grant
    Filed: December 20, 2012
    Date of Patent: February 20, 2018
    Assignee: QUALCOMM Incorporated
    Inventors: Mohammad H. Reshadi, Michael Weber
  • Patent number: 9819687
    Abstract: 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: Grant
    Filed: February 17, 2012
    Date of Patent: November 14, 2017
    Assignee: QUALCOMM Incorporated
    Inventors: Luis Ceze, Gheorghe C. Cascaval, Mohammad H. Reshadi
  • Patent number: 9813480
    Abstract: 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: Grant
    Filed: December 23, 2015
    Date of Patent: November 7, 2017
    Assignee: Instart Logic, Inc.
    Inventors: Hariharan Kolam, Sharad Jaiswal, Mohammad H. Reshadi
  • Patent number: 9804893
    Abstract: 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: Grant
    Filed: April 8, 2011
    Date of Patent: October 31, 2017
    Assignee: QUALCOMM Incorporated
    Inventors: Mehrdad Mohammad H. Reshadi, Babak Salamat, Gheorghe C. Cascaval, Mark S. Fowler, Andrey Ermolinskiy, Bohuslav Rychlik
  • Publication number: 20170255497
    Abstract: 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: Application
    Filed: May 24, 2017
    Publication date: September 7, 2017
    Inventors: Mehrdad Mohammad H. RESHADI, Babak Salamat, Gheorghe c. Cascaval, Mark S. Fowler, Andrey Ermolinskiy, Bohuslav Rychlik
  • Patent number: 9747440
    Abstract: 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: Grant
    Filed: July 9, 2013
    Date of Patent: August 29, 2017
    Assignee: QUALCOMM Incorporated
    Inventors: Rajarshi Gupta, Mark Bapst, Mohammad H Reshadi, Samir Kumar
  • Patent number: 9531829
    Abstract: 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: Grant
    Filed: November 27, 2013
    Date of Patent: December 27, 2016
    Assignee: Instart Logic, Inc.
    Inventors: Ashok Anand, Mohammad H. Reshadi, Hariharan Kolam, Bowei Du, Aditya Akella
  • Publication number: 20160306786
    Abstract: 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: Application
    Filed: June 24, 2016
    Publication date: October 20, 2016
    Inventors: Christopher A. VICK, Bin Wang, Mohammad H. Reshadi
  • Publication number: 20160241560
    Abstract: 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: Application
    Filed: July 30, 2015
    Publication date: August 18, 2016
    Inventors: Mohammad H. Reshadi, Hariharan Kolam, Rajaram Gaunker, Raghu Batta Venkat
  • Publication number: 20160212101
    Abstract: 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: Application
    Filed: March 24, 2016
    Publication date: July 21, 2016
    Inventors: Mohammad H. Reshadi, Rajaram Gaunker, Hariharan Kolam, Raghu Batta Venkat
  • Publication number: 20160205166
    Abstract: 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: Application
    Filed: December 23, 2015
    Publication date: July 14, 2016
    Inventors: Hariharan Kolam, Sharad Jaiswal, Mohammad H. Reshadi
  • Publication number: 20160205213
    Abstract: 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: Application
    Filed: December 23, 2015
    Publication date: July 14, 2016
    Inventors: Hariharan Kolam, Sharad Jaiswal, Mohammad H. Reshadi
  • Publication number: 20160205167
    Abstract: 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: Application
    Filed: December 23, 2015
    Publication date: July 14, 2016
    Inventors: Hariharan Kolam, Sharad Jaiswal, Mohammad H. Reshadi, Ashok Anand
  • Patent number: 9378199
    Abstract: 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: Grant
    Filed: August 20, 2012
    Date of Patent: June 28, 2016
    Assignee: QUALCOMM Incorporated
    Inventors: Christopher A. Vick, Bin Wang, Mehrdad Mohammad H. Reshadi