Patents by Inventor Boris Shulman
Boris Shulman 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: 20200106816Abstract: Described herein is a system and method for startup and/or recovery for stream processing. During a startup phase: start anchor request(s), each identifying a particular time, are accumulated until request(s) are pending from downstream nodes. A minimum time of the accumulated start anchor request(s) is determined. If the processing system is an input node, an anchor associated with the determined minimum time is generated. Otherwise, a start anchor request is provided to an upstream node identifying the determined minimum time. Once the anchor associated with the determined minimum time is received (or generated), the anchor is provided in response to a polled start anchor request anchor for the determined minimum from a downstream node. Asynchronous requests for batches of data bounded by two specific anchors are performed in accordance with information stored in an ordered collection of anchors during a recovery phase.Type: ApplicationFiled: September 28, 2018Publication date: April 2, 2020Applicant: Microsoft Technology Licensing, LLCInventors: Alexander ALPEROVICH, Boris SHULMAN, Zhong CHEN, Lev NOVIK, Kanstantsyn ZORYN
-
Publication number: 20200104399Abstract: Described herein is a system and method for a static streaming job startup sequence. During compilation of a streaming job, a graph of computing nodes of the streaming job is traversed to determine a minimum start time of computing node(s) downstream of each input computing node of the streaming job. Also, during compilation, a start time is assigned to each input computing node in accordance with the determined minimum start time. During execution of the streaming job, responsive to receipt of the trigger anchor by a particular input node, processing of the particular input computing node using the determined minimum start time is commenced. The input computing node further generates an anchor. Input data is received, and, a batch of data provided in accordance with the received input data and generated anchor.Type: ApplicationFiled: September 28, 2018Publication date: April 2, 2020Applicant: Microsoft Technology Licensing, LLCInventors: Alexander ALPEROVICH, Boris SHULMAN, Todd Robert PORTER, Patrick CHUNG
-
Publication number: 20200042191Abstract: A method for accessing a dynamic memory module, the method may include (i) receiving, by a memory controller, a set of access requests for accessing the dynamic memory module; (ii) converting the access requests to a set of commands, wherein the set of commands comprise (a) a first sub-set of commands that are related to a first group of memory banks, and (b) a second sub-set of commands that are related to a second group of memory banks; (iii) scheduling, by a scheduler of the memory controller, an execution of the first sub-set; (iv) scheduling an execution of the second sub-set to be interleaved with the execution of the first sub-set; and (v) executing the set of commands according to the schedule.Type: ApplicationFiled: August 2, 2019Publication date: February 6, 2020Inventors: Boris Shulman, Yosef Kreinin, Leonid Smolyansky
-
Publication number: 20200043539Abstract: A method for error correction and a system. The method may include opening a selected row of a memory bank out of multiple memory banks of a dynamic memory module; and while the selected row is open: (i) receiving selected data sub-blocks that are targeted to be written to the selected row, (ii) calculating selected error correction code sub-blocks that are related to the selected data sub-blocks, (iii) caching the selected error correction code sub-blocks in a cache memory that differs from the dynamic memory module and (iv) writing, to the selected row, the selected error correction code sub-blocks.Type: ApplicationFiled: August 2, 2019Publication date: February 6, 2020Inventors: Boris Shulman, Yosef Kreinin, Leonid Smolyansky
-
Patent number: 10148719Abstract: Stream processing can be performed using a pull-based, anchor-based methodology that guarantees once and only once processing and repeatability of the creation of output with no additional communication overhead during normal processing. Each node (computing device) in the graph (representing interconnected computing devices) establishes a system of anchors. An anchor describes a point in the output stream of the node, so that every event in the stream is either before or after any given anchor.Type: GrantFiled: June 5, 2015Date of Patent: December 4, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.Inventors: Zhong Chen, Lev Novik, Boris Shulman, Clemens A. Szyperski
-
Publication number: 20180262408Abstract: A method for facilitating anchor shortening across streaming nodes in an event stream processing system may include receiving a full anchor at an upstream marshaller. The full anchor may be associated with a data batch that corresponds to one or more event streams. The full anchor may include an indication of an input point for the one or more event streams. The full anchor may be received from an upstream compute processor. The method may also include mapping the full anchor to an index anchor and passing the index anchor to a downstream marshaller.Type: ApplicationFiled: May 11, 2018Publication date: September 13, 2018Inventors: Alexander ALPEROVICH, Boris SHULMAN, Lev NOVIK
-
Patent number: 9942272Abstract: Processing streaming data in accordance with policies that group data by source, enforce a maximum permissible late arrival value for streaming data, a maximum permissible early arrival for data and/or a maximum degree to which data can be out of order and still be compliant with the out of order policy is described. The correct starting point for reading a data stream so as to produce correct output from a given output start time can be enabled using the early arrival policy. Using combinations of policies, output can be generated promptly (with low latency). When input from a given source is not disrupted, output can be generated with low latency. Output can be generated even when the input stops by applying a late arrival policy.Type: GrantFiled: June 5, 2015Date of Patent: April 10, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.Inventors: Zhong Chen, Lev Novik, Boris Shulman, Clemens A. Szyperski
-
Patent number: 9880769Abstract: Large amounts of memory can be consumed in streaming joins because events from one stream are held in memory while waiting for matching events from a second stream. Memory needs can be reduced by analyzing the join condition to determine the bounds on the time discrepancy between events in the two streams. When it is determined that an event from one stream must occur prior to the matching event from the other stream, the later-arriving stream data can be ingested with an intentional delay. When it is determined that regardless of input received from a first stream, no output will be produced when there is no input from the second stream, pulling data from the first stream can cease. A multi-stage join plan can be employed so that a less busy stream can be scanned with increasing amounts of intentional delay. Only unmatched data is stored.Type: GrantFiled: June 5, 2015Date of Patent: January 30, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.Inventors: Zhong Chen, Lev Novik, Boris Shulman, Clemens A. Szyperski
-
Publication number: 20160359910Abstract: Processing streaming data in accordance with policies that group data by source, enforce a maximum permissible late arrival value for streaming data, a maximum permissible early arrival for data and/or a maximum degree to which data can be out of order and still be compliant with the out of order policy is described. The correct starting point for reading a data stream so as to produce correct output from a given output start time can be enabled using the early arrival policy. Using combinations of policies, output can be generated promptly (with low latency). When input from a given source is not disrupted, output can be generated with low latency. Output can be generated even when the input stops by applying a late arrival policy.Type: ApplicationFiled: June 5, 2015Publication date: December 8, 2016Inventors: Zhong Chen, Lev Novik, Boris Shulman, Clemens A. Szyperski
-
Publication number: 20160357476Abstract: Large amounts of memory can be consumed in streaming joins because events from one stream are held in memory while waiting for matching events from a second stream. Memory needs can be reduced by analyzing the join condition to determine the bounds on the time discrepancy between events in the two streams. When it is determined that an event from one stream must occur prior to the matching event from the other stream, the later-arriving stream data can be ingested with an intentional delay. When it is determined that regardless of input received from a first stream, no output will be produced when there is no input from the second stream, pulling data from the first stream can cease. A multi-stage join plan can be employed so that a less busy stream can be scanned with increasing amounts of intentional delay. Only unmatched data is stored.Type: ApplicationFiled: June 5, 2015Publication date: December 8, 2016Inventors: Zhong Chen, Lev Novik, Boris Shulman, Clemens A. Szyperski
-
Publication number: 20160359940Abstract: Stream processing can be performed using a pull-based, anchor-based methodology that guarantees once and only once processing and repeatability of the creation of output with no additional communication overhead during normal processing. Each node (computing device) in the graph (representing interconnected computing devices) establishes a system of anchors. An anchor describes a point in the output stream of the node, so that every event in the stream is either before or after any given anchor.Type: ApplicationFiled: June 5, 2015Publication date: December 8, 2016Inventors: Zhong Chen, Lev Novik, Boris Shulman, Clemens A. Szyperski
-
Publication number: 20150324287Abstract: There is provided a processor for use in a computing system, said processor including at least one Central Processing Unit (CPU), a cache memory coupled to the at least one CPU, and a control unit coupled to the cache memory and arranged to obscure the existing data in the CPU cache memory, and assign control of the CPU cache memory to at least one other entity within the computing system. There is also provided a method of using a CPU cache memory for non-CPU related tasks in a computing system.Type: ApplicationFiled: January 9, 2013Publication date: November 12, 2015Applicant: Freescale Semiconductor, Inc.Inventors: Michael PRIEL, Yossi AMON, Boris SHULMAN, Leonid SMOLYANSKY, Michael ZARUBINSKY
-
Patent number: 8825815Abstract: A system and method for synchronizing data between a communication device and a server, through an agent installed on the device.Type: GrantFiled: July 10, 2008Date of Patent: September 2, 2014Assignee: Amdocs Software Systems LimitedInventors: Yoad Gidron, Rafael Ton, Boris Shulman
-
Publication number: 20120192149Abstract: A method for information processing includes defining a set of abstract operators for use in implementing computing operations, including iterative operations. Respective execution times are determined for the operations implemented by the abstract operators. Given a definition of a rule, including a complex event and an action to be performed upon occurrence of the complex event, software code to implement the rule is automatically generated by generating concrete instances of the abstract operators so as to invoke a sequence of computing steps that includes iterations of the iterative operations. A worst-case estimate of a duration of execution of the software code is computed based on the respective execution times.Type: ApplicationFiled: March 7, 2012Publication date: July 26, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Asaf Adi, David Botzer, Yonit Magid, David Oren, Boris Shulman
-
Patent number: 7996354Abstract: A method for evaluating a behavior of an entity, the method includes: converting a state machine representation of a behavior of an entity to a complex event processing (CEP) representation of the behavior of the entity; wherein the converting comprises defining a transition between multiple states of the state machine representation as a situation; and evaluating the behavior of the entity in response to the CEP representation.Type: GrantFiled: August 27, 2007Date of Patent: August 9, 2011Assignee: International Business Machines CorporationInventors: Asaf Adi, Gil Nechushtai, Guy Sharon, Boris Shulman
-
Publication number: 20090177800Abstract: A system and method for synchronizing data between a communication device and a server, through an agent installed on the device.Type: ApplicationFiled: July 10, 2008Publication date: July 9, 2009Applicant: New Act Ltd.Inventors: Yoad Gidron, Rafael Ton, Boris Shulman
-
Publication number: 20090171646Abstract: A method for determining system and software configuration that includes: calculating a power consumption estimate of a modeled system associated with an execution of a certain software code; and altering, in response to the power consumption estimate, the certain software code or the modeled system. A method of determining a power consumption of a system that executed a software code, the method includes the stages of: providing a reduced instruction set representation of the software code; and calculating a power consumption estimate of a modeled system associated with an execution of the reduced instruction set representation of the software code.Type: ApplicationFiled: August 31, 2004Publication date: July 2, 2009Applicant: Freescale Semiconductor , Inc.Inventors: Michael Silbermintz, Dimitri Akselrod, Boris Bobrov, Michael Priel, Amihay Rabenu, Amir Sahar, Shiri Shem-Tov, Boris Shulman
-
Publication number: 20090063380Abstract: A method for evaluating a behavior of an entity, the method includes: converting a state machine representation of a behavior of an entity to a complex event processing (CEP) representation of the behavior of the entity; wherein the converting comprises defining a transition between multiple states of the state machine representation as a situation; and evaluating the behavior of the entity in response to the CEP representation.Type: ApplicationFiled: August 27, 2007Publication date: March 5, 2009Inventors: Asaf Adi, Gil Nechushtai, Guy Sharon, Boris Shulman
-
Publication number: 20080235658Abstract: A method for information processing includes determining respective execution times for a plurality of operations on a selected computing platform. When a definition of a rule is received, including a complex event and an action to be performed upon occurrence of the complex event, software code is automatically generated to implement the rule on the selected computing platform by invoking a sequence of the operations responsively to the occurrence of the complex event. A worst-case estimate of a duration of execution of the software code is computed, based on the respective execution times of the operations in the sequence. When the worst-case estimate is no greater than a predetermined limit, the software code is run on the selected computing platform so as to cause the action to be performed when the rule is satisfied.Type: ApplicationFiled: March 21, 2007Publication date: September 25, 2008Inventors: Asaf Adi, David Botzer, Yonit Magid, David Oren, Boris Shulman
-
Patent number: 7266571Abstract: A method and system for scheduling event transactions each having a respective time stamp, for use in an event-driven application. Possible time dependencies among events are resolved according to predetermined event rules associated with the events so as to allow determination as to when the event transactions may be processed. This allows the event transactions to be dispatched to distributed processors for concurrent processing.Type: GrantFiled: July 27, 2004Date of Patent: September 4, 2007Assignee: International Business Machines CorporationInventors: David Botzer, Vladimir Shcherbina, Boris Shulman