Patents by Inventor Darin Fisher

Darin Fisher 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: 10425463
    Abstract: This specification describes technologies relating to software execution. A computing device includes a processor. An operating system includes an execution environment in which applications can execute computer-specific commands. A web-browser application includes a scripting environment for interpreting scripted modules. The web-browser application further includes a native environment in which native modules can execute computer-specific commands. The web-browser application further includes an interface between the scripting environment and the native environment. The interface includes functions to asynchronously pass data objects by value, from one of the scripting environment and the native environment, to the other of the scripting environment and the native environment.
    Type: Grant
    Filed: September 4, 2015
    Date of Patent: September 24, 2019
    Assignee: GOOGLE LLC
    Inventors: David A. Michael, Darin Fisher, Brett E. Wilson
  • Patent number: 9557908
    Abstract: Systems and methods for rendering web content in a browser are described herein. An embodiment includes a web rendering engine in a rendering engine process to generate one or more requests to selectively redraw one or more regions of content retrieved by a browser process. A renderview then generates a bitmap based on the requests and content retrieved by the browser process. The bitmap may then be stored by the renderview in a shared memory area where it may be accessed by a renderview host in the browser process. The renderview host may then provide the bitmap to a backing store associated with a display device for display to a user. In another embodiment, the shared memory area between the browser process and the rendering engine process may be used to achieve efficient scrolling of a web page through rate limited rendering of content.
    Type: Grant
    Filed: June 17, 2014
    Date of Patent: January 31, 2017
    Assignee: Google Inc.
    Inventors: Darin Fisher, Brett Wilson
  • Patent number: 9507648
    Abstract: Embodiments of the present invention relate to browser plug-ins. In one embodiment, a system browses web content using a plug-in. The system includes at least one renderer process that detects plug-in content in the web content. Separate from the at least one tenderer process, the system also includes a plug-in process that includes the plug-in and communicates with the at least one renderer process to interpret the plug-in content using an inter-process communication channel.
    Type: Grant
    Filed: November 20, 2015
    Date of Patent: November 29, 2016
    Assignee: Google Inc.
    Inventors: John Abd-El-Malek, Darin Fisher, Mike Belshe
  • Publication number: 20160050253
    Abstract: This specification describes technologies relating to software execution. A computing device includes a processor. An operating system includes an execution environment in which applications can execute computer-specific commands. A web-browser application includes a scripting environment for interpreting scripted modules. The web-browser application further includes a native environment in which native modules can execute computer-specific commands. The web-browser application further includes an interface between the scripting environment and the native environment. The interface includes functions to asynchronously pass data objects by value, from one of the scripting environment and the native environment, to the other of the scripting environment and the native environment.
    Type: Application
    Filed: September 4, 2015
    Publication date: February 18, 2016
    Inventors: David A. Michael, Darin Fisher, Brett E. Wilson
  • Patent number: 9128702
    Abstract: This specification describes technologies relating to software execution. A computing device includes a processor. An operating system includes an execution environment in which applications can execute computer-specific commands. A web-browser application includes a scripting environment for interpreting scripted modules. The web-browser application further includes a native environment in which native modules can execute computer-specific commands. The web-browser application further includes an interface between the scripting environment and the native environment. The interface includes functions to asynchronously pass data objects by value, from one of the scripting environment and the native environment, to the other of the scripting environment and the native environment.
    Type: Grant
    Filed: March 23, 2012
    Date of Patent: September 8, 2015
    Assignee: Google Inc.
    Inventors: David A. Michael, Darin Fisher, Brett E. Wilson
  • Publication number: 20150193286
    Abstract: This specification describes technologies relating to software execution. A computing device includes a processor. An operating system includes an execution environment in which applications can execute computer-specific commands. A web-browser application includes a scripting environment for interpreting scripted modules. The web-browser application further includes a native environment in which native modules can execute computer-specific commands. The web-browser application further includes an interface between the scripting environment and the native environment. The interface includes functions to asynchronously pass data objects by value, from one of the scripting environment and the native environment, to the other of the scripting environment and the native environment.
    Type: Application
    Filed: March 23, 2012
    Publication date: July 9, 2015
    Inventors: David A. Michael, Darin Fisher, Brett E. Wilson
  • Patent number: 8954589
    Abstract: Systems and methods for multi-process browser architecture are described herein. In an embodiment, a system for providing multi-process browser architecture includes at least one rendering process for each browser instance that renders a content area; and at least one browser process that communicates with one or a plurality of rendering engine processes. In another embodiment, a method for providing a multi-process browser architecture includes instantiating a unique rendering process for each content area instance and instantiating a unique browser process. In this way browsers may avoid the effects of faulty processes affecting other browser processes. This may improve user efficiency while enhancing user experience.
    Type: Grant
    Filed: September 12, 2012
    Date of Patent: February 10, 2015
    Assignee: Google Inc.
    Inventors: Darin Fisher, Brett Wilson, Ben Goodger, Arnaud Weber
  • Patent number: 8910277
    Abstract: Systems, methods and articles of manufacture for process-based domain isolation are discussed herein. A method embodiment includes determining domains associated with a plurality of content areas and rendering content areas associated with different domains into separate processes, wherein each domain from the one or more domains is associated with a separate process that communicates with its respective individual domain. The method further comprises identifying browsing instances including content areas that can script each other, identifying site instances including content areas sharing a common domain, and controlling communication between content areas across the identified site instances within each browsing instance.
    Type: Grant
    Filed: December 22, 2010
    Date of Patent: December 9, 2014
    Assignee: Google Inc.
    Inventors: Charles Reis, Darin Fisher, Adam Barth, Christian Lewis Evans
  • Patent number: 8817054
    Abstract: Systems and methods for rendering web content in a browser are described herein. An embodiment includes a web rendering engine in a rendering engine process to generate one or more requests to selectively redraw one or more regions of content retrieved by a browser process. A renderview then generates a bitmap based on the requests and content retrieved by the browser process. The bitmap may then be stored by the renderview in a shared memory area where it may be accessed by a renderview host in the browser process. The renderview host may then provide the bitmap to a backing store associated with a display device for display to a user. In another embodiment, the shared memory area between the browser process and the rendering engine process may be used to achieve efficient scrolling of a web page through rate limited rendering of content.
    Type: Grant
    Filed: May 12, 2009
    Date of Patent: August 26, 2014
    Assignee: Google Inc.
    Inventors: Darin Fisher, Brett Wilson
  • Patent number: 8726182
    Abstract: A multi-stage throbber that can be used to communicate stages of progress of resource loading in a browser to a user. In an embodiment, a method for communicating resource loading progress in a browser is provided. The method includes evaluating the resource loading progress, identifying a throbber stage representative of the evaluated resource loading progress, and outputting multi-stage throbber data for rendering a multi-stage throbber at the identified throbber stage.
    Type: Grant
    Filed: September 1, 2009
    Date of Patent: May 13, 2014
    Assignee: Google Inc.
    Inventors: Glen Murphy, Brian Rakowski, Ben Goodger, Darin Fisher
  • Patent number: 8667417
    Abstract: Embodiments of the present invention include methods and systems for pop-up suppression. A method for pop-up suppression in a display of a web page to a user is provided. The method includes detecting a web page request for a pop-up. The method also includes automatically running the pop-up based on the web page request in a minimized pop-up window when the web page request for the pop-up is detected. A system for pop-up suppression is also provided. The system includes a pop-up manager configured to place a pop-up based on a web page request in a minimized pop-up window when the web page request for the pop-up is detected. The system also includes an execution module configured to run the pop-up in the minimized pop-up window. The system further includes a window module configured to open a minimized pop-up window for display when a user selects the minimized pop-up window.
    Type: Grant
    Filed: September 1, 2008
    Date of Patent: March 4, 2014
    Assignee: Google Inc.
    Inventors: Ben Goodger, Glen Murphy, Brian Rakowski, Darin Fisher
  • Patent number: 8402383
    Abstract: Embodiments relate to content resizing and caching in multi-process browser architecture. An embodiment includes initiating a rendering engine process and a browser process, receiving a request to resize content, providing the request to the rendering engine process, waiting to allow the rendering engine process to render an updated bitmap associated with the content and displaying the updated bitmap synchronously if the updated bitmap is produced during the waiting step. Another embodiment includes, receiving an input associated with the status of a tab, determining if the tab is a background tab or a foreground tab based on the receiving step, checking a cache for a bitmap of content associated with the tab if the tab has changed status to a foreground tab, and displaying the contents of the cache in the tab if the cache includes the bitmap of content previously associated with the tab.
    Type: Grant
    Filed: September 29, 2011
    Date of Patent: March 19, 2013
    Assignee: Google Inc.
    Inventors: Darin Fisher, Brett Wilson
  • Patent number: 8364756
    Abstract: A method, computer-readable medium, and system for re-using a connection between a client computing device and a server system. The method includes receiving at a server system a request from a client computing device to initiate a connection; receiving over the connection a request from the client computing device for first content from a first domain hosted by the server system; sending information to the client computing device over the connection that specifies one or more additional domains hosted by the server system and acceptable to the server system for connection sharing; receiving over the connection a request for second content from a second domain that is hosted by the server system and that was specified in the information sent from the server system to the client computing device; and sending the second content to the client computing device over the connection in response to receiving the request.
    Type: Grant
    Filed: July 26, 2012
    Date of Patent: January 29, 2013
    Assignee: Google Inc.
    Inventors: Nagendra Modadugu, Darin Fisher
  • Publication number: 20130014037
    Abstract: Systems and methods for multi-process browser architecture are described herein. In an embodiment, a system for providing multi-process browser architecture includes at least one rendering process for each browser instance that renders a content area; and at least one browser process that communicates with one or a plurality of rendering engine processes. In another embodiment, a method for providing a multi-process browser architecture includes instantiating a unique rendering process for each content area instance and instantiating a unique browser process. In this way browsers may avoid the effects of faulty processes affecting other browser processes. This may improve user efficiency while enhancing user experience.
    Type: Application
    Filed: September 12, 2012
    Publication date: January 10, 2013
    Applicant: Google Inc.
    Inventors: Darin FISHER, Brett WILSON, Ben GOODGER, Arnaud WEBER
  • Patent number: 8326920
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for resolving keystrokes. One of the methods includes receiving at a server system a request from a client computing device to initiate a connection between the client and the server system. After a connection is formed, a request from the client for first content from a first domain hosted by the server system is received over the connection. Information is sent to the client over the connection that specifies one or more additional domains hosted by the server system and acceptable to the server system for connection sharing. A request for second content from a second domain that is hosted by the server system and that was specified in the information sent to the client is received over the connection, from the client. In response, the second content is sent to the client over the connection.
    Type: Grant
    Filed: February 8, 2010
    Date of Patent: December 4, 2012
    Assignee: Google Inc.
    Inventors: Nagendra Modadugu, Darin Fisher
  • Patent number: 8307300
    Abstract: The present invention relates to systems and methods for content resizing and caching in multi-process browser architecture. An embodiment includes initiating a rendering engine process and a browser process, receiving a request to resize content, providing the request to the rendering engine process, waiting to allow the rendering engine process to render an updated bitmap associated with the content and displaying the updated bitmap synchronously if the updated bitmap is produced during the waiting step. Another embodiment includes, receiving an input associated with the status of a tab, determining if the tab is a background tab or a foreground tab based on the receiving step, checking a cache for a bitmap of content associated with the tab if the tab has changed status to a foreground tab; and displaying the contents of the cache in the tab if the cache includes the bitmap of content previously associated with the tab.
    Type: Grant
    Filed: August 29, 2008
    Date of Patent: November 6, 2012
    Assignee: Google Inc.
    Inventors: Darin Fisher, Brett Wilson
  • Patent number: 8291078
    Abstract: Systems and methods for multi-process browser architecture are described herein. In an embodiment, a system for providing multi-process browser architecture includes at least one rendering process for each browser instance that renders a content area; and at least one browser process that communicates with one or a plurality of rendering engine processes. In another embodiment, a method for providing a multi-process browser architecture includes instantiating a unique rendering process for each content area instance and instantiating a unique browser process. In this way browsers may avoid the effects of faulty processes affecting other browser processes. This may improve user efficiency while enhancing user experience.
    Type: Grant
    Filed: May 12, 2009
    Date of Patent: October 16, 2012
    Assignee: Google Inc.
    Inventors: Darin Fisher, Brett Wilson, Ben Goodger, Arnaud Weber
  • Publication number: 20100268757
    Abstract: Methods and systems for a client such as a web browser to access the services of a server such as a web server are disclosed. In one embodiment, a method implemented by a client to transmit service requests to a server includes, transmitting a first service request over a persistent-connection to the server, detecting a beginning of a response to the first service request from the server, and transmitting a second service request to the server after the beginning of the response is detected. The client can be a web browser, and the server can be a web server. The first and second service requests, as well as the response to the first service requests may be transmitted over a persistent connection.
    Type: Application
    Filed: April 17, 2009
    Publication date: October 21, 2010
    Applicant: Google Inc.
    Inventor: Darin FISHER
  • Publication number: 20090287824
    Abstract: Systems and methods for multi-process browser architecture are described herein. In an embodiment, a system for providing multi-process browser architecture includes at least one rendering process for each browser instance that renders a content area; and at least one browser process that communicates with one or a plurality of rendering engine processes. In another embodiment, a method for providing a multi-process browser architecture includes instantiating a unique rendering process for each content area instance and instantiating a unique browser process. In this way browsers may avoid the effects of faulty processes affecting other browser processes. This may improve user efficiency while enhancing user experience.
    Type: Application
    Filed: May 12, 2009
    Publication date: November 19, 2009
    Applicant: Google Inc.
    Inventors: Darin Fisher, Brett Wilson, Ben Goodger, Arnaud Weber
  • Publication number: 20090288098
    Abstract: Embodiments of the present invention relate to browser plug-ins. In one embodiment, a system browses web content using a plug-in. The system includes at least one renderer process that detects plug-in content in the web content. Separate from the at least one renderer process, the system also includes a plug-in process that includes the plug-in and communicates with the at least one renderer process to interpret the plug-in content using an inter-process communication channel.
    Type: Application
    Filed: May 12, 2009
    Publication date: November 19, 2009
    Applicant: Google Inc.
    Inventors: John Abd-El-Malek, Darin Fisher, Mike Belshe