Patents by Inventor Patrick James Helland

Patrick James Helland 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: 10158642
    Abstract: Log entries are provided with unique entry identifiers, which may be sequenced in an incremental or decremental order, to create or to update a distributed log which may be replicated and distributed to multiple servers in a network. The entry identifiers may be appended to their respective log entries. Files, records or data which are identified by their respective log entries may be transmitted regardless of the sequence of the entry identifiers.
    Type: Grant
    Filed: May 6, 2016
    Date of Patent: December 18, 2018
    Assignee: salesforce.com, inc.
    Inventors: Venkateswararao Jujjuri, Sameer Tiwari, James John Seeger, Jr., Patrick James Helland
  • Publication number: 20180218023
    Abstract: Techniques are disclosed relating to efficiently processing of concurrent database transactions. In one embodiment, a database system receives a first key-value pair for a database transaction and stores the key-value pair in a data structure for active database transactions. The storing may include indexing into a hash table of the data structure with a key of the key-value pair to identify a hash bucket of the hash table corresponding to the key, acquiring a latch associated with the identified hash bucket, and, based on a state of the acquired latch, appending, to the hash bucket, a record specifying the key-value pair. The database system may cause the key-value pair from the data structure to be committed to persistent storage in response to the database transaction being committed.
    Type: Application
    Filed: January 31, 2017
    Publication date: August 2, 2018
    Inventors: Thomas Fanghaenel, Patrick James Helland, James E. Mace
  • Publication number: 20180217987
    Abstract: This disclosure provides various techniques that may allow for accessing values stored in a data structure that stores multiple values corresponding to database transactions using a skip list. A key may be used to traverse the skip list to access data associated with the key. The skip list maintains on ordering of multiple keys, each associated with a particular record in the data structure, using indirect links between data records in the data structure that reference buckets included in hash table. Each bucket includes pointers to one or more records in the skip list.
    Type: Application
    Filed: January 31, 2017
    Publication date: August 2, 2018
    Inventors: Patrick James Helland, James E. Mace, Thomas Fanghaenel
  • Publication number: 20180129693
    Abstract: Systems and methods provide multi-version concurrency control of database records with uncommitted transactions. The system and methods may include receiving a query regarding a transaction counter number. When a transaction header identifying data is updated with the assigned transaction counter number, the updated transaction header may be used in identifying data as an instance of multiversion concurrency control information by the received query. A key lookup may be performed, and when the key lookup encounters an uncommitted row for a transaction number, a corresponding transaction header identifying data to identify a data array element to determine whether the transaction number is committed, and determining the transaction counter number when the transaction number is committed. The transaction counter number may be stamped on the row version record when it is determined that the row is committed.
    Type: Application
    Filed: November 4, 2016
    Publication date: May 10, 2018
    Inventors: Subho Sanjay Chatterjee, Patrick James Helland, Nathaniel Wyatt, James E. Mace, Punit B. Shah
  • Publication number: 20180129585
    Abstract: Systems and methods are provided for creating a sandbox for an original tenant at a point in time, the original tenant having original tenant data stored in an immutable storage associated with an original tenant identifier, the original tenant data as of the sandbox creation point in time being a virtual snapshot of the original tenant data accessible by a sandbox tenant, where the sandbox tenant data can be changed without changing the original tenant data, and the original tenant data can be changed without changing the sandbox tenant data. A sandbox tenant is created by associating a sandbox tenant identifier with the virtual snapshot of the original tenant data and with sandbox tenant data created by the sandbox tenant subsequent to the sandbox creation point in time. Original tenant data is subsequently created and associated with the original tenant identifier, and is not accessible to the sandbox tenant.
    Type: Application
    Filed: November 8, 2016
    Publication date: May 10, 2018
    Inventors: Jameison Bear Martin, Subho Sanjay Chatterjee, Patrick James Helland, Nathaniel Wyatt, Thomas Fanghaenel, Terry Chong
  • Publication number: 20170322994
    Abstract: Log entries are provided with unique entry identifiers, which may be sequenced in an incremental or decremental order, to create or to update a distributed log which may be replicated and distributed to multiple servers in a network. The entry identifiers may be appended to their respective log entries. Files, records or data which are identified by their respective log entries may be transmitted regardless of the sequence of the entry identifiers.
    Type: Application
    Filed: May 6, 2016
    Publication date: November 9, 2017
    Inventors: Venkateswararao Jujjuri, Sameer Tiwari, James John Seeger, JR., Patrick James Helland
  • Publication number: 20160117318
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for facilitating dynamically unified system of record in an on-demand services environment in a multi-tenant environment according to one embodiment. In one embodiment and by way of example, a method includes integrating, by and incorporating into the database system, a plurality of subsystems into a unified system of record (“unified system), where each subsystem is independent of and incompatible with other subsystems of the plurality of subsystems, and collectively managing the plurality of subsystems, where collectively managing includes facilitating common communication within and between and uniform management of the plurality of subsystems based on common communication criteria and unified storage of data associated with the plurality of subsystems.
    Type: Application
    Filed: October 28, 2014
    Publication date: April 28, 2016
    Inventor: PATRICK JAMES HELLAND
  • Patent number: 8819017
    Abstract: Embodiments of the present invention relate to systems, methods, and computer-storage media for affinitizing datasets based on efficient query processing. In one embodiment, a plurality of datasets within a data stream is received. The data stream is partitioned based on efficient query processing. Once the data stream is partitioned, an affinity identifier is assigned to datasets based on the partitioning of the dataset. Further, when datasets are broken into extents, the affinity identifier of the parent dataset is retained in the resulting extent. The affinity identifier of each extent is then referenced to preferentially store extents having common affinity identifiers within close proximity of one other across a data center.
    Type: Grant
    Filed: October 15, 2010
    Date of Patent: August 26, 2014
    Assignee: Microsoft Corporation
    Inventors: Jingren Zhou, Patrick James Helland, Jonathan Forbes, Yaron Burd
  • Publication number: 20120096001
    Abstract: Embodiments of the present invention relate to systems, methods, and computer-storage media for affinitizing datasets based on efficient query processing. In one embodiment, a plurality of datasets within a data stream is received. The data stream is partitioned based on efficient query processing. Once the data stream is partitioned, an affinity identifier is assigned to datasets based on the partitioning of the dataset. Further, when datasets are broken into extents, the affinity identifier of the parent dataset is retained in the resulting extent. The affinity identifier of each extent is then referenced to preferentially store extents having common affinity identifiers within close proximity of one other across a data center.
    Type: Application
    Filed: October 15, 2010
    Publication date: April 19, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: JINGREN ZHOU, PATRICK JAMES HELLAND, JONATHAN FORBES, YARON BURD
  • Patent number: 7076784
    Abstract: A run-time executive of an object management system for managing execution of software components in an object execution environment uses a component context object to store intrinsic context properties related to an associated component. The run-time executive maintains an implicit association of the component context object with the application component. For example, the context properties can include a client id, an activity id, and a transaction reference. The component context object also provides an interface accessible to the associated component, with member functions for use in transaction processing, in creating additional other application components inheriting component's context properties, and in access control based on abstract user classes (roles).
    Type: Grant
    Filed: October 22, 1999
    Date of Patent: July 11, 2006
    Assignee: Microsoft Corporation
    Inventors: Wilfred G. Russell, Patrick James Helland, Greg Hope, Rodney Limprecht, Mohsen Al-Ghosein, Jan Stephen Gray
  • Patent number: 7062770
    Abstract: A component-based framework includes system services and component integration interfaces that provide a run-time environment for component-based server application in which server application components have control over the duration of their state independent of client action. The framework provides functions that a server application component calls to indicate its work for a client is complete, and its state is to be destroyed. On the component's return from the client's method call, the framework destroys the component's state thus releasing any server computer resources held by the component. This allows the server application components to be programmed so as to minimize the duration that their state remains in memory consuming server computer resources, and which enhances scalability of the server application.
    Type: Grant
    Filed: February 15, 2005
    Date of Patent: June 13, 2006
    Assignee: Microsoft Corporation
    Inventors: Rodney T. Limprecht, Patrick James Helland, Mohsen M. Agsen
  • Patent number: 7043734
    Abstract: A component-based framework includes system services and component integration interfaces that provide a run-time environment for component-based server application in which server application components have control over the duration of their state independent of client action. The framework provides functions that a server application component calls to indicate its work for a client is complete, and its state is to be destroyed. On the component's return from the client's method call, the framework destroys the component's state thus releasing any server computer resources held by the component. This allows the server application components to be programmed so as to minimize the duration that their state remains in memory consuming server computer resources, and which enhances scalability of the server application.
    Type: Grant
    Filed: February 15, 2005
    Date of Patent: May 9, 2006
    Assignee: Microsoft Corporation
    Inventors: Rodney T. Limprecht, Patrick James Helland, Mohsen M. Agsen
  • Patent number: 7043733
    Abstract: A component-based framework includes system services and component integration interfaces that provide a run-time environment for component-based server application in which server application components have control over the duration of their state independent of client action. The framework provides functions that a server application component calls to indicate its work for a client is complete, and its state is to be destroyed. On the component's return from the client's method call, the framework destroys the component's state thus releasing any server computer resources held by the component. This allows the server application components to be programmed so as to minimize the duration that their state remains in memory consuming server computer resources, and which enhances scalability of the server application.
    Type: Grant
    Filed: June 14, 2004
    Date of Patent: May 9, 2006
    Assignee: Microsoft Corporation
    Inventors: Rodney Limprecht, Patrick James Helland, Mohsen Al-Ghosein
  • Publication number: 20040230986
    Abstract: A component-based framework includes system services and component integration interfaces that provide a run-time environment for component-based server application in which server application components have control over the duration of their state independent of client action. The framework provides functions that a server application component calls to indicate its work for a client is complete, and its state is to be destroyed. On the component's return from the client's method call, the framework destroys the component's state thus releasing any server computer resources held by the component. This allows the server application components to be programmed so as to minimize the duration that their state remains in memory consuming server computer resources, and which enhances scalability of the server application.
    Type: Application
    Filed: June 14, 2004
    Publication date: November 18, 2004
    Applicant: Microsoft Corporation
    Inventors: Rodney Limprecht, Patrick James Helland, Mohsen Al-Ghosein
  • Patent number: 6813769
    Abstract: A component-based framework includes system services and component integration interfaces that provide a run-time environment for component-based server application in which server application components have control over the duration of their state independent of client action. The framework provides functions that a server application component calls to indicate its work for a client is complete, and its state is to be destroyed. On the component's return from the client's method call, the framework destroys the component's state thus releasing any server computer resources held by the component. This allows the server application components to be programmed so as to minimize the duration that their state remains in memory consuming server computer resources, and which enhances scalability of the server application.
    Type: Grant
    Filed: October 28, 1997
    Date of Patent: November 2, 2004
    Assignee: Microsoft Corporation
    Inventors: Rodney Limprecht, Patrick James Helland, Mohsen Al-Ghosein
  • Patent number: 6714962
    Abstract: A multi-tier server application architecture provides a simplified programming model of multiple user server applications that enhances programmer productivity. The multi-tier architecture comprises a client tier for client application code that initiates processing by the server application in response to user input, a middle tier of object-oriented server application code, and a database tier of shared access data and management code. A run-time environment for the object-oriented server application code limits access to instantiated objects of the middle tier server application code to a single one of the users. Objects in the middle tier that are instantiated to initiate processing for a particular user and grouped into a collection. The run-time environment manages the flow of execution into the collection such that the collection has only a single logical thread of execution and access by the client application code is exclusive to the particular user.
    Type: Grant
    Filed: March 16, 2000
    Date of Patent: March 30, 2004
    Assignee: Microsoft Corporation
    Inventors: Patrick James Helland, Rodney Limprecht, Mohsen Al-Ghosein, David R. Reed
  • Patent number: 6678696
    Abstract: A component-based framework includes system services and component integration interfaces that provide a run-time environment which automatically processes work of component-based server applications in transactions according to transactional rules or behaviors declaratively specified to apply to the respective components. A transaction attribute is declaratively specified for a server application component that represents whether the component requires execution in a transaction. When a client requests creation of a server application component without having first initiated a transaction and the component's transaction attribute indicates a transaction is required, the framework automatically initiates a transaction in which to run the server application component. The framework also completes the automatically initiated transaction upon receiving an indication from the server application component that its transactional work is complete.
    Type: Grant
    Filed: January 4, 1999
    Date of Patent: January 13, 2004
    Assignee: Microsoft Corporation
    Inventors: Patrick James Helland, Rodney Limprecht, Mohsen Al-Ghosein, Wilfred G. Russell
  • Patent number: 6631425
    Abstract: A run-time environment implemented as system services and component integration interfaces provides scalable and robust component-based server applications by deactivating server application components between uses by a client program on separate items of work while allowing the client program to retain references to server application components when deactivated. When a server application component is deactivated, a data state of the component and any resources held by the component are released. The run-time environment activates a component on receiving a call by the client to the component while the component is deactivated, whereupon the component is instantiated with an initial data state.
    Type: Grant
    Filed: October 28, 1997
    Date of Patent: October 7, 2003
    Assignee: Microsoft Corporation
    Inventors: Patrick James Helland, Rodney Limprecht, Mohsen Al-Ghosein, Wilfred G. Russell, Jan Stephen Gray
  • Patent number: 6301601
    Abstract: A run-time environment implemented as system services and component integration interfaces provides a capability for components of a component-based server application to reversibly disable committal of a transaction in which the component participates. On return from a call to the component which leaves the component's transactional work in an invalid state, the component can disable commit of the transaction so as to avoid premature committal of the component's transactional work. On return from a call to the component which renders the component's transactional work in a valid state, the component re-enables commit of the transaction. If committal of the transaction is initiated when any component in the transaction disables commit, the transaction is aborted.
    Type: Grant
    Filed: July 12, 1999
    Date of Patent: October 9, 2001
    Assignee: Microsoft Corporation
    Inventors: Patrick James Helland, Rodney Limprecht, Mohsen Al-Ghosein
  • Patent number: 6167423
    Abstract: In a computing environment containing a plurality of state machines that communicate by passing messages on connections, a construct called a clique controls access into a set of the state machines by worker threads that deliver the messages arriving on the connections. A clique is a collection of connections into the set of the state machines that have a common relationship for which concurrency isolation is required. Each clique has a message queue and a guard for marking the clique as busy or not busy, The guard prevents more than one thread at a time from delivering messages that arrive on connections in the clique to the set of state machines, thus ensuring concurrency isolation of the set of state machines. Messages that arrive on a connection in the clique while the clique is marked as busy are queued in the clique's message queue. The queued messages are delivered one at a time by a same worker thread that is currently busy in the clique.
    Type: Grant
    Filed: April 3, 1997
    Date of Patent: December 26, 2000
    Assignee: Microsoft Corporation
    Inventors: Gagan Chopra, Matthew Clark McCline, Patrick James Helland, Mohsen M. Al-Ghosein