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
-
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: 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: 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
-
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
-
Patent number: 9372836Abstract: The various aspects provide methods, servers, and systems for identifying independent portions of an HTML document so that the identified portions may be processed in parallel. The independent portions may be associated with an iframe tag having both the seamless and sandbox attributes. At runtime, a browser may detect the presence of both attributes, and process the contents of the iframe in parallel.Type: GrantFiled: April 20, 2012Date of Patent: June 21, 2016Assignee: QUALCOMM IncorporatedInventors: Mohammad H. Reshadi, Gheorghe C. Cascaval
-
Patent number: 9146909Abstract: Methods and devices include a server and at least two web browsers operable on at least two different computing devices. Each browser reports results of processing and rendering of webpages to the server. The server aggregates the data. The server generates metadata from the aggregated browsers. The server transmits the generated metadata to at least one computing device. The computing device renders a webpage using at least a portion of the provided metadata. The metadata may identify portions of JavaScript that can be processed in parallel. The metadata may identify a library portion that does not have to be loaded. The metadata may identify a portion of the webpage that may be rendered first before a second portion of the webpage. Returning metadata to the computing device can assist the computing device in parsing, analyzing or executing the request for the webpage.Type: GrantFiled: July 27, 2011Date of Patent: September 29, 2015Assignee: QUALCOMM IncorporatedInventors: Behrooz Khorashadi, Mohammad H. Reshadi, Saumitra M. Das
-
Patent number: 9063749Abstract: The aspects enable a computing device to execute traditionally software-based JavaScript® operations in hardware. Each JavaScript® object is hashed into a master hashtable that may be stored in the software. A portion of the software hashtable may be pushed to a hardware hashtable using special instruction set registers dedicated to hashtable processing. Each time a software process requests a hashtable operation (e.g., lookup) the hardware hashtable is checked to determine if the value exists in hardware. If the requested value is in the hardware hashtable, the requested value is accessed in a single operation step. If the requested value is not in the hardware hashtable, the requested value is extracted from the master hashtable in the software and a portion of the master hashtable containing the extracted value is pushed to the hardware using special instruction set registers.Type: GrantFiled: July 13, 2011Date of Patent: June 23, 2015Assignee: QUALCOMM IncorporatedInventors: Luis Ceze, Mohammad H. Reshadi, Thomas Sartorius
-
Patent number: 8898780Abstract: Methods, servers, and systems for encoding security labels in a dynamic language value to allow cross script communications within client application while limiting the types of information that is allowed to be communicated back to a host server. Static analysis is performed during compilation, and the results are used to generate and insert additional code that updates, modifies and propagates labels (e.g., JavaScript labels) attached to values (e.g., JavaScript values) during execution of a program. To support popular language features that allow for strong integration with other web-based systems, malicious code is allowed to perform operations locally (e.g., on the client), and a detection and prevention mechanism identifies and stops malicious code from sending requests or gathered information over the network, naturalizing attacks and improving the security of applications that embed dynamic language code.Type: GrantFiled: February 17, 2012Date of Patent: November 25, 2014Assignee: QUALCOMM IncorporatedInventors: Christoph Kerschbaumer, Mohammad H. Reshadi
-
Publication number: 20140143647Abstract: Methods, systems and devices for utilizing signatures to avoid storing redundant webpage resources within a browser cache. In an aspect, a mobile device may receive a resource when generating a webpage hosted by a web server. The mobile device may generate a signature that represents the content of the resource. The mobile device may also compare the generated signature to a list of other signatures related to resources currently stored within the browser cache. When the generated signature does not match one of the other signatures, the mobile device may add the signature to the list and store the resource within the browser cache. In an aspect, the signature may be obtained from the web server or another computing device, and when the obtained signature is not within the list of other signatures, the mobile device may download the resource for storage in the browser cache.Type: ApplicationFiled: November 16, 2012Publication date: May 22, 2014Applicant: QUALCOMM INCORPORATEDInventors: Mohammad H. Reshadi, Vrajesh R. Bhavsar