Patents by Inventor Bart Smaalders

Bart Smaalders 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: 11487601
    Abstract: Techniques for persistent crash logging. The techniques may include making, by a monitor, a first determination that an event information file exists in a volatile storage device location in a volatile storage device. The first determination may be made after an agent event occurs. The techniques may also include performing, by the monitor, an action on a portion of the event information file to obtain a uniquely identifiable filename portion and writing, by the monitor, an event information file copy to a non-volatile storage location in a non-volatile storage device. The techniques may also include, after writing the event information file copy to the non-volatile storage location is complete, renaming, by the monitor, the event information file copy to a uniquely identifiable filename comprising the uniquely identifiable filename portion.
    Type: Grant
    Filed: March 26, 2020
    Date of Patent: November 1, 2022
    Assignee: Arista Networks, Inc.
    Inventors: Bart Smaalders, Roman Olegovich Chertov
  • Publication number: 20210303384
    Abstract: Techniques for persistent crash logging. The techniques may include making, by a monitor, a first determination that an event information file exists in a volatile storage device location in a volatile storage device. The first determination may be made after an agent event occurs. The techniques may also include performing, by the monitor, an action on a portion of the event information file to obtain a uniquely identifiable filename portion and writing, by the monitor, an event information file copy to a non-volatile storage location in a non-volatile storage device. The techniques may also include, after writing the event information file copy to the non-volatile storage location is complete, renaming, by the monitor, the event information file copy to a uniquely identifiable filename comprising the uniquely identifiable filename portion.
    Type: Application
    Filed: March 26, 2020
    Publication date: September 30, 2021
    Inventors: Bart Smaalders, Roman Olegovich Chertov
  • Patent number: 8381215
    Abstract: In general the invention relates to a system. The system includes processors each having a processing state. The system further includes a dispatcher operatively connected to the plurality of processors and configured to: receive a first thread to dispatch, select one of the processors to dispatch the thread to based on the processing state the processors and a power management policy, and dispatch the thread to the selected one of the plurality of processors.
    Type: Grant
    Filed: September 27, 2007
    Date of Patent: February 19, 2013
    Assignee: Oracle America, Inc.
    Inventors: Darrin P. Johnson, Eric C. Saxe, Bart Smaalders
  • Patent number: 8302098
    Abstract: A device, system, and method are directed towards managing threads in a computer system with one or more processing units, each processing unit having a corresponding hardware resource. Threads are characterized based on their use or requirements for access to the hardware resource. The threads are distributed among the processing units in a configuration that leaves at least one processing unit with threads that have an aggregate zero or low usage of the hardware resource. Power may be reduced or turned off to the instances of the hardware resource that have zero or low usage. Distribution may be based on one or more of a number of specifications or factors, such as user power management specifications, power usage, performance, and other factors.
    Type: Grant
    Filed: December 6, 2007
    Date of Patent: October 30, 2012
    Assignee: Oracle America, Inc.
    Inventors: Darrin Paul Johnson, Eric Christopher Saxe, Bart Smaalders
  • Patent number: 8276126
    Abstract: Techniques for isolating software regressions are provided. In one approach, QTrace is used to generate DTrace scripts to gather timing information of one or more portions of source code during a test of particular version of a program. Based on results of one or more tests of multiple versions of a program, a regression is identified with respect to a particular portion of source code. It is determined that the particular portion of source code was changed during an intermediate version of the program (i.e., between two tests). The intermediate version and/or the particular portion of source code are identified as being a potential source of the regression.
    Type: Grant
    Filed: November 8, 2006
    Date of Patent: September 25, 2012
    Assignee: Oracle America, Inc.
    Inventors: Damien Farnham, Darrin P. Johnson, Sean McGrath, Bart Smaalders
  • Patent number: 8219993
    Abstract: A device, system, and method are directed towards managing power consumption in a computer system with one or more processing units, each processing unit executing one or more threads. Threads are characterized based on a cycles per instruction (CPI) characteristic of the thread. A clock frequency of each processing unit may be configured based on the CPI of each thread assigned to the processing unit. In a system wherein higher clock frequencies consume greater amounts of power, the CPI may be used to determine a desirable clock frequency. The CPI of each thread may also be used to assign threads to each processing unit, so that threads having similar characteristics are grouped together. Techniques for assigning threads and configuring processor frequency may be combined to affect performance and power consumption. Various specifications or factors may also be considered when scheduling threads or determining processor frequencies.
    Type: Grant
    Filed: February 27, 2008
    Date of Patent: July 10, 2012
    Assignee: Oracle America, Inc.
    Inventors: Darrin Paul Johnson, Eric Christopher Saxe, Bart Smaalders
  • Patent number: 7649902
    Abstract: One embodiment of the present invention provides a system that facilitates buffering data at a kernel in a computer system, wherein the data is buffered based on the structure of a message contained in the data. The system operates by receiving data at a computer system from an external source. Next, the system buffers the data at a kernel on the computer system. As the system buffers the data, the system also determines if the buffered data constitutes a complete message as defined by a communication protocol. If so, the system forwards the buffered data to an application on the computer system.
    Type: Grant
    Filed: November 22, 2006
    Date of Patent: January 19, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Bruce W. Curtis, Darrin P. Johnson, Bart Smaalders
  • Patent number: 7614056
    Abstract: An abstraction layer is comprised in the operating system that represents the particulars of the PPMs. The abstractions in the abstraction layer are differentiated from one another by parameters representing the characteristics of the PPMs. The dispatcher uses the abstraction to balance processing loads when assigning execution threads to the PPMs. The assigning of the execution threads and the balancing of the processing loads is performed while taking account of the characteristics of the PPMs, such as shared resources and clock speed.
    Type: Grant
    Filed: September 12, 2003
    Date of Patent: November 3, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Eric C. Saxe, Andrei Dorofeev, Jonathan Chew, Bart Smaalders, Andrew G. Tucker
  • Publication number: 20090217277
    Abstract: A device, system, and method are directed towards managing power consumption in a computer system with one or more processing units, each processing unit executing one or more threads. Threads are characterized based on a cycles per instruction (CPI) characteristic of the thread. A clock frequency of each processing unit may be configured based on the CPI of each thread assigned to the processing unit. In a system wherein higher clock frequencies consume greater amounts of power, the CPI may be used to determine a desirable clock frequency. The CPI of each thread may also be used to assign threads to each processing unit, so that threads having similar characteristics are grouped together. Techniques for assigning threads and configuring processor frequency may be combined to affect performance and power consumption. Various specifications or factors may also be considered when scheduling threads or determining processor frequencies.
    Type: Application
    Filed: February 27, 2008
    Publication date: August 27, 2009
    Applicant: Sun Microsystems, Inc.
    Inventors: Darrin Paul Johnson, Eric Christopher Saxe, Bart Smaalders
  • Publication number: 20090150893
    Abstract: A device, system, and method are directed towards managing threads in a computer system with one or more processing units, each processing unit having a corresponding hardware resource. Threads are characterized based on their use or requirements for access to the hardware resource. The threads are distributed among the processing units in a configuration that leaves at least one processing unit with threads that have an aggregate zero or low usage of the hardware resource. Power may be reduced or turned off to the instances of the hardware resource that have zero or low usage. Distribution may be based on one or more of a number of specifications or factors, such as user power management specifications, power usage, performance, and other factors.
    Type: Application
    Filed: December 6, 2007
    Publication date: June 11, 2009
    Applicant: Sun Microsystems, Inc.
    Inventors: Darrin Paul Johnson, Eric Christopher Saxe, Bart Smaalders
  • Publication number: 20090089792
    Abstract: In general, the invention relates to a system that includes a multi-core processor and a dispatcher operatively connected to the multi-core processor. The dispatcher is configured to receive a first plurality of threads during a first period of time, dispatch the first plurality of threads only to a first core of the plurality of cores, receive a second plurality of threads during a second period of time, dispatch the second plurality of threads only to a second core of the plurality of cores, migrate to the second core any of the first plurality of threads that are still executing on the first after the first period of time has elapsed. The duration of the first period of time and the duration of the second period of time are determined using a thread migration schedule, and thread migration schedule is determined using at least one thermal characteristic of the multi-core processor.
    Type: Application
    Filed: September 27, 2007
    Publication date: April 2, 2009
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Darrin P. Johnson, Eric C. Saxe, Bart Smaalders
  • Publication number: 20090089782
    Abstract: In general the invention relates to a system. The system includes processors each having a processing state. The system further includes a dispatcher operatively connected to the plurality of processors and configured to: receive a first thread to dispatch, select one of the processors to dispatch the thread to based on the processing state the processors and a power management policy, and dispatch the thread to the selected one of the plurality of processors.
    Type: Application
    Filed: September 27, 2007
    Publication date: April 2, 2009
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Darrin P. Johnson, Eric C. Saxe, Bart Smaalders
  • Patent number: 7380248
    Abstract: Methods and apparatus, including computer program products, implementing and using techniques for alerting one or more computer software application threads waiting to retrieve events from an event port. An alert event generated by a computer software application is received at the event port. A state of the event port is changed to an alert state, if the event port is not already in an alert state, in response to receiving the alert event. One or more of the computer software application threads is notified about the alert state of the event port.
    Type: Grant
    Filed: February 26, 2004
    Date of Patent: May 27, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Miguel Isenberg, Bryan M. Cantrill, Bart Smaalders, Joseph J. Bonasera
  • Publication number: 20080117925
    Abstract: One embodiment of the present invention provides a system that facilitates buffering data at a kernel in a computer system, wherein the data is buffered based on the structure of a message contained in the data. The system operates by receiving data at a computer system from an external source. Next, the system buffers the data at a kernel on the computer system. As the system buffers the data, the system also determines if the buffered data constitutes a complete message as defined by a communication protocol. If so, the system forwards the buffered data to an application on the computer system.
    Type: Application
    Filed: November 22, 2006
    Publication date: May 22, 2008
    Inventors: Bruce W. Curtis, Darrin P. Johnson, Bart Smaalders
  • Publication number: 20080109790
    Abstract: Techniques for isolating software regressions are provided. In one approach, QTrace is used to generate DTrace scripts to gather timing information of one or more portions of source code during a test of particular version of a program. Based on results of one or more tests of multiple versions of a program, a regression is identified with respect to a particular portion of source code. It is determined that the particular portion of source code was changed during an intermediate version of the program (i.e., between two tests). The intermediate version and/or the particular portion of source code are identified as being a potential source of the regression.
    Type: Application
    Filed: November 8, 2006
    Publication date: May 8, 2008
    Inventors: Damien Farnham, Darrin P. Johnson, Sean McGrath, Bart Smaalders
  • Patent number: 7313795
    Abstract: A method and system of managing resource allocation in a non-uniform resource access computer system is disclosed. A method comprises determining access costs between resources in a computer system having non-uniform access costs between the resources. The method also includes constructing a hierarchical data structure comprising the access costs. The hierarchical data structure is traversed to manage a set of the resources.
    Type: Grant
    Filed: May 27, 2003
    Date of Patent: December 25, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Jonathan Chew, Robert L. Berube, Kevin Clarke, Tim Marsland, Eric Saxe, Bart Smaalders
  • Patent number: 7149863
    Abstract: In a computer system, a descriptive memory allocation system is described having a memory policy allocation module for setting memory allocation policies by an operating system in response to descriptive resource use requirements provided by an application requesting access to a specified address range in memory. The descriptive memory allocation system includes a descriptive resource allocator that uses descriptive memory use advice provided by an application to decide how to allocate memory to the application. The descriptive resource allocator includes memory allocation policies that may be set by the operating system after the operating system has determined the appropriate allocation scheme to implement based on an allocation advice provided by a requesting after the application. The application in providing its descriptive memory use information does not specify a specific allocation policy the operating system should use to allocate memory to it.
    Type: Grant
    Filed: October 8, 2003
    Date of Patent: December 12, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Jonathan J. Chew, Bart Smaalders
  • Publication number: 20040243660
    Abstract: A method and system of managing resource allocation in a non-uniform resource access computer system is disclosed. A method comprises determining access costs between resources in a computer system having non-uniform access costs between the resources. The method also includes constructing a hierarchical data structure comprising the access costs. The hierarchical data structure is traversed to manage a set of the resources.
    Type: Application
    Filed: May 27, 2003
    Publication date: December 2, 2004
    Inventors: Jonathan Chew, Robert L. Berube, Kevin Clarke, Tim Marsland, Eric Saxe, Bart Smaalders
  • Patent number: 6748429
    Abstract: Method for enabling the dynamic modification of cluster configurations, and apparatus including software to perform the method. To enable this dynamic modification, cluster configuration data is stored as a table in a cluster configuration repository that is accessible from all nodes in the cluster. Accordingly, the present invention enables the modification of the cluster configuration from any node in the cluster dynamically. When a reconfiguration command is given, the configuration table is changed and all the nodes in the cluster are notified of the changed configuration in parallel. Following the notification by the nodes of the changed cluster configuration, the changes to the cluster are implemented dynamically as specified by the command.
    Type: Grant
    Filed: January 10, 2000
    Date of Patent: June 8, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Madhusudhan Talluri, Bart Smaalders, Sundeep Panicker, Krishna Kondaka
  • Patent number: 5937187
    Abstract: In a multiprocessing computer system, a schedulable process entity (such as a UNIX process, a Solaris lightweight process, or a Windows NT thread) sets a memory flag (sc.sub.-- nopreempt) before acquiring a shared resource. This flag tells the operating system that the process entity should not be preempted. When it is time for the process entity to be preempted, but sc.sub.-- nopreempt is set, the operating system sets a flag (sc.sub.-- yield) to tell the process entity that the entity should surrender the CPU when the entity releases the shared resource. However, the entity is not preempted but continues to run. When the entity releases the shared resource, the entity checks the sc.sub.-- yield flag. If the flag is set, the entity makes an OS call to surrender the CPU.
    Type: Grant
    Filed: July 1, 1996
    Date of Patent: August 10, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Nicolai Kosche, Dave Singleton, Bart Smaalders, Andrew Tucker