Patents by Inventor Jeffrey C. Fuller

Jeffrey C. Fuller 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: 10038616
    Abstract: Embodiments relate to classifying network streams and regulating behavior of the streams based on their respective classes. One technique for managing streams involves analyzing applications, obtaining indicia of features of the applications, and using those features to infer classes to which streams of the applications may be assigned. Another technique involves deploying beacon nodes at the edge of a network. The beacon nodes inform a stream manager about network conditions such as latencies with regard to network boundaries or regions. Another embodiment for facilitating management of streams involves a subscription service for UDP applications. A UDP application may subscribe to the service, which may be provided by an operating system hosting the application. Events are published to any subscribed UDP applications to inform the UDP applications of changes in networking conditions. The UDP applications, in turn, may adapt their internal transmission control logic.
    Type: Grant
    Filed: September 25, 2014
    Date of Patent: July 31, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ahmed Talat, Vibhor Bhatt, Jeff Sinnemaki, Alexei Aleksenko, Ilia Sacson, Jeffrey C. Fuller, Milena Salman, Madhusudhan Ravi, Mohammed Karam, Neel Jain
  • Patent number: 9674099
    Abstract: An operating system implements classes of network streams. Applications assign their network streams to the classes. The operating system, in turn, regulates the streams according to which classes the streams are in. As conditions change, network resources may be made available or more fully utilized by regulating streams according to which classes they have been assigned to. Network resources may be made available, perhaps rapidly or preemptively, for streams in higher priority classes by restricting streams in lower priority classes.
    Type: Grant
    Filed: September 25, 2014
    Date of Patent: June 6, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ahmed Talat, Vibhor Bhatt, Jeff Sinnemaki, Alexei Aleksenko, Ilia Sacson, Jeffrey C. Fuller, Milena Salman, Madhusudhan Ravi, Mohammed Karam, Neel Jain
  • Publication number: 20160094427
    Abstract: Embodiments relate to classifying network streams and regulating behavior of the streams based on their respective classes. One technique for managing streams involves analyzing applications, obtaining indicia of features of the applications, and using those features to infer classes to which streams of the applications may be assigned. Another technique involves deploying beacon nodes at the edge of a network. The beacon nodes inform a stream manager about network conditions such as latencies with regard to network boundaries or regions. Another embodiment for facilitating management of streams involves a subscription service for UDP applications. A UDP application may subscribe to the service, which may be provided by an operating system hosting the application. Events are published to any subscribed UDP applications to inform the UDP applications of changes in networking conditions. The UDP applications, in turn, may adapt their internal transmission control logic.
    Type: Application
    Filed: September 25, 2014
    Publication date: March 31, 2016
    Inventors: Ahmed Talat, Vibhor Bhatt, Jeff Sinnemaki, Alexei Aleksenko, Ilia Sacson, Jeffrey C. Fuller, Milena Salman, Madhusudhan Ravi, Mohammed Karam, Neel Jain
  • Publication number: 20160094464
    Abstract: An operating system implements classes of network streams. Applications assign their network streams to the classes. The operating system, in turn, regulates the streams according to which classes the streams are in. As conditions change, network resources may be made available or more fully utilized by regulating streams according to which classes they have been assigned to. Network resources may be made available, perhaps rapidly or preemptively, for streams in higher priority classes by restricting streams in lower priority classes.
    Type: Application
    Filed: September 25, 2014
    Publication date: March 31, 2016
    Inventors: Ahmed Talat, Vibhor Bhatt, Jeff Sinnemaki, Alexei Aleksenko, Ilia Sacson, Jeffrey C. Fuller, Milena Salman, Madhusudhan Ravi, Mohammed Karam, Neel Jain
  • Patent number: 8966000
    Abstract: A method and system for managing remote file system requests between client and server redirectors where a set of data request packets may be aggregated and/or ordered at a server based on hint information from a client.
    Type: Grant
    Filed: June 22, 2007
    Date of Patent: February 24, 2015
    Assignee: Microsoft Corporation
    Inventors: Ramanathan Ganapathy, Thomas J. Ootjers, Mathew George, David Kruse, Jeffrey C. Fuller
  • Patent number: 8863022
    Abstract: Two different process management views can be displayed, and a user can request to switch between the two views. The user can select a process in either view and have the selected process terminated. One view is a simplified view that identifies processes and whether they are non-responsive. The other view is an expanded view that identifies processes and the amount of various system resources used by each of those processes. Various additional information can be displayed in the expanded view, such as identifiers of various windows, tabs, and/or services associated with each of the processes.
    Type: Grant
    Filed: September 7, 2011
    Date of Patent: October 14, 2014
    Assignee: Microsoft Corporation
    Inventors: Christina L. Rhodes, Mark Yalovsky, Rolf A. Ebeling, John Corey Morgan, Shawn M. Woods, Ryan M. Hurst, Jonathan M. Au, Peter Seraphim Ponomarev, Jason C. Hendrickson, Hemchand Alla, Yau N. Chin, Stuart Sechrest, Mehmet Iyigun, Yevgeniy Bak, Ishfaq M. Ismail, Jeffrey C. Fuller, Prashant Ratanchandani
  • Patent number: 8812817
    Abstract: A cache controller in a computer system is configured to manage a cache such that the use of bus bandwidth is reduced. The cache controller receives commands from a processor. In response, a cache mapping maintaining information for each block in the cache is modified. The cache mapping may include an address, a dirty bit, a zero bit, and a priority for each cache block. The address indicates an address in main memory for which the cache block caches data. The dirty bit indicates whether the data in the cache block is consistent with data in main memory at the address. The zero bit indicates whether data at the address should be read as a default value, and the priority specifies a priority for evicting the cache block. By manipulating this mapping information, commands such as move, copy swap, zero, deprioritize and deactivate may be implemented.
    Type: Grant
    Filed: June 28, 2013
    Date of Patent: August 19, 2014
    Assignee: Microsoft Corporation
    Inventors: Jeffrey C. Fuller, Thomas J. Ootjers, Bruce L. Worthington
  • Publication number: 20130346692
    Abstract: A cache controller in a computer system is configured to manage a cache such that the use of bus bandwidth is reduced. The cache controller receives commands from a processor. In response, a cache mapping maintaining information for each block in the cache is modified. The cache mapping may include an address, a dirty bit, a zero bit, and a priority for each cache block. The address indicates an address in main memory for which the cache block caches data. The dirty bit indicates whether the data in the cache block is consistent with data in main memory at the address. The zero bit indicates whether data at the address should be read as a default value, and the priority specifies a priority for evicting the cache block. By manipulating this mapping information, commands such as move, copy swap, zero, deprioritize and deactivate may be implemented.
    Type: Application
    Filed: June 28, 2013
    Publication date: December 26, 2013
    Inventors: Jeffrey C. Fuller, Thomas J. Ootjers, Bruce L. Worthington
  • Patent number: 8495299
    Abstract: A cache controller in a computer system is configured to manage a cache. The cache controller receives commands from a processor. In response, a cache mapping maintaining information for each block in the cache is modified. The cache mapping may include an address, a dirty bit, a zero bit, and a priority for each cache block. The address indicates an address in main memory for which the cache block caches data. The dirty bit indicates whether the data in the cache block is consistent with data in main memory at the address. The zero bit indicates whether data at the address should be read as a default value, and the priority specifies a priority for evicting the cache block. By manipulating this mapping information, commands such as move, copy swap, zero, deprioritize and deactivate may be implemented.
    Type: Grant
    Filed: November 16, 2009
    Date of Patent: July 23, 2013
    Assignee: Microsoft Corporation
    Inventors: Jeffrey C. Fuller, Bruce L. Worthington, Thomas J. Ootjers
  • Publication number: 20130061167
    Abstract: Two different process management views can be displayed, and a user can request to switch between the two views. The user can select a process in either view and have the selected process terminated. One view is a simplified view that identifies processes and whether they are non-responsive. The other view is an expanded view that identifies processes and the amount of various system resources used by each of those processes. Various additional information can be displayed in the expanded view, such as identifiers of various windows, tabs, and/or services associated with each of the processes.
    Type: Application
    Filed: September 7, 2011
    Publication date: March 7, 2013
    Applicant: Microsoft Corporation
    Inventors: Christina L. Rhodes, Mark Yalovsky, Rolf A. Ebeling, John Corey Morgan, Shawn M. Woods, Ryan M. Hurst, Jonathan M. Au, Peter Seraphim Ponomarev, Jason C. Hendrickson, Hemchand Alla, Yau N. Chin, Stuart Sechrest, Mehmet Iyigun, Yevgeniy Bak, Ishfaq M. Ismail, Jeffrey C. Fuller, Prashant Ratanchandani
  • Patent number: 8370456
    Abstract: A system and method for pre-fetching data uses a combination of heuristics to determine likely next data retrieval operations and an evaluation of available resources for executing speculative data operations. When local resources, such as cache memory for storing speculative command results is not available, the compound operation request may not be sent. When resources on a server-side system are insufficient, only the primary command of a compound operation request may be processed and speculative command requests may be rejected. Both local computing resources and network resources may be evaluated when determining whether to build or process a compound operations request.
    Type: Grant
    Filed: September 22, 2006
    Date of Patent: February 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Ramanathan Ganapathy, Jeffrey C. Fuller, Mathew George, David Kruse
  • Publication number: 20110119451
    Abstract: A cache controller in a computer system is configured to manage a cache such that the use of bus bandwidth is reduced. The cache controller receives commands from a processor. In response, a cache mapping maintaining information for each block in the cache is modified. The cache mapping may include an address, a dirty bit, a zero bit, and a priority for each cache block. The address indicates an address in main memory for which the cache block caches data. The dirty bit indicates whether the data in the cache block is consistent with data in main memory at the address. The zero bit indicates whether data at the address should be read as a default value, and the priority specifies a priority for evicting the cache block. By manipulating this mapping information, commands such as move, copy swap, zero, deprioritize and deactivate may be implemented.
    Type: Application
    Filed: November 16, 2009
    Publication date: May 19, 2011
    Applicant: Microsoft Corporation
    Inventors: Jeffrey C. Fuller, Thomas J. Ootjers, Bruce L. Worthington
  • Patent number: 7872975
    Abstract: A method of metering bandwidth allocation on a server using credits is disclosed. The method may receive a request for data from a client, respond to the request for data and determining if the request for data for the client exceeds a current data allocation credit limit for the client. Using the round trip time, the method may calculate a connection throughput for a client and may increase the current data allocation credit limit for the client if the server has resources to spare, the client is actively using the current pipeline depth allowed and network connection latency and bandwidth indicate a deeper pipeline is necessary for saturation. The method may decrease the current data allocation credit limit for the client if the server does not have resources to spare.
    Type: Grant
    Filed: March 26, 2007
    Date of Patent: January 18, 2011
    Assignee: Microsoft Corporation
    Inventors: David Kruse, Ramanathan Ganapathy, Jeffrey C. Fuller, Mathew George
  • Patent number: 7690003
    Abstract: A system and method for delivering data from a device driver to an application increases the usage of synchronous processing (fast I/O mode) of data requests from the application by utilizing thread scheduling to enhance the likelihood that the requested data are available for immediate delivery to the application. If the amount of data in a data queue for storing data ready for delivery is low, the thread scheduling of the system is modified to promote the thread of the device driver to give it the opportunity to place more data in the data queue for consumption by the application. The promotion of the thread of the device driver may be done by switching from the application thread to another thread (not necessarily the device driver thread), boosting the device driver's priority, and/or lowering the priority of the application, etc.
    Type: Grant
    Filed: August 29, 2003
    Date of Patent: March 30, 2010
    Inventor: Jeffrey C. Fuller
  • Publication number: 20090327303
    Abstract: A solution provides an efficient process for a user to complete operations within a file server system. A user's future requests, such as reading or writing files, are predicted based on previous operations. An effective amount of a file server's resources are allocated to accommodate the predicted future requests, thereby reducing the amount of required system time for performing operations corresponding to a file server memory.
    Type: Application
    Filed: June 27, 2008
    Publication date: December 31, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: TOM OOTJERS, JEFFREY C. FULLER, RAMANATHAN GANAPATHY, DAVID M. KRUSE
  • Patent number: 7496928
    Abstract: A system and method uses a heuristic approach to manage the boosting of thread priorities after I/O completion to improve system performance. Upon detection of the completion of an I/O operation in response to a request, the system thread does not automatically boost the priority of the thread that made the I/O request by a fixed amount. Instead, the system thread determines whether to boost the requesting thread's priority by applying heuristic criteria based on the I/O operation status, such as whether the system thread has additional I/O requests to process, how many I/O request packets have been completed in the current thread context without a priority boost to the requesting thread, and the time that has passed since the last boosted I/O completion.
    Type: Grant
    Filed: August 28, 2003
    Date of Patent: February 24, 2009
    Assignee: Microsoft Corporation
    Inventor: Jeffrey C. Fuller
  • Publication number: 20080320155
    Abstract: A method and system for managing remote file system requests between client and server redirectors where a set of data request packets may be aggregated and/or ordered at a server based on hint information from a client.
    Type: Application
    Filed: June 22, 2007
    Publication date: December 25, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Ramanathan Ganapathy, Thomas J. Ootjers, Mathew George, David Kruse, Jeffrey C. Fuller
  • Publication number: 20080240144
    Abstract: A method of metering bandwidth allocation on a server using credits is disclosed. The method may receive a request for data from a client, respond to the request for data and determining if the request for data for the client exceeds a current data allocation credit limit for the client. Using the round trip time, the method may calculate a connection throughput for a client and may increase the current data allocation credit limit for the client if the server has resources to spare, the client is actively using the current pipeline depth allowed and network connection latency and bandwidth indicate a deeper pipeline is necessary for saturation. The method may decrease the current data allocation credit limit for the client if the server does not have resources to spare.
    Type: Application
    Filed: March 26, 2007
    Publication date: October 2, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: David Kruse, Ramanathan Ganapathy, Jeffrey C. Fuller, Mathew George
  • Publication number: 20080077655
    Abstract: A system and method for pre-fetching data uses a combination of heuristics to determine likely next data retrieval operations and an evaluation of available resources for executing speculative data operations. When local resources, such as cache memory for storing speculative command results is not available, the compound operation request may not be sent. When resources on a server-side system are insufficient, only the primary command of a compound operation request may be processed and speculative command requests may be rejected. Both local computing resources and network resources may be evaluated when determining whether to build or process a compound operations request.
    Type: Application
    Filed: September 22, 2006
    Publication date: March 27, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Ramanathan Ganapathy, Jeffrey C. Fuller, Mathew George, David M. Kruse