Patents by Inventor Jeffrey Chao

Jeffrey Chao 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: 20180253335
    Abstract: The technology disclosed relates to maintaining throughput of a stream processing framework while increasing processing load. In particular, it relates to defining a container over at least one worker node that has a plurality workers, with one worker utilizing a whole core within a worker node, and queuing data from one or more incoming near real-time (NRT) data streams in multiple pipelines that run in the container and have connections to at least one common resource external to the container. It further relates to concurrently executing the pipelines at a number of workers as batches, and limiting simultaneous connections to the common resource to the number of workers by providing a shared connection to a set of batches running on a same worker regardless of the pipelines to which the batches in the set belong.
    Type: Application
    Filed: May 7, 2018
    Publication date: September 6, 2018
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Patent number: 9965330
    Abstract: The technology disclosed relates to maintaining throughput of a stream processing framework while increasing processing load. In particular, it relates to defining a container over at least one worker node that has a plurality workers, with one worker utilizing a whole core within a worker node, and queuing data from one or more incoming near real-time (NRT) data streams in multiple pipelines that run in the container and have connections to at least one common resource external to the container. It further relates to concurrently executing the pipelines at a number of workers as batches, and limiting simultaneous connections to the common resource to the number of workers by providing a shared connection to a set of batches running on a same worker regardless of the pipelines to which the batches in the set belong.
    Type: Grant
    Filed: December 31, 2015
    Date of Patent: May 8, 2018
    Assignee: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Patent number: 9946593
    Abstract: The technology disclosed relates to discovering multiple previously unknown and undetected technical problems in fault tolerance and data recovery mechanisms of modern stream processing systems. In addition, it relates to providing technical solutions to these previously unknown and undetected problems. In particular, the technology disclosed relates to discovering the problem of modification of batch size of a given batch during its replay after a processing failure. This problem results in over-count when the input during replay is not a superset of the input fed at the original play. Further, the technology disclosed discovers the problem of inaccurate counter updates in replay schemes of modern stream processing systems when one or more keys disappear between a batch's first play and its replay. This problem is exacerbated when data in batches is merged or mapped with data from an external data store.
    Type: Grant
    Filed: January 22, 2016
    Date of Patent: April 17, 2018
    Assignee: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Publication number: 20180074852
    Abstract: The technology disclosed provides a novel and innovative technique for compact deployment of application code to stream processing systems. In particular, the technology disclosed relates to obviating the need of accompanying application code with its dependencies during deployment (i.e., creating fat jars) by operating a stream processing system within a container defined over worker nodes of whole machines and initializing the worker nodes with precompiled dependency libraries having precompiled classes. Accordingly, the application code is deployed to the container without its dependencies, and, once deployed, the application code is linked with the locally stored precompiled dependencies at runtime. In implementations, the application code is deployed to the container running the stream processing system between 300 milliseconds and 6 seconds. This is drastically faster than existing deployment techniques that take anywhere between 5 to 15 minutes for deployment.
    Type: Application
    Filed: September 14, 2016
    Publication date: March 15, 2018
    Applicant: salesforce.com, inc.
    Inventors: Elden Gregory BISHOP, Jeffrey CHAO
  • Patent number: 9842000
    Abstract: The technology disclosed relates to managing processing of long tail task sequences in a stream processing framework. In particular, it relates to operating a computing grid that includes a plurality of physical threads which processes data from one or more near real-time (NRT) data streams for multiple task sequences, and queuing data from the NRT data streams as batches in multiple pipelines using a grid-coordinator that controls dispatch of the batches to the physical threads. The method also includes assigning a priority-level to each of the pipelines using a grid-scheduler, wherein the grid-scheduler initiates execution of a first number of batches from a first pipeline before execution of a second number of batches from a second pipeline, responsive to respective priority levels of the first and second pipelines.
    Type: Grant
    Filed: December 31, 2015
    Date of Patent: December 12, 2017
    Assignee: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Publication number: 20170083378
    Abstract: The technology disclosed relates to managing processing of long tail task sequences in a stream processing framework. In particular, it relates to operating a computing grid that includes a plurality of physical threads which processes data from one or more near real-time (NRT) data streams for multiple task sequences, and queuing data from the NRT data streams as batches in multiple pipelines using a grid-coordinator that controls dispatch of the batches to the physical threads. The method also includes assigning a priority-level to each of the pipelines using a grid-scheduler, wherein the grid-scheduler initiates execution of a first number of batches from a first pipeline before execution of a second number of batches from a second pipeline, responsive to respective priority levels of the first and second pipelines.
    Type: Application
    Filed: December 31, 2015
    Publication date: March 23, 2017
    Applicant: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Publication number: 20170083380
    Abstract: The technology disclosed relates to managing resource allocation to task sequences in a stream processing framework. In particular, it relates to operating a computing grid that includes machine resources, with heterogeneous containers defined over whole machines and some containers including multiple machines. It also includes initially allocating multiple machines to a first container, initially allocating first set of stateful task sequences to the first container, running the first set of stateful task sequences as multiplexed units of work under control of a container-scheduler, where each unit of work for a first task sequence runs to completion on first machine resources in the first container, unless it overruns a time-out, before a next unit of work for a second task sequence runs multiplexed on the first machine resources. It further includes automatically modifying a number of machine resources and/or a number assigned task sequences to a container.
    Type: Application
    Filed: January 12, 2016
    Publication date: March 23, 2017
    Applicant: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Publication number: 20170083368
    Abstract: The technology disclosed relates to maintaining throughput of a stream processing framework while increasing processing load. In particular, it relates to defining a container over at least one worker node that has a plurality workers, with one worker utilizing a whole core within a worker node, and queuing data from one or more incoming near real-time (NRT) data streams in multiple pipelines that run in the container and have connections to at least one common resource external to the container. It further relates to concurrently executing the pipelines at a number of workers as batches, and limiting simultaneous connections to the common resource to the number of workers by providing a shared connection to a set of batches running on a same worker regardless of the pipelines to which the batches in the set belong.
    Type: Application
    Filed: December 31, 2015
    Publication date: March 23, 2017
    Applicant: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Publication number: 20170083396
    Abstract: The technology disclosed relates to discovering multiple previously unknown and undetected technical problems in fault tolerance and data recovery mechanisms of modern stream processing systems. In addition, it relates to providing technical solutions to these previously unknown and undetected problems. In particular, the technology disclosed relates to discovering the problem of modification of batch size of a given batch during its replay after a processing failure. This problem results in over-count when the input during replay is not a superset of the input fed at the original play. Further, the technology disclosed discovers the problem of inaccurate counter updates in replay schemes of modern stream processing systems when one or more keys disappear between a batch's first play and its replay. This problem is exacerbated when data in batches is merged or mapped with data from an external data store.
    Type: Application
    Filed: January 22, 2016
    Publication date: March 23, 2017
    Applicant: salesforce.com, inc.
    Inventors: ELDEN GREGORY BISHOP, JEFFREY CHAO
  • Publication number: 20170075693
    Abstract: The technology disclosed improves existing streaming processing systems by allowing the ability to both scale up and scale down resources within an infrastructure of a stream processing system. In particular, the technology disclosed relates to a dispatch system for a stream processing system that adapts its behavior according to a computational capacity of the system based on a run-time evaluation. The technical solution includes, during run-time execution of a pipeline, comparing a count of available physical threads against a set number of logically parallel threads. When a count of available physical threads equals or exceeds the number of logically parallel threads, the solution includes concurrently processing the batches at the physical threads. Further, when there are fewer available physical threads than the number of logically parallel threads, the solution includes multiplexing the batches sequentially over the available physical threads.
    Type: Application
    Filed: December 31, 2015
    Publication date: March 16, 2017
    Applicant: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Publication number: 20170075721
    Abstract: The technology disclosed relates to providing strong ordering in multi-stage processing of near real-time (NRT) data streams. In particular, it relates to maintaining current batch-stage information for a batch at a grid-scheduler in communication with a grid-coordinator that controls dispatch of batch-units to the physical threads for a batch-stage. This includes operating a computing grid, and queuing data from the NRT data streams as batches in pipelines for processing over multiple stages in the computing grid.
    Type: Application
    Filed: December 31, 2015
    Publication date: March 16, 2017
    Applicant: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Patent number: 9164777
    Abstract: Technologies are described herein for determining the display of equal spacing guides between diagram shapes. The nearest neighbors of each shape in a diagram are determined, and the distances between each shape and its nearest neighbors are calculated. When an active shape in the diagram is positioned or moved, spacing guides are displayed between shapes having equidistant spacing when the calculated distances between shapes become equal to a distance between the active shape and one of its nearest neighbors.
    Type: Grant
    Filed: August 30, 2011
    Date of Patent: October 20, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ankit Prasad, Jeffrey Chao-Nan Chen, Onur Onder
  • Patent number: 8836706
    Abstract: A request may be received to trigger an animation action in response to reaching a bookmark during playback of a media object. In response to the request, data is stored defining a new animation timeline configured to perform the animation action when playback of the media object reaches the bookmark. When the media object is played back, a determination is made as to whether the bookmark has been encountered. If the bookmark is encountered, the new animation timeline is started, thereby triggering the specified animation action. An animation action may also be added to an animation timeline that triggers a media object action at a location within a media object. When the animation action is encountered during playback of the animation timeline, the specified media object action is performed on the associated media object.
    Type: Grant
    Filed: December 18, 2008
    Date of Patent: September 16, 2014
    Assignee: Microsoft Corporation
    Inventors: Jason Xiaobo Zhao, Jeffrey Chao-Nan Chen, Barn-Wan Li, Runzhen Huang
  • Patent number: 8578259
    Abstract: Tools and techniques for media portability and compatibility for different destination platforms are provided. These tools may receive commands to launch a media portability capability, and may receive source media as input for transformation. These tools may also receive indications of profile settings for specifying how to transform the source media for enhanced portability on destination systems for playback. The source media may be transformed in response to the profile setting, with the transformed media inserted into a document. The tools may then distribute the document to the destination system for playback.
    Type: Grant
    Filed: December 31, 2008
    Date of Patent: November 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Jeffrey Chao-Nan Chen, Barn-Wan Li, Kai Chung Lui
  • Publication number: 20130097552
    Abstract: A presentation program provides an authoring tool allowing users to indicate animation sequences to be applied to an object in a document for purposes of creating or editing animation sequences. The user can directly manipulate the object on an editing pane, and the manipulations are interpreted as applying an animation class type. Different animation effects can be further associated with object for the particular animation class type. The user can select a particular animation effect and define the layout as a key frame that defines the animation sequence to be applied to the object at a given time during playback. The user can further manipulate the object and define subsequent key frames, and upon playback, the presentation program will interpolate the locations of the object between key frames as necessary. The user can further define the time period between key frames that is to be applied during playback.
    Type: Application
    Filed: October 18, 2011
    Publication date: April 18, 2013
    Applicant: Microsoft Corporation
    Inventors: Shawn Alan Villaron, Hannes Ruescher, Jeffrey Edwin Murray, Jeffrey Chao-Nan Chen, Andreas Markus Scheidegger, Christopher Michael Maloney, Ryan Charles Hill
  • Patent number: 8407596
    Abstract: Media timeline interaction may be provided. An electronic presentation may comprise a media object. A user may select the media object within a presentation application and use an on-object user interface in conjunction with the application's user interface to modify the media object. The user may also display the modified media object within the presentation application.
    Type: Grant
    Filed: April 22, 2009
    Date of Patent: March 26, 2013
    Assignee: Microsoft Corporation
    Inventors: Sandy Yu, Barn-Wan Li, Jeffrey Chao-Nan Chen, Allen Pin-Shiu Huang, Jason Xiaobo Zhao, Mark Pearson
  • Publication number: 20130050264
    Abstract: Technologies are described herein for determining the display of equal spacing guides between diagram shapes. The nearest neighbors of each shape in a diagram are determined, and the distances between each shape and its nearest neighbors are calculated. When an active shape in the diagram is positioned or moved, spacing guides are displayed between shapes having equidistant spacing when the calculated distances between shapes become equal to a distance between the active shape and one of its nearest neighbors.
    Type: Application
    Filed: August 30, 2011
    Publication date: February 28, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Ankit Prasad, Jeffrey Chao-Nan Chen, Onur Onder
  • Publication number: 20110314361
    Abstract: User actions, content, and other elements related to a presentation document are received. These elements are analyzed to generate recommendations for improving a presentation document. The presentation document may be modified in accordance with the recommendations.
    Type: Application
    Filed: June 21, 2010
    Publication date: December 22, 2011
    Applicant: Microsoft Corporation
    Inventors: Jeffrey Chao-Nan Chen, Barn-Wan Li, Daniel Cheung, Jason Xiaobo Zhao, Xiaosa Zhao
  • Publication number: 20100275123
    Abstract: Media timeline interaction may be provided. An electronic presentation may comprise a media object. A user may select the media object within a presentation application and use an on-object user interface in conjunction with the application's user interface to modify the media object. The user may also display the modified media object within the presentation application.
    Type: Application
    Filed: April 22, 2009
    Publication date: October 28, 2010
    Applicant: Microsoft Corporation
    Inventors: Sandy Yu, Barn-Wan Li, Jeffrey Chao-Nan Chen, Allen Pin-Shiu Huang, Jason Xiaobo Zhao, Mark Pearson
  • Publication number: 20100169753
    Abstract: Tools and techniques for media portability and compatibility for different destination platforms are provided. These tools may receive commands to launch a media portability capability, and may receive source media as input for transformation. These tools may also receive indications of profile settings for specifying how to transform the source media for enhanced portability on destination systems for playback. The source media may be transformed in response to the profile setting, with the transformed media inserted into a document.
    Type: Application
    Filed: December 31, 2008
    Publication date: July 1, 2010
    Applicant: Microsoft Corporation
    Inventors: Jeffrey Chao-Nan Chen, Barn-Wan Li, Kai Chung Lui