Patents by Inventor Avraham Harpaz

Avraham Harpaz 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: 11526499
    Abstract: An example system includes a processor to receive updates for a database of a publish and subscribe system. The processor is to generate an optimistic update based on the received updates. The processor is also to adaptively update the database using the optimistic update. In some examples, the processor generates a bulk optimistic update based on the optimistic update and adaptively updates the database using the bulk optimistic update or a read-modify-write sequence.
    Type: Grant
    Filed: February 18, 2019
    Date of Patent: December 13, 2022
    Assignee: International Business Machines Corporation
    Inventors: Yoav Tock, Nir Naaman, Avraham Harpaz
  • Patent number: 11381665
    Abstract: Examples of techniques for tracking client sessions in a publish and subscribe system using a shared repository are described herein. An example system includes a processor of a server to receive a connection request with a client identifier from a client a predefined policy for duplicate client sessions. The processor is to query a shared repository of the system using the client identifier. The processor is to also execute a set of actions based on the predefined policy, a query result including a detected duplicate client session from the shared repository, and a set of parameters.
    Type: Grant
    Filed: February 18, 2019
    Date of Patent: July 5, 2022
    Assignee: International Business Machines Corporation
    Inventors: Yoav Tock, Nir Naaman, Avraham Harpaz
  • Patent number: 10812578
    Abstract: Migration of a durable client in a publish/subscribe system from a first server of a cluster to a second server of the cluster. The method comprises the second server receiving subscription information of the durable client; the second server establishing a message queue for the durable client; the second server sending a switch command to all active servers of the cluster; in response to the second server obtaining, from an active server, an acknowledgement of the switch command, the second server inserting a marker to the message queue indicating switching point of the active server; and in response to the second server obtaining, from the first server, a message indicating the first server flushed all messages prior to respective switching points for all active servers, connecting the durable client to the second server and transmitting messages thereto by the second server.
    Type: Grant
    Filed: January 17, 2018
    Date of Patent: October 20, 2020
    Assignee: International Business Machines Corporation
    Inventors: Yoav Tock, Nir Naaman, Avraham Harpaz
  • Publication number: 20200267230
    Abstract: Examples of techniques for tracking client sessions in a publish and subscribe system using a shared repository are described herein. An example system includes a processor of a server to receive a connection request with a client identifier from a client a predefined policy for duplicate client sessions. The processor is to query a shared repository of the system using the client identifier. The processor is to also execute a set of actions based on the predefined policy, a query result including a detected duplicate client session from the shared repository, and a set of parameters.
    Type: Application
    Filed: February 18, 2019
    Publication date: August 20, 2020
    Inventors: Yoav Tock, Nir Naaman, Avraham Harpaz
  • Publication number: 20200265039
    Abstract: An example system includes a processor to receive updates for a database of a publish and subscribe system. The processor is to generate an optimistic update based on the received updates. The processor is also to adaptively update the database using the optimistic update. In some examples, the processor generates a bulk optimistic update based on the optimistic update and adaptively updates the database using the bulk optimistic update or a read-modify-write sequence.
    Type: Application
    Filed: February 18, 2019
    Publication date: August 20, 2020
    Inventors: Yoav Tock, Nir Naaman, Avraham Harpaz
  • Patent number: 10691731
    Abstract: A method comprising obtaining a Bloom filter array, wherein a size of a first Bloom filter is smaller than a size of a second Bloom filter and modifying at least a portion of the plurality of Bloom filters to create a modified Bloom filter array comprising a modified plurality of Bloom filters each of which having a same size, wherein the same size is greater than the size of the first Bloom filter, wherein said modifying comprises: duplicating the first Bloom filter to create a modified first Bloom filter comprising two or more concatenated copies of the first Bloom filter. The method may also include performing lookup in the Bloom filter array by computing a hash value of a key and accessing a bit in the hash value location in each Bloom filter of the modified Bloom filter array to determine lookup outcome in each Bloom filter.
    Type: Grant
    Filed: November 26, 2015
    Date of Patent: June 23, 2020
    Assignee: International Business Machines Corporation
    Inventors: Chen Chen, Avraham Harpaz, Nir Naaman, Yoav Tock
  • Patent number: 10693786
    Abstract: Method, system and product for efficient size reduction of a Bloom filter. The method includes: creating an interleaved Bloom filter based on a Bloom filter, wherein the interleaved Bloom filter is defined so as to have non-sequential cells of the Bloom filter be positioned sequentially, wherein the interleaved Bloom filter interleaves segments of the Bloom filter, wherein a size of the segments is based on an interleaving factor. A reduced size Bloom filter having a number cells below the number of cells of the Bloom filter is computed. The computation includes computing a value of a cell in the reduced size Bloom filter based on two or more values of cells in the interleaved Bloom filter.
    Type: Grant
    Filed: November 26, 2015
    Date of Patent: June 23, 2020
    Assignee: International Business Machines Corporation
    Inventors: Chen Chen, Avraham Harpaz, Nir Naaman, Yoav Tock
  • Patent number: 10574619
    Abstract: A computer implemented method of improving server coverage of a publish-subscribe cluster of servers, comprising using a cluster comprising a plurality of servers each having hardware processor(s), the cluster is adapted to execute messaging engines of a publish-subscribe service for forwarding a plurality of messages to a plurality of subscribing clients, each message is associated with one of a plurality of topics, wherein distributed subscriptions client(s) applies shared subscriptions for one or more topics through subscription group(s) each comprising a subset of the subscribing clients, monitor shared subscriptions made by the subscription group(s) to each of the messaging engines for each topic, generate a shared subscriptions information for each topic by analyzing the shared subscriptions and publish the shared subscriptions information to the clients to allow client(s) of the subscription group(s) to subscribe for the topic(s) on a preferred messaging engine to improve a server coverage of their sub
    Type: Grant
    Filed: January 2, 2017
    Date of Patent: February 25, 2020
    Assignee: International Business Machines Corporation
    Inventors: Avraham Harpaz, Nir Naaman, Yoav Tock
  • Publication number: 20190222640
    Abstract: Migration of a durable client in a publish/subscribe system from a first server of a cluster to a second server of the cluster. The method comprises the second server receiving subscription information of the durable client; the second server establishing a message queue for the durable client; the second server sending a switch command to all active servers of the cluster; in response to the second server obtaining, from an active server, an acknowledgement of the switch command, the second server inserting a marker to the message queue indicating switching point of the active server; and in response to the second server obtaining, from the first server, a message indicating the first server flushed all messages prior to respective switching points for all active servers, connecting the durable client to the second server and transmitting messages thereto by the second server.
    Type: Application
    Filed: January 17, 2018
    Publication date: July 18, 2019
    Inventors: Yoav Tock, Nir Naaman, Avraham Harpaz
  • Patent number: 10334067
    Abstract: A computer implemented method of improving server coverage of a publish-subscribe cluster comprising using one or more hardware processors to execute one or more shared subscriptions hubs each adapted to retrieve shared subscriptions information from a cluster comprising multiple servers executing multiple messaging engines of a publish-subscribe service for forwarding messages to a plurality of subscribing clients, each message is associated with one or more of a plurality of topics, receive shared subscriptions requests for subscribing for one or more of the topics from distributed subscriptions client(s) applying shared subscriptions for the topic(s) through subscription group(s) comprising a subset of the subscribing clients, connect to preferred messaging engine(s) selected to improve server coverage of the subscription group(s) according to the shared subscriptions information to serve each of the plurality of shared subscriptions requests and forward messages associated with the topic(s) received from
    Type: Grant
    Filed: January 2, 2017
    Date of Patent: June 25, 2019
    Assignee: International Business Machines Corporation
    Inventors: Avraham Harpaz, Nir Naaman, Yoav Tock
  • Publication number: 20180191813
    Abstract: A computer implemented method of improving server coverage of a publish-subscribe cluster comprising using one or more hardware processors to execute one or more shared subscriptions hubs each adapted to retrieve shared subscriptions information from a cluster comprising multiple servers executing multiple messaging engines of a publish-subscribe service for forwarding messages to a plurality of subscribing clients, each message is associated with one or more of a plurality of topics, receive shared subscriptions requests for subscribing for one or more of the topics from distributed subscriptions client(s) applying shared subscriptions for the topic(s) through subscription group(s) comprising a subset of the subscribing clients, connect to preferred messaging engine(s) selected to improve server coverage of the subscription group(s) according to the shared subscriptions information to serve each of the plurality of shared subscriptions requests and forward messages associated with the topic(s) received from
    Type: Application
    Filed: January 2, 2017
    Publication date: July 5, 2018
    Inventors: Avraham Harpaz, Nir Naaman, Yoav Tock
  • Publication number: 20180191663
    Abstract: A computer implemented method of improving server coverage of a publish-subscribe cluster of servers, comprising using a cluster comprising a plurality of servers each having hardware processor(s), the cluster is adapted to execute messaging engines of a publish-subscribe service for forwarding a plurality of messages to a plurality of subscribing clients, each message is associated with one of a plurality of topics, wherein distributed subscriptions client(s) applies shared subscriptions for one or more topics through subscription group(s) each comprising a subset of the subscribing clients, monitor shared subscriptions made by the subscription group(s) to each of the messaging engines for each topic, generate a shared subscriptions information for each topic by analyzing the shared subscriptions and publish the shared subscriptions information to the clients to allow client(s) of the subscription group(s) to subscribe for the topic(s) on a preferred messaging engine to improve a server coverage of their sub
    Type: Application
    Filed: January 2, 2017
    Publication date: July 5, 2018
    Inventors: Avraham Harpaz, Nir Naaman, Yoav Tock
  • Patent number: 9906477
    Abstract: A method, product and apparatus for distributing retained messages information in a clustered publish/subscribe system. The method comprising obtaining a set of Retained Message Filters (RMFs) comprising a RMF for each server in the cluster, wherein the RMF representing a set of topics for which retained messages are retained by the server, the RMF being configured to approximate whether the server retains a retained message that matches a subscription; responsive to receiving a subscription request from a client, applying the set of RMFs to the subscription to obtain an indication of a set of servers that potentially retain retained messages that match the subscription; triggering each server in the set of servers to perform retrieval of retained messages that match the subscription; and sending to the client the retained messages retrieved from the servers in the set of servers.
    Type: Grant
    Filed: October 28, 2015
    Date of Patent: February 27, 2018
    Assignee: International Business Machines Corporation
    Inventors: Chen Chen, Avraham Harpaz, Nir Naaman, Yoav Tock
  • Publication number: 20170154110
    Abstract: Method, system and product for efficient size reduction of a Bloom filter. The method includes: creating an interleaved Bloom filter based on a Bloom filter, wherein the interleaved Bloom filter is defined so as to have non-sequential cells of the Bloom filter be positioned sequentially, wherein the interleaved Bloom filter interleaves segments of the Bloom filter, wherein a size of the segments is based on an interleaving factor. A reduced size Bloom filter having a number cells below the number of cells of the Bloom filter is computed. The computation includes computing a value of a cell in the reduced size Bloom filter based on two or more values of cells in the interleaved Bloom filter.
    Type: Application
    Filed: November 26, 2015
    Publication date: June 1, 2017
    Inventors: Chen Chen, Avraham Harpaz, Nir Naaman, Yoav Tock
  • Publication number: 20170154099
    Abstract: A method comprising obtaining a Bloom filter array, wherein a size of a first Bloom filter is smaller than a size of a second Bloom filter and modifying at least a portion of the plurality of Bloom filters to create a modified Bloom filter array comprising a modified plurality of Bloom filters each of which having a same size, wherein the same size is greater than the size of the first Bloom filter, wherein said modifying comprises: duplicating the first Bloom filter to create a modified first Bloom filter comprising two or more concatenated copies of the first Bloom filter. The method may also include performing lookup in the Bloom filter array by computing a hash value of a key and accessing a bit in the hash value location in each Bloom filter of the modified Bloom filter array to determine lookup outcome in each Bloom filter.
    Type: Application
    Filed: November 26, 2015
    Publication date: June 1, 2017
    Inventors: Chen Chen, Avraham Harpaz, Nir Naaman, Yoav Tock
  • Publication number: 20170126603
    Abstract: A method, product and apparatus for distributing retained messages information in a clustered publish/subscribe system. The method comprising obtaining a set of Retained Message Filters (RMFs) comprising a RMF for each server in the cluster, wherein the RMF representing a set of topics for which retained messages are retained by the server, the RMF being configured to approximate whether the server retains a retained message that matches a subscription; responsive to receiving a subscription request from a client, applying the set of RMFs to the subscription to obtain an indication of a set of servers that potentially retain retained messages that match the subscription; triggering each server in the set of servers to perform retrieval of retained messages that match the subscription; and sending to the client the retained messages retrieved from the servers in the set of servers.
    Type: Application
    Filed: October 28, 2015
    Publication date: May 4, 2017
    Inventors: Chen Chen, Avraham Harpaz, Nir Naaman, Yoav Tock
  • Patent number: 9342419
    Abstract: A method comprising using at least one hardware processor for managing persistent messaging data in a volatile memory, writing the persistent messaging data to a first section of a Fast Persistent Memory (FPM), responsive to the first section of the FPM approaching a full state, offloading the persistent messaging data from the first section of the FPM to a hard disk device (HDD), and erasing the persistent messaging data from the first section of the FPM, recording, in a second section of the FPM, an identifier of said offloading, responsive to receiving a request to erase or modify at least some of the persistent messaging data in the HDD, updating the identifier of the offloading in the second section of the FPM while leaving the persistent messaging data in the HDD intact, and responsive to a server failure, selectively reading at least some of the persistent messaging data from the HDD to the volatile memory, wherein the selective reading is based on the identifier of the offloading in the second section
    Type: Grant
    Filed: November 11, 2013
    Date of Patent: May 17, 2016
    Assignee: GlobalFoundries Inc.
    Inventors: Avraham Harpaz, Nir Naaman, Idan Zach
  • Patent number: 9164856
    Abstract: A method comprising managing persistent messaging data in a volatile memory of a primary instance of a multi-node server, wherein the persistent messaging data is stored in a Hard Disk Device (HDD) and a Fast Persistent Memory (FPM) of the primary instance, repeatedly replicating the persistent messaging data to a corresponding HDD and a corresponding FPM of at least one standby instance of the multi-node server, repeatedly copying the persistent messaging data stored in the FPM or the HDD of the at least one standby instance to a Recovery Memory Region (RMR) in a volatile memory of the at least one standby instance, and responsive to a failure of the primary instance, initiating a failover procedure by the standby instance, wherein the failover procedure comprises reading at least some of the persistent messaging data from the RMR in lieu of the HDD of the at least one standby instance.
    Type: Grant
    Filed: November 11, 2013
    Date of Patent: October 20, 2015
    Assignee: International Business Machines Corporation
    Inventors: Avraham Harpaz, Nir Naaman, Idan Zach
  • Publication number: 20150135001
    Abstract: A method comprising using at least one hardware processor for managing persistent messaging data in a volatile memory, writing the persistent messaging data to a first section of a Fast Persistent Memory (FPM), responsive to the first section of the FPM approaching a full state, offloading the persistent messaging data from the first section of the FPM to a hard disk device (HDD), and erasing the persistent messaging data from the first section of the FPM, recording, in a second section of the FPM, an identifier of said offloading, responsive to receiving a request to erase or modify at least some of the persistent messaging data in the HDD, updating the identifier of the offloading in the second section of the FPM while leaving the persistent messaging data in the HDD intact, and responsive to a server failure, selectively reading at least some of the persistent messaging data from the HDD to the volatile memory, wherein the selective reading is based on the identifier of the offloading in the second section
    Type: Application
    Filed: November 11, 2013
    Publication date: May 14, 2015
    Applicant: International Business Machines Corporation
    Inventors: Avraham Harpaz, Nir Naaman, Idan Zach
  • Publication number: 20150135002
    Abstract: A method comprising managing persistent messaging data in a volatile memory of a primary instance of a multi-node server, wherein the persistent messaging data is stored in a Hard Disk Device (HDD) and a Fast Persistent Memory (FPM) of the primary instance, repeatedly replicating the persistent messaging data to a corresponding HDD and a corresponding FPM of at least one standby instance of the multi-node server, repeatedly copying the persistent messaging data stored in the FPM or the HDD of the at least one standby instance to a Recovery Memory Region (RMR) in a volatile memory of the at least one standby instance, and responsive to a failure of the primary instance, initiating a failover procedure by the standby instance, wherein the failover procedure comprises reading at least some of the persistent messaging data from the RMR in lieu of the HDD of the at least one standby instance.
    Type: Application
    Filed: November 11, 2013
    Publication date: May 14, 2015
    Applicant: International Business Machines Corporation
    Inventors: Avraham Harpaz, Nir Naaman, Idan Zach