Patents by Inventor Darrin P. Johnson
Darrin P. Johnson 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: 7894463Abstract: One embodiment of the present invention provides a system that facilitates improved resource allocation in a network. During operation, the system determines one or more metrics value for a node based on a characteristic of the node and assigns nodes within the network to access groups based on each node's characteristic-metric value and a grouping policy. The system further constructs a logical hierarchy of access groups based on the characteristic-metric values of the nodes within each access group. Additionally, the system allows a node to forward traffic to a next-hop node identified within an access group on a logical hierarchy level, thereby facilitating better resource allocation in the network.Type: GrantFiled: November 21, 2006Date of Patent: February 22, 2011Assignee: Oracle America, Inc.Inventors: Samita Chakrabarti, Darrin P. Johnson, Eric C. Saxe
-
Patent number: 7882319Abstract: A method for memory management that includes receiving a request for memory space, identifying a first memory module from a plurality of memory modules based on a first memory power management policy, wherein the first memory power management policy specifies how to allocate memory space in the plurality of memory modules to satisfy a power consumption criteria, and allocating the memory space on the first memory module.Type: GrantFiled: September 27, 2007Date of Patent: February 1, 2011Assignee: Oracle America Inc.Inventors: Darrin P. Johnson, Eric C. Saxe, Sherry Q. Moore
-
Publication number: 20100333113Abstract: A computer readable storage medium including executable instructions for heuristics-based task scheduling. Instructions include receiving a first event notification associated with a first event, where the first event is determined from the first event notification. Instructions further include determining whether a predicate for an action is satisfied by the first event, where the action predicate, the action, and an action parameter are associated with a task object in a task pool. Instructions further include obtaining the action parameter when the action predicate is satisfied by the first event, where a priority is assigned using a heuristics policy to the task object based on the action parameter. Instructions further include inserting the task object into a task queue using the assigned priority. The action associated with the task object is performed by an execution thread. The performance of the action is a second event associated with a second event notification.Type: ApplicationFiled: June 29, 2009Publication date: December 30, 2010Applicant: Sun Microsystems, Inc.Inventors: Darrin P. Johnson, Eric C. Saxe
-
Publication number: 20100332883Abstract: A system for dispatching a thread to a resource obtains a thread and utilization data for all resources. The system determines if there is a thread-resource affinity. The system uses thread-resource affinity to identify a resource and a timestamp for when the thread last completed executing on the resource. The system determines if the resource qualifies under a dispatch policy. The system uses utilization data to determine a timestamp for when the resource last transitioned to a not powered state. When the second timestamp precedes the first timestamp, the system dispatches the thread to the resource and generates a power management event. The system determines if the power management event satisfies a throttle policy. The system discards the power management event when throttle policy is unsatisfied and determines whether to adjust the current power state of the resource based on the power management event when throttle policy is satisfied.Type: ApplicationFiled: June 30, 2009Publication date: December 30, 2010Applicant: SUN MICROSYSTEMS, INC.Inventors: Eric C. Saxe, Darrin P. Johnson, William D. Holler
-
Publication number: 20100333097Abstract: A computer readable storage medium including executable instructions for managing a task. Instructions include receiving a request. Instructions further include determining a task corresponding with the request using a request-to-task mapping. Instructions include obtaining a task entry corresponding with the task from a task store, where the task entry associates the task with an action and a predicate for performing the action. Instructions further include creating a task object in a task pool using the task entry. Instructions further include receiving an event notification at the task engine, where the event notification is associated with an event. Instructions further include determining whether the predicate for performing the action is satisfied by the event. Instructions further placing the task object in a task queue when the predicate for performing the action is satisfied by the event.Type: ApplicationFiled: June 29, 2009Publication date: December 30, 2010Applicant: SUN MICROSYSTEMS, INC.Inventors: Darrin P. Johnson, Eric C. Saxe
-
Patent number: 7840657Abstract: A method for power-managing storage devices in a storage pool involves monitoring the storage pool to determine whether a storage management policy is satisfied, where the storage pool comprises a first storage device that is powered up and a second storage device that is powered down, powering up the second storage device after the storage management policy is satisfied, and making the second storage device available for use in the storage pool after the second storage device is powered up.Type: GrantFiled: October 31, 2006Date of Patent: November 23, 2010Assignee: Oracle America, Inc.Inventors: William H. Moore, Darrin P. Johnson, Tabriz I. Holtz
-
Patent number: 7801046Abstract: A method for bandwidth control on a network interface card (NIC), the method that includes initiating a current time period, receiving a plurality of incoming packets for a receive ring, populating, by a NIC, the receive ring with the plurality of incoming packets according to a size of the receive ring during the current time period, wherein the size of the receive ring is based on an allocated bandwidth for the receive ring, and sending, by the NIC, the plurality of incoming packets to a host when a duration of the current time period elapses, wherein the duration is based on the allocated bandwidth for the receive ring.Type: GrantFiled: April 28, 2008Date of Patent: September 21, 2010Assignee: Oracle America, Inc.Inventors: Anders D. Persson, Cesar A. C. Marcondes, Darrin P. Johnson, Kais Belgaied
-
Patent number: 7792882Abstract: A method for priority-based allocation in a storage pool, involving receiving a first request to write a first data item in the storage pool, wherein the storage pool includes a first hybrid drive including a first plurality of metaslabs associated with a first storage type and a second plurality of metaslabs associated with a second storage type, selecting a first target metaslab from the first and second plurality of metaslabs based on a first plurality of allocation priorities, wherein the first plurality of allocation priorities are determined using a storage and power management policy, a storage characteristic, and a power characteristic associated with the first storage type and the second storage type in the first hybrid drive, allocating a first block to the first target metaslab, and writing the first block to the first target metaslab, wherein the first block includes a first portion of the first data item.Type: GrantFiled: September 27, 2007Date of Patent: September 7, 2010Assignee: Oracle America, Inc.Inventors: William H. Moore, Darrin P. Johnson, George R. Wilson
-
Publication number: 20100223390Abstract: A method for using offloaded transport layer protocols involves signaling a network interface controller (NIC) with a signal to use one of multiple transport layer protocols embedded in the NIC, and transmitting a data packet via the NIC using the transport layer protocol.Type: ApplicationFiled: May 14, 2010Publication date: September 2, 2010Applicant: ORACLE AMERICA, INC.Inventors: Cesar A. C. Marcondes, Anders D. Persson, Darrin P. Johnson
-
Patent number: 7783847Abstract: A method for reallocating blocks in a storage pool involves copying multiple source blocks to multiple replacement blocks, where the source blocks are stored on a source disk in the storage pool, and where the replacement blocks are stored on one or more replacement disks in the storage pool, and generating an indirection object, where the indirection object includes a mapping of locations of the source blocks to locations of the replacement blocks.Type: GrantFiled: October 31, 2006Date of Patent: August 24, 2010Assignee: Oracle America Inc.Inventors: William H. Moore, Darrin P. Johnson, Jeffrey S. Bonwick, Tabriz I. Holtz
-
Patent number: 7782870Abstract: Computing resources available on multiple computing devices are consolidated by an intermediate computing system and provided to other computing systems when those computing systems need additional bandwidth and processing power they cannot provide by themselves.Type: GrantFiled: April 22, 2005Date of Patent: August 24, 2010Assignee: Oracle America, Inc.Inventors: Sunay Tripathi, Jonathan I. Schwartz, Darrin P. Johnson
-
Patent number: 7779132Abstract: One embodiment of the present invention provides a system for communicating data using a socket interface with multiple transport layer implementations. During operation the system creates a socket which can be used with a set of transport layer implementations. Next, the system binds the socket to a local port without specifying a particular transport layer implementation. The system then receives a request to connect to a target port that is associated with a target address. Next, the system selects a protocol implementation from the set of transport layer implementations using the target port and the target address. The system then sends a connection request to the target port using the selected protocol implementation. Note that the present invention does not require changing a networking application because the transport layer implementation is selected automatically by the system, instead of requiring the application to possess the knowledge to select the appropriate transport layer implementation.Type: GrantFiled: November 14, 2005Date of Patent: August 17, 2010Assignee: Oracle America, Inc.Inventors: Hsiao-Keng J. Chu, Darrin P. Johnson, Eric T. Cheng
-
Patent number: 7764678Abstract: A computer system that forwards data packets is described. During operation, the system receives a data packet on a first interface and classifies the data packet to determine a corresponding destination. This classification is based on dynamically configured classification rules that include multiple attributes corresponding to multiple layers in an Open System Interconnect (OSI) Reference model. Then, the system provides the data packet on a second interface corresponding to the destination.Type: GrantFiled: October 10, 2006Date of Patent: July 27, 2010Assignee: Oracle America, Inc.Inventors: Darrin P. Johnson, Kais Belgaied
-
Patent number: 7756888Abstract: One embodiment of the present invention provides a system that provides heterogeneous resources for client systems. During operation, the system maintains a stateful resource database that tracks heterogeneous resources in a given environment. The system receives requests from client systems, and in response to the requests searches for a heterogeneous resource in the stateful resource database that matches the request. If the system finds an available heterogeneous resource that matches the request, it proceeds to submit the request to the resource. Maintaining and using the stateful resource database facilitates efficiently sharing scarce heterogeneous resources across a number of client systems.Type: GrantFiled: July 3, 2007Date of Patent: July 13, 2010Assignee: Oracle America, Inc.Inventors: Darrin P. Johnson, Kais Belgaied
-
Patent number: 7751401Abstract: A method for processing packets. The method includes receiving a first packet by a first socket on a host, determining by the first socket to process the first packet using a first virtual Transmission Control Protocol offload engine (VTOE), transmitting the first packet to the first VTOE, wherein transmitting the first packet to the first VTOE bypasses a first virtual network stack interposed between the first socket and first VTOE, transmitting the first packet to a HW TOE operatively connected to the host, processing the first packet, using the HW TOE, to obtain a first processed packet; and transmitting the first processed packet to a network operatively connected to the HW TOE, where the HW TOE is associated with the first VTOE and a second VTOE in the host.Type: GrantFiled: June 30, 2008Date of Patent: July 6, 2010Assignee: Oracle America, Inc.Inventors: Darrin P. Johnson, Kais Belgaied
-
Patent number: 7746901Abstract: A method for using offloaded transport layer protocols involves signaling a network interface controller (NIC) with a signal to use one of multiple transport layer protocols embedded in the NIC, and transmitting a data packet via the NIC using the transport layer protocol.Type: GrantFiled: December 14, 2006Date of Patent: June 29, 2010Assignee: Oracle America, Inc.Inventors: Cesar A. C. Marcondes, Anders D. Persson, Darrin P. Johnson
-
Patent number: 7733795Abstract: A method for testing a network topology. The method includes obtaining the network topology, where the network topology includes a number of nodes connected by at least one link. The method further includes instantiating a number of containers corresponding to the nodes, instantiating a number of virtual network stacks, and instantiating at least one virtual switch corresponding to the at least one link. The containers are subsequently connected to the virtual network stacks using the at least one virtual switch. At least one of the virtual network stacks is then configured to send and receive packets. Finally, the network topology is tested by sending a packet through at least one of the plurality of virtual network stacks and the at least one virtual switch, wherein a result of the testing is used to validate the network topology.Type: GrantFiled: November 28, 2006Date of Patent: June 8, 2010Assignee: Oracle America, Inc.Inventors: Darrin P. Johnson, Erik Nordmark, Kais Belgaied
-
Patent number: 7701856Abstract: A method for managing a network connection includes establishing the network connection between an application and a packet destination, wherein the network connection comprises a plurality of paths, receiving a plurality of packets from the application on the network connection, wherein the plurality of packets is associated with the network connection, and wherein the plurality of packets comprises data from the application, obtaining a distribution of the plurality of packets among the plurality of paths by a master transport protocol module, wherein each of the plurality of paths is associated with one of a plurality of transport protocol modules, and transmitting, based on the distribution, the plurality of packets over the plurality of paths using the plurality of transport protocol modules, wherein each of the plurality of transport protocol modules implements one of a plurality of congestion control algorithms, wherein the plurality of packets are received at the packet destination.Type: GrantFiled: December 14, 2006Date of Patent: April 20, 2010Assignee: Oracle America, Inc.Inventors: Cesar A. C. Marcondes, Anders D. Persson, Darrin P. Johnson
-
Patent number: 7702799Abstract: A method for securing a commercial grid network over non-trusted routes involves receiving, by an administrative node in the commercial grid network, a lease request from a client to lease one of multiple resource nodes in the commercial grid network, wherein the client is separated from the resource node by a non-trusted route. The method further involves transmitting, by the administrative node, a network security key associated with the client to the resource node, storing, by the resource node, the network security key in a network security key repository specific to the resource node, establishing, by the resource node, a secure network tunnel over the non-trusted route using the network security key, transmitting a network packet securely between the client and the resource node over the secure network tunnel, and destroying, by the resource node, the secure network tunnel when a lease term associated with the client and the resource node expires.Type: GrantFiled: June 28, 2007Date of Patent: April 20, 2010Assignee: Oracle America, Inc.Inventors: Kais Belgaied, Darrin P. Johnson
-
Method and system for using Bayesian network inference for selection of transport protocol algorithm
Patent number: 7672240Abstract: A method for optimizing a network stack includes inputting network information into a transport protocol algorithm selector, inputting a first transport protocol algorithm into the transport protocol algorithm selector, analyzing a result of the transport protocol algorithm selector, selecting the first transport protocol algorithm based on the result, receiving a first packet in the network stack, and processing the first packet using the first transport protocol algorithm.Type: GrantFiled: December 14, 2006Date of Patent: March 2, 2010Assignee: Sun Microsystems, Inc.Inventors: Darrin P. Johnson, Cesar A. C. Marcondes, Anders D. Persson