Patents by Inventor Mark Falco

Mark Falco 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: 9083614
    Abstract: A system and method can support out-of-order message processing in a distributed data grid. A cluster node in the distributed data grid can receive a plurality of messages at a cluster node in the distributed data grid. The distributed data grid allows each message in the plurality of messages to determine whether it needs to be handled in a particular order on a first thread. The cluster node can dispatch one or more of said messages that do not need to be handled in the particular order on the first thread to one or more different threads.
    Type: Grant
    Filed: November 7, 2012
    Date of Patent: July 14, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mark Falco, Gene Gleyzer
  • Publication number: 20150186489
    Abstract: Systems and methods can support asynchronous invocation in a distributed data grid with a plurality of server nodes. The system allows a server node in the distributed data grid to receive one or more tasks from a client, wherein said one or more tasks are associated with a unit-of-order. Furthermore, the system can execute said one or more tasks on one or more said server nodes in the distributed data grid, based on the unit-of-order that is guaranteed by the distributed data grid.
    Type: Application
    Filed: July 2, 2014
    Publication date: July 2, 2015
    Inventors: Gene Gleyzer, Robert H. Lee, Mark A. Falco
  • Publication number: 20150186181
    Abstract: Systems and methods can support flow control in a distributed data grid. The distributed data grid includes a plurality of server nodes that are interconnected with one or more communication channels. The distributed data grid can provide a flow control mechanism, which controls the execution of the tasks in an underlying layer in the distributed data grid. Then, the system allows the client to interact with the flow control mechanism in the distributed data grid, and use the flow control mechanism to configure and execute one or more tasks that are received from the client.
    Type: Application
    Filed: July 2, 2014
    Publication date: July 2, 2015
    Inventors: Gene Gleyzer, Robert H. Lee, Mark A. Falco
  • Patent number: 9063787
    Abstract: A system and method is described for use with a data grid cluster, which uses cluster quorum to prevent split brain scenario. The data grid cluster includes a plurality of cluster nodes, each of which runs a cluster service. Each cluster service collects and maintains statistics regarding communication flow between its cluster node and the other cluster nodes in the data grid cluster. The statistics are used to determine a status associated with other cluster nodes in the data grid cluster whenever a disconnect event happens. The data grid cluster is associated with a quorum policy, which is defined in a cache configuration file, and which specifies a time period that a cluster node will wait before making a decision on whether or not to evict one or more cluster nodes from the data grid cluster.
    Type: Grant
    Filed: January 17, 2012
    Date of Patent: June 23, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Robert H. Lee, Mark Falco, Gene Gleyzer, Cameron Purdy
  • Patent number: 9063852
    Abstract: A system and method is described for use with a data grid cluster to support death detection. A network ring is formed by connecting a plurality of process nodes in the data grid, wherein each node in the network ring watches another node. A death of a first process node in the network ring can be detected by a second process node, when the second process node notices that its connection to the first process node has closed. The first process node then informs other process cluster nodes in the network ring that the first node is dead. In accordance with an embodiment, machine level death detection can also be supported in the data grid cluster by using an Internet Protocol (IP) monitor.
    Type: Grant
    Filed: January 17, 2012
    Date of Patent: June 23, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mark Falco, Robert H. Lee, Harvey Eneman, Gene Gleyzer, Cameron Purdy, Alex Gleyzer
  • Publication number: 20150169718
    Abstract: A system and method can support persistence in a distributed data grid. A plurality of members in the distributed data grid can persist a plurality of partitions associated with one or more cache services in persistent storage. Furthermore, a coordinator, which may be a member in the distributed data grid, can synchronize a view of partition ownership among the plurality of members in the distributed data grid, and form a distributed consensus on which partition can be recovered from which member in the distributed data grid.
    Type: Application
    Filed: May 6, 2014
    Publication date: June 18, 2015
    Applicant: Oracle International Corporation
    Inventors: Robert H. Lee, Jason John Howes, Mark Falco, Gene Gleyzer
  • Publication number: 20150169367
    Abstract: A system and method can support queue processing in a computing environment such as a distributed data grid. A thread can be associated with a queue in the computing environment, wherein the thread runs on one or more microprocessors that support a central processing unit (CPU). The system can use the thread to process one or more tasks when said one or more tasks arrive at the queue. Furthermore, the system can configure the thread to be in one of a sleep state and an idle state adaptively, when there is no task in the queue.
    Type: Application
    Filed: August 1, 2014
    Publication date: June 18, 2015
    Inventor: Mark A. Falco
  • Publication number: 20150169653
    Abstract: A system and method can support persistence in a distributed data grid, such as persistent store versioning and integrity. A resolver in the distributed data grid can receive a plurality of identifiers from one or more members of the distributed data grid, wherein each said identifier is associated with a persisted partition in a persistent storage for the distributed data grid. Then, the resolver can select an identifier for each partition, wherein each selected identifier is associated with a most recent valid version of a partition. Furthermore, the resolver can determine a member in the distributed data grid that is responsible for recovering said partition from a persisted partition associated with the selected identifier.
    Type: Application
    Filed: May 6, 2014
    Publication date: June 18, 2015
    Applicant: Oracle International Corporation
    Inventors: Robert H. Lee, Jason John Howes, Mark Falco, Gene Gleyzer
  • Publication number: 20150169598
    Abstract: A system and method can support persistence in a distributed data grid, such as providing a persistent snapshot of a running system. The system allows one or more cache services to run on a plurality of cluster members in the distributed data grid. Furthermore, the system can collect a catalogue of state information associated with said one or more cache services from the plurality of cluster members in the distributed data grid, and create a snapshot for said one or more cache services running on the distributed data grid.
    Type: Application
    Filed: May 6, 2014
    Publication date: June 18, 2015
    Applicant: Oracle International Corporation
    Inventors: Robert H. Lee, Jason John Howes, Mark Falco, Gene Gleyzer
  • Patent number: 8983876
    Abstract: A system and method is described for use with a data grid cluster, which uses cluster quorum to prevent split brain scenario. The data grid cluster includes a plurality of cluster nodes, each of which runs a cluster service. Each cluster service collects and maintains statistics regarding communication flow between its cluster node and the other cluster nodes in the data grid cluster. The statistics are used to determine a status associated with other cluster nodes in the data grid cluster whenever a disconnect event happens. The data grid cluster is associated with a quorum policy, which is defined in a cache configuration file, and which specifies a time period that a cluster node will wait before making a decision on whether or not to evict one or more cluster nodes from the data grid cluster.
    Type: Grant
    Filed: January 17, 2012
    Date of Patent: March 17, 2015
    Assignee: Oracle International Corporation
    Inventors: Robert H. Lee, Mark Falco, Gene Gleyzer, Cameron Purdy
  • Patent number: 8935707
    Abstract: A system and method for providing a message bus component or version thereof (referred to herein as an implementation), and a messaging application program interface, for use in an enterprise data center, middleware machine system, or similar environment that includes a plurality of processor nodes together with a high-performance communication fabric (or communication mechanism) such as InfiniBand. In accordance with an embodiment, the messaging application program interface enables features such as asynchronous messaging, low latency, and high data throughput, and supports the use of in-memory data grid, application server, and other middleware components.
    Type: Grant
    Filed: December 4, 2012
    Date of Patent: January 13, 2015
    Assignee: Oracle International Corporation
    Inventors: Mark Falco, Patrik Torstensson, Gene Gleyzer, Cameron Purdy
  • Patent number: 8874811
    Abstract: A system and method can provide a flexible buffer management interface in a distributed data grid. The buffer manager in the distributed data grid can receive a request from a requester for a buffer in the distributed data grid, wherein the request contains at least one parameter that provides an indication on the size of the requested buffer. Then, the buffer manager can allocate a buffer based on the indication in the request and provide the allocated buffer to the requester, wherein an actual size of the buffer is determined by the buffer manager.
    Type: Grant
    Filed: November 7, 2012
    Date of Patent: October 28, 2014
    Assignee: Oracle International Corporation
    Inventors: Charlie Helin, Mark Falco
  • Publication number: 20140108664
    Abstract: A system and method can support port multiplexing in a server environment, e.g. in a distributed data grid. The server environment can comprise a port to receive one or more request, wherein the port is adapted to be associated with different port address values and the port operates to receive one or more connection requests. Additionally, the server environment allows a plurality of sockets to utilize the different port address values to support multiplexing of sockets over the port, and a multiplexed socket provider can be used to provide the plurality of sockets.
    Type: Application
    Filed: November 7, 2012
    Publication date: April 17, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mark Falco, Ballav Bihani
  • Publication number: 20140108760
    Abstract: A system and method can support smart buffer management in a distributed data grid. A buffer manager in the distributed data grid can provide a plurality of buffers in a buffer pool in the distributed data grid, wherein the plurality of buffers are arranged in different generations and each buffer operates to contain one or more objects. The buffer manager can prevent a garbage collector from directly recycling the memory associated with each individual object in the buffer pool, and can allow the garbage collecting of one or more objects in one or more buffers in a particular generation to be performed together.
    Type: Application
    Filed: November 7, 2012
    Publication date: April 17, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Charlie Helin, Mark Falco
  • Publication number: 20140108681
    Abstract: A system and method can provide a flexible buffer management interface in a distributed data grid. The buffer manager in the distributed data grid can receive a request from a requester for a buffer in the distributed data grid, wherein the request contains at least one parameter that provides an indication on the size of the requested buffer. Then, the buffer manager can allocate a buffer based on the indication in the request and provide the allocated buffer to the requester, wherein an actual size of the buffer is determined by the buffer manager.
    Type: Application
    Filed: November 7, 2012
    Publication date: April 17, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Charlie Helin, Mark Falco
  • Publication number: 20140108645
    Abstract: A system and method can support socket programming in a server environment, such as a distributed data grid. The server environment can include a selection service that operates to register a plurality of sockets, wherein each said socket is associated with a handler in a plurality of handlers. Furthermore, the selection service can listen for one or more incoming connection requests on the plurality of sockets, and invoke a pluggable callback provided by a said handler associated with a registered socket in the plurality of sockets, when said registered socket receives an incoming connection request.
    Type: Application
    Filed: November 7, 2012
    Publication date: April 17, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mark Falco, Ballav Bihani
  • Publication number: 20140108533
    Abstract: A system and method can support out-of-order message processing in a distributed data grid. A cluster node in the distributed data grid can receive a plurality of messages at a cluster node in the distributed data grid. The distributed data grid allows each message in the plurality of messages to determine whether it needs to be handled in a particular order on a first thread. The cluster node can dispatch one or more of said messages that do not need to be handled in the particular order on the first thread to one or more different threads.
    Type: Application
    Filed: November 7, 2012
    Publication date: April 17, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mark Falco, Gene Gleyzer
  • Publication number: 20140075071
    Abstract: A system and method can support message pre-processing in a distributed data grid. The system can associate a message bus with a service thread on a cluster member in the distributed data grid. Furthermore, the system can receive one or more incoming messages at the message bus using an input/output (I/O) thread, and pre-process said one or more incoming messages on the I/O thread before each said incoming message is delivered to a service thread in the distributed data grid. Additionally, the system can take advantage of a pool of input/output (I/O) threads to deserialize inbound messages before they are delivered to the addressed service, and can relieve the bottleneck that is caused by performing all message deserialization in a single threaded fashion before the message type can be identified and offloaded to the thread-pool within the distributed data grid.
    Type: Application
    Filed: September 6, 2013
    Publication date: March 13, 2014
    Applicant: Oracle International Corporation
    Inventors: Mark Falco, Alex Gleyzer
  • Publication number: 20140075078
    Abstract: A system and method can a scalable message bus in a distributed data grid. The system can provide a plurality of message buses in the distributed data grid, wherein the distributed data grid includes a plurality of cluster members and provides a plurality of services. Furthermore, the system can associate each said service in the distributed data grid with a said message bus, and use the plurality of message buses to support data transferring between different services on different cluster members in the distributed data grid. Additionally, the system can use a datagram layer to support clustering in the distributed data grid, and bypass the datagram layer in the distributed data grid for data transferring.
    Type: Application
    Filed: September 6, 2013
    Publication date: March 13, 2014
    Applicant: Oracle International Corporation
    Inventors: Mark Falco, Alex Gleyzer
  • Publication number: 20130041969
    Abstract: A system and method for providing a message bus component or version thereof (referred to herein as an implementation), and a messaging application program interface, for use in an enterprise data center, middleware machine system, or similar environment that includes a plurality of processor nodes together with a high-performance communication fabric (or communication mechanism) such as InfiniBand. In accordance with an embodiment, the messaging application program interface enables features such as asynchronous messaging, low latency, and high data throughput, and supports the use of in-memory data grid, application server, and other middleware components.
    Type: Application
    Filed: May 16, 2012
    Publication date: February 14, 2013
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mark Falco, Patrik Torstensson, Gene Gleyzer, Cameron Purdy