Microsoft since Jan 2010
Principal Development Lead
Microsoft Aug 2007 - Jan 2010
Principal Software Development Lead
8 Dimensions International LLC Aug 2002 - Aug 2007
Founder and CTO
Microsoft Aug 1997 - Oct 2004
Development Lead
Education:
Georgia Institute of Technology 1995 - 1997
MSCS, Artificial Intelligence, Machine Learning, Robotics, PhD Program
University of Houston 1991 - 1995
BSEE, Electrical Engineering, Computer Science
Shanghai Jiao Tong University 1990 - 1991
Paul L. Cutsinger - Redmond WA, US Zhong Chen - Sammamish WA, US Robert S. Wigton - Redmond WA, US Rick Molloy - Redmond WA, US John R. Bartlow - Bothell WA, US Lei Tan - Bellevue WA, US Derek R. Westcott - Kirkland WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 7/00 G06F 17/30 G06F 17/20
US Classification:
707 3, 707 4, 707 10, 715200
Abstract:
An information server may function as a centralized query broker that accepts queries from query clients, dispatches queries to potentially disparate data sources, and returns query results to query clients. An information server may centralize information access and security/control operations and may provide a set of uniform interfaces for accessing various types of data sources. A pluggable data source interface may be used for extending the data and actions that are available to an information server. The queries that arrive at the data sources are typically simple queries, which contain no sub-query addressing to a different data source. To make a data source pluggable, a data source may expose a standard interface and may store information about the data source's existence so that an information server will be able to determine, from the stored information, which data sources are available for responding to queries in the information server system.
Efficient Out Of Process Reshuffle Of Streaming Data
- Redmond WA, US Zhong Chen - Medina WA, US Boris Shulman - Sammamish WA, US
International Classification:
G06F 9/38 G06F 16/25 G06F 16/27
Abstract:
Methods, systems, apparatuses, and computer program products are provided for processing a stream of data. A maximum temporal divergence is established for data flushed to a data store from a plurality of upstream partitions. Each of a plurality of data flushers, each corresponding to an upstream partition, may obtain an item of data from a data producer. Each data flusher may determine whether flushing the data to the data store would exceed the maximum temporal divergence. Based at least on determining that flushing the data to the data store would not exceed the maximum temporal divergence, the data may be flushed to the data store for ingestion by a downstream partition and a data structure (e.g., a ledger) may be updated to indicate a time associated with the most recent item of data flushed to the data store.
Enhanced Anchor Protocol For Event Stream Processing
- Redmond WA, US Boris SHULMAN - Sammamish WA, US Zhong CHEN - Medina WA, US Lev NOVIK - Bellevue WA, US
Assignee:
Microsoft Technology Licensing, LLC - Redmond WA
International Classification:
H04L 29/06 G06F 17/30 G06F 9/4401
Abstract:
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.