Patents by Inventor Christos Karamanolis

Christos Karamanolis 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).

  • Publication number: 20090254582
    Abstract: Consistent replicas of a data object are created using a replication protocol that includes an opportunistic replication phase followed by a consistent replication phase. During the opportunistic replication phase, dirty regions are selected from the data object included in a primary computer and copied to a data object replica included in a secondary computer according to a selection heuristic. During the consistent replication phase, an immutable image of the data object is created by the primary computer and the remaining dirty regions are copied from the immutable image of the data object to the data object replica to create a consistent replica of the data object.
    Type: Application
    Filed: April 22, 2008
    Publication date: October 8, 2009
    Applicant: VMware, Inc.
    Inventors: Christos KARAMANOLIS, Matthew Benjamin Amdur, Patrick William Penzias Dirks
  • Publication number: 20090254693
    Abstract: Snapshots that are consistent across a group of data objects are generated. The snapshots are initiated by a coordinator, which transmits a sequence of commands to each storage node hosting a data object within a group of data objects. The first command prepares a data object for a snapshot. After a data object has been successfully prepared, an acknowledgment is sent to the coordinator. Once all appropriate acknowledgments are received, the coordinator sends a command to confirm that a snapshot has been created for each data object in the respective group. After receiving this confirmation, the coordinator takes action to confirm or record the successful completion of the group-consistent snapshot.
    Type: Application
    Filed: April 4, 2008
    Publication date: October 8, 2009
    Applicant: VMWARE, INC.
    Inventors: Christos KARAMANOLIS, Matthew Benjamin AMDUR, Patrick William Penzias DIRKS
  • Patent number: 7362766
    Abstract: According to one embodiment, a method comprises scheduling, by a weighted proportional-share scheduler, access of competing flows to a computing service in accordance with respective weights assigned to the competing flows. The method further comprises autonomously determining, by a controller, based at least in part on received performance measurement for the flows, values of the respective weights assigned to the competing flows for achieving respective performance goals desired for the competing flows. When determined by the controller that the values of the respective weights assigned to the competing flows should be changed for achieving the performance goals, the controller communicates the changed values of the respective weights to the weighted proportional-share scheduler.
    Type: Grant
    Filed: June 24, 2005
    Date of Patent: April 22, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Magnus Karlsson, Christos Karamanolis, Xiaoyun Zhu
  • Publication number: 20080069098
    Abstract: Provided is a system and method for directing group communication in a system environment that has a plurality of discrete application nodes networked with at least one discrete memory node, establishing a shared memory providing a passive message queue. A code library permits an application node member of a group to assemble a message selected from the group of send, join, leave, or read. The send, join and leave messages permit a first application node to add a message to the queue for all members of a group including the first application node at the time the message was added. The instruction set permitting the addition of the message is executed atomically.
    Type: Application
    Filed: September 15, 2006
    Publication date: March 20, 2008
    Inventors: Mehul A. Shah, Marcos K. Aguilera, Christos Karamanolis, Arif Merchant, Alistair Veitch
  • Patent number: 7315930
    Abstract: An embodiment of a method of selecting a heuristic class for data placement in a distributed storage system begins by forming a general integer program which models the data placement and forming a specific integer program which models a heuristic class for the data placement. The general and specific integer programs each comprising an objective of minimizing a replication cost. The method continues with solving the general integer program which provides a general lower bound for the replication cost and solving the specific integer program which provides a specific lower bound for the replication cost. The method concludes with selecting the heuristic class if a difference between the general lower bound and the specific lower bound is within an allowable amount.
    Type: Grant
    Filed: October 30, 2003
    Date of Patent: January 1, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Magnus Karlsson, Christos Karamanolis
  • Publication number: 20070288587
    Abstract: A transactional shared memory system has a plurality of discrete application nodes; a plurality of discrete memory nodes; a network interconnecting the application nodes and the memory nodes, and a controller for directing transactions in a distributed system utilizing the shared memory. The memory nodes collectively provide an address space of shared memory that is provided to the application nodes via the network. The controller has instructions to transfer a batched transaction instruction set from an application node to at least one memory node. This instruction set includes one or more write, compare and read instruction subsets, and/or combinations thereof. At least one subset has a valid non null memory node identifier and memory address range. The memory node identifier may be indicated by the memory address range.
    Type: Application
    Filed: June 12, 2006
    Publication date: December 13, 2007
    Inventors: Marcos K. Aguilera, Christos Karamanolis, Arif Merchant, Mehul A. Shah, Alistair Veitch
  • Patent number: 7240114
    Abstract: Method and system for performing a namespace operation in a distributed file system. The file system is disposed on a plurality of partition servers, and each partition server controls access to a subset of hierarchically-related, shared storage objects. Each namespace operation involves a namespace object and a target object that are part of the shared storage objects. Namespace operations received at each partition server are serialized. In response to an unlink namespace operation, a reference in the namespace object to the target object is removed, and after removal the target object is modified in accordance with the unlink operation. In response to a link operation, the target object is modified consistent with the link operation. After modification of the target object, a reference to the target object is inserted in the namespace object.
    Type: Grant
    Filed: September 25, 2001
    Date of Patent: July 3, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Christos Karamanolis, Zheng Zhang, Mallik Mahalingam, Daniel A. Muntz
  • Patent number: 7200747
    Abstract: A security module is configured to provide an owner the capability to differentiate between users. In particular, the security module is configured to generate an asymmetric read/write key pair for respectively decrypting/encrypting data for storage on a disk. The owner of the file may distribute the read key of the asymmetric key pair to a group of users that the owner has assigned read-permission for the encrypted data.
    Type: Grant
    Filed: October 31, 2001
    Date of Patent: April 3, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Erik Riedel, Christos Karamanolis, Mahesh Kallahalla, Ram Swaminathan
  • Patent number: 7171494
    Abstract: Apparatus and method for extending a standard-based remote file access protocol and maintaining compatibility with the standard protocol stack. Network file system (NFS) remote procedure calls (RPCs) that are submitted by an NFS client application are intercepted in a manner that is transparent to the client operating system. The intercepted NFS-RPCs are sent to a file interface card. The file interface card includes a processor that executes code that implements the standard NFS-RPC protocol, along with extensions to the standard NFS-RPC protocol. Non-NFS RPCs are sent to a conventional network interface card for processing.
    Type: Grant
    Filed: January 31, 2001
    Date of Patent: January 30, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Christos Karamanolis, Zheng Zhang, Mallik Mahalingam
  • Publication number: 20060294044
    Abstract: According to one embodiment, a method comprises scheduling, by a weighted proportional-share scheduler, access of competing flows to a computing service in accordance with respective weights assigned to the competing flows. The method further comprises autonomously determining, by a controller, based at least in part on received performance measurement for the flows, values of the respective weights assigned to the competing flows for achieving respective performance goals desired for the competing flows. When determined by the controller that the values of the respective weights assigned to the competing flows should be changed for achieving the performance goals, the controller communicates the changed values of the respective weights to the weighted proportional-share scheduler.
    Type: Application
    Filed: June 24, 2005
    Publication date: December 28, 2006
    Inventors: Magnus Karlsson, Christos Karamanolis, Xiaoyun Zhu
  • Publication number: 20060280119
    Abstract: According to one embodiment, a method comprises receiving at a scheduler a change to a weight assigned to a consumer. The method further comprises utilizing, by the scheduler, a weighted proportional-share scheduling algorithm to maintain fairness in allocating shares of a resource to competing consumers in accordance with the changed weight. According to another embodiment, a system comprises at least one resource, and a plurality of competing consumers desiring to use the resource(s). A scheduler allocates shares of the resource(s) to the competing consumers according to a weighted proportional-share algorithm. A controller monitors at least one of performance of the competing consumers and utilization of the resource(s), and controls the performance and/or utilization by dynamically changing a scheduler parameter. The scheduler maintains fairness in allocating shares of the resource(s) to the competing consumers in accordance with the dynamically changed scheduler parameter.
    Type: Application
    Filed: June 10, 2005
    Publication date: December 14, 2006
    Inventors: Christos Karamanolis, Magnus Karlsson
  • Publication number: 20060090163
    Abstract: An embodiment of a method of controlling access to a computing resource within a shared computing environment begins with a first step of measuring performance parameters for workloads accessing the computing resource to determine a performance parameter vector for the workloads. The method continues with a second step of estimating a controller function for the computing resource by analysis of recent performance parameters and recent throughputs. The controller function comprises a mathematical operation which takes an input and provides an output. In a third step, the method compares the performance parameter vector to a reference performance parameter vector to determine an error parameter. In a fourth step, the method applies the controller function to the error parameter to determine a target throughput for each of the workloads.
    Type: Application
    Filed: October 21, 2004
    Publication date: April 27, 2006
    Inventors: Magnus Karisson, Christos Karamanolis, Xiaoyun Zhu
  • Publication number: 20050283487
    Abstract: An embodiment of a method of determining a lower bound for a minimum cost of placing data objects onto nodes of a distributed storage system begins with a first step of assigning a placement of a data object to a node and a time interval which meets a benefit criterion. Assignment of the placement of the data object to the node and the time interval comprises assigning the placement of the data object to a node-interval. The method continues with a second step of continuing to assign additional placements of the data object to other node-intervals which each meet the benefit criterion until a performance reaches a performance threshold. The method performs the first and second steps for each of the data objects. The method concludes with a step of calculating a sum of storage costs and creation costs for the placement and the additional placements of the data objects.
    Type: Application
    Filed: June 21, 2004
    Publication date: December 22, 2005
    Inventors: Magnus Karlsson, Christos Karamanolis
  • Publication number: 20050097284
    Abstract: An embodiment of a method of determining bounds for a minimum cost begins, by solving an integer program using a relaxation of binary variables to determine a lower bound for the minimum cost. The integer program comprises a performance constraint and an objective of minimizing a cost. The binary variables which have values between zero and one comprise a subset. The method rounds up a first binary variable within the subset having a lowest ratio of a cost penalty to a performance reward. The method then rounds down one or more of the binary variables within the subset until no binary variables within the subset may be rounded down without violating the performance constraint. The method iteratively rounds up one of the binary variables within the subset and then rounds down others until no binary variables remain in the subset. The method concludes with determining an upper bound for the minimum cost according to the binary variables having binary values.
    Type: Application
    Filed: October 30, 2003
    Publication date: May 5, 2005
    Inventors: Magnus Karlsson, Christos Karamanolis
  • Publication number: 20050097283
    Abstract: An embodiment of a method of selecting a heuristic class for data placement in a distributed storage system begins by forming a general integer program which models the data placement and forming a specific integer program which models a heuristic class for the data placement. The general and specific integer programs each comprising an objective of minimizing a replication cost. The method continues with solving the general integer program which provides a general lower bound for the replication cost and solving the specific integer program which provides a specific lower bound for the replication cost. The method concludes with selecting the heuristic class if a difference between the general lower bound and the specific lower bound is within an allowable amount.
    Type: Application
    Filed: October 30, 2003
    Publication date: May 5, 2005
    Inventors: Magnus Karlsson, Christos Karamanolis
  • Publication number: 20050097285
    Abstract: A method of determining data placement for a distributed storage system with a selection of a heuristic class for placing data objects onto nodes of the distributed storage system. The heuristic class meets a performance requirement and provides a replication cost that is within an allowable limit of a minimum replication cost. The method continues with an instantiation of a data placement heuristic selected from a range of data placement heuristics according to the heuristic class. According to one embodiment, the method concludes with the instantiation of the data placement heuristic. According to another embodiment, the method concludes with an evaluation of a placement of the data objects onto the nodes made according to the data placement heuristic. According to another embodiment, the method continues by iteratively performing the selection of the heuristic class, the instantiation of the data placement heuristic, and the evaluation of the data placement heuristic.
    Type: Application
    Filed: October 30, 2003
    Publication date: May 5, 2005
    Inventors: Christos Karamanolis, Magnus Karlsson
  • Publication number: 20050097286
    Abstract: A method of instantiating a data placement heuristic for a distributed storage system begins with a node of the distributed storage system receiving heuristic parameters. The method concludes with the node running an algorithm which instantiates a particular data placement heuristic selected from a range of data placement heuristics according to the heuristic parameters. According to an embodiment, the heuristic parameters comprise a placement constraint, a metric scope, an approximation technique, and an evaluation interval.
    Type: Application
    Filed: October 30, 2003
    Publication date: May 5, 2005
    Inventors: Magnus Karlsson, Christos Karamanolis
  • Patent number: 6883029
    Abstract: A system and method for providing a plurality of client applications access to data in a distributed file system. In various embodiments, read requests are separated from write requests and the read requests are processed by dedicated read servers. A plurality of read servers are coupled to the client applications and each read server reads file data from the distributed file system and returns the file data to the client applications. A write server writes data to the distributed file system. Various embodiments are described for separating read requests from write requests and transmitting read requests to the read servers write requests to the write server.
    Type: Grant
    Filed: February 14, 2001
    Date of Patent: April 19, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Christos Karamanolis, Daniel A. Muntz, Mallik Mahalingam, Zheng Zhang
  • Publication number: 20050076031
    Abstract: A data model represents semantic information associated with objects stored in a file system. The data model includes a first object identifier, a second object identifier and a relation identifier. The first object identifier identifies a first object stored in the file system. The second object identifier identifies a second object stored in the file system, wherein the second object is related to the first object. The relation identifier identifies a relationship between the first object and the second object.
    Type: Application
    Filed: September 22, 2003
    Publication date: April 7, 2005
    Inventors: Zhichen Xu, Magnus Karlsson, Chunqiang Tang, Christos Karamanolis
  • Publication number: 20040172421
    Abstract: The invention is a system for and a method of maintaining namespace consistency in a wide-area file system. In one embodiment, a wide-area file system has a plurality of replicas for a file. Each replica of a file and parent directories for the file are at a node. An update to a replica of the file is propagated to other replicas of the file. In response to receiving a propagated update to a replica at a node, the replica for the file at the node is updated. A directory operation (e.g., rename, link or unlink) may affect a backpointer for a replica. When a backpointer for a replica at a node is not consistent with the parent directories for the replica at the node, the the parent directories are modified to be consistent with the backpointer. A modification may be performed at a node while an earlier inconsistent modification may be ignored. As a result, consistency is maintained among the replicas.
    Type: Application
    Filed: December 1, 2003
    Publication date: September 2, 2004
    Inventors: Yasushi Saito, Christos Karamanolis