Patents by Inventor J. Kirk Haselden

J. Kirk Haselden 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: 8443351
    Abstract: The subject disclosure pertains broadly to parallelization of workflow loops. More specifically, loop containers and related elements are cloned several times to match a desired number of parallel iterations or threads. The cloned containers are communicatively coupled or connected to a single enumerator component and can interact therewith to facilitate acquisition of collection elements. This arrangement, among other things, ensures that the correct number of iterations are executed as if the loop was processed sequentially.
    Type: Grant
    Filed: February 23, 2006
    Date of Patent: May 14, 2013
    Assignee: Microsoft Corporation
    Inventors: J. Kirk Haselden, Sergei Ivanov
  • Patent number: 8214799
    Abstract: A system-created variable object may expose a property of an object model to an internal object that does not have access to the object model directly. The system-created variable object may provide a mechanism for communicating the external state of an object model to an internal member (object) without exposing the object model to the internal object. This feature enables an object model object to be isolated, a concept that can be advantageously exploited.
    Type: Grant
    Filed: July 8, 2004
    Date of Patent: July 3, 2012
    Assignee: Microsoft Corporation
    Inventor: J. Kirk Haselden
  • Patent number: 8103684
    Abstract: The subject disclosure pertains to systems and methods for connecting pipeline components such as data flow pipeline components. Pipeline components are wrapped in metadata components that include the component as well as abstracted metadata in the form of input and output metadata descriptors. A connector can arbitrate metadata differences between pipeline components based on the metadata descriptors, thereby preventing upstream modifications from invalidating or breaking components downstream. Native or plug-in heuristic and/or related components can provide the functionality necessary to resolve metadata differences.
    Type: Grant
    Filed: August 12, 2010
    Date of Patent: January 24, 2012
    Assignee: Microsoft Corporation
    Inventors: J. Kirk Haselden, Matthew E. David
  • Patent number: 7958164
    Abstract: A system that provides a visual mechanism (e.g., user interface (UI)) by which a user can design a regular expression is provided. The graphical interactive mechanism enables a user to develop regular expressions without an understanding of the intricacies of the regular expression syntax. The UI can provide an interactive mechanism by which a user can graphically annotate (e.g., color, highlight) a regular expression thus, mapping the expression to a particular tabulated output. The novel UI can provide a particular kind of dialog layout with several controls and dynamically linked views, e.g., a data view, a regular expression view and a column view which can facilitate definition of the regular expression as well as creation of mappings to output columns (e.g., annotations).
    Type: Grant
    Filed: February 16, 2006
    Date of Patent: June 7, 2011
    Assignee: Microsoft Corporation
    Inventors: Sergei Ivanov, J. Kirk Haselden
  • Patent number: 7904894
    Abstract: Various technologies and techniques are disclosed that automatically optimize package execution performance. A profiling phase executes each task in a control flow package and measures performance metrics, such as task execution length, task memory usage, task correlation to CPU versus input/output operations, network bandwidth, and running applications. An optimization phase optimizes subsequent executions of the package by using the performance metrics to make appropriate adjustments to the package. The profiling phase and optimizing phase are repeated over a period of time as appropriate to improve the package's performance without requiring a user to make adjustments to the tasks in the package.
    Type: Grant
    Filed: March 29, 2006
    Date of Patent: March 8, 2011
    Assignee: Microsoft Corporation
    Inventors: Michael Entin, Euan P. Garden, J. Kirk Haselden
  • Patent number: 7860881
    Abstract: The subject disclosure pertains to data parsing with patterns or regular expressions. A mechanism is provided for annotating a regular expression with additional information regarding data extraction such as output fields and mapping of the output fields to sub-sections of matched data. A parser can utilize the annotation information to facilitate mapping and transfer of at least a portion of pattern matched data from a source to a destination. The disclosed systems and methods thus enable data to be exacted while it is being matched.
    Type: Grant
    Filed: March 9, 2006
    Date of Patent: December 28, 2010
    Assignee: Microsoft Corporation
    Inventors: J. Kirk Haselden, Sergei Ivanov
  • Publication number: 20100306208
    Abstract: The subject disclosure pertains to systems and methods for connecting pipeline components such as data flow pipeline components. Pipeline components are wrapped in metadata components that include the component as well as abstracted metadata in the form of input and output metadata descriptors. A connector can arbitrate metadata differences between pipeline components based on the metadata descriptors, thereby preventing upstream modifications from invalidating or breaking components downstream. Native or plug-in heuristic and/or related components can provide the functionality necessary to resolve metadata differences.
    Type: Application
    Filed: August 12, 2010
    Publication date: December 2, 2010
    Applicant: Microsoft Corporation
    Inventors: J. Kirk Haselden, Mathew E. David
  • Patent number: 7788662
    Abstract: When a component is to be loaded or executed, the version of the component to be loaded may be compared with available versions of the component. If an upgraded version of the component is available, the upgraded version of the component may be enabled to dynamically and deterministically update itself. The component may be an object in an object model. The upgraded version of the component may update itself by calling an update method. The component may be upgraded with minimum user intervention, dynamically as the object is loaded.
    Type: Grant
    Filed: July 28, 2004
    Date of Patent: August 31, 2010
    Assignee: Microsoft Corporation
    Inventors: J. Kirk Haselden, Matthew E. David, Mohammed F. Shatnawi, Sergei Ivanov
  • Patent number: 7788246
    Abstract: A linguistic system and method of representing a data flow diagram is provided. Given the capabilities of a conventional data flow graph, and given the types of nodes that can exist in the graph, the subject innovation employs a specific method to create a language capable of describing the data flow graph. The resulting language can be used in application program interfaces (APIs), user interfaces (UIs) and the like to allow users to quickly enter definitions of data flow graphs as they are using various software systems, such as spreadsheet applications, word processing applications, presentation applications, business systems, etc. The language can identify complex data flows that include multiple sources, chained transformation components and/or multiple destinations.
    Type: Grant
    Filed: February 15, 2006
    Date of Patent: August 31, 2010
    Assignee: Microsoft Corporation
    Inventors: Sergei Ivanov, J. Kirk Haselden
  • Patent number: 7779017
    Abstract: The subject disclosure pertains to systems and methods for connecting pipeline components such as data flow pipeline components. Pipeline components are wrapped in metadata components that include the component as well as abstracted metadata in the form of input and output metadata descriptors. A connector can arbitrate metadata differences between pipeline components based on the metadata descriptors, thereby preventing upstream modifications from invalidating or breaking components downstream. Native or plug-in heuristic and/or related components can provide the functionality necessary to resolve metadata differences.
    Type: Grant
    Filed: January 12, 2006
    Date of Patent: August 17, 2010
    Assignee: Microsoft Corporation
    Inventors: J. Kirk Haselden, Matthew E. David
  • Patent number: 7747637
    Abstract: The subject disclosure pertains to a loop enumerator. The enumerator includes its own collection of items that can be generated manually or loaded from a file. Further, the items themselves can be collections of variable size. These collections of items can be customized to enable enumeration over non-uniform data and/or data that cannot otherwise be logically filtered easily.
    Type: Grant
    Filed: March 8, 2006
    Date of Patent: June 29, 2010
    Assignee: Microsoft Corporation
    Inventors: J. Kirk Haselden, Ovidiu Burlacu
  • Patent number: 7707189
    Abstract: A system and method for managing log entries associated with execution events in an application. The system and method may include a log provider wrapper for receiving log entries associated with the event and log providers for receiving all or part of the information associated with a log entry. The log provider wrapper, through communication with a logging configuration, may filter the log entry, segment information contained in the log entry, format the information, and deliver the information to one or more log providers. The log providers may send the information to a respective destination medium.
    Type: Grant
    Filed: October 5, 2004
    Date of Patent: April 27, 2010
    Assignee: Microsoft Corporation
    Inventors: J. Kirk Haselden, Sergei Ivanov
  • Patent number: 7685582
    Abstract: A system and method for providing looping constructs to an object model where the looping construct is contained within a child object of a parent object. The system and method further provides for an enumerator to map between indexes representing a collection of objects to a child object comprising a looping construct, and thereby enabling iterations for each variable of the collection of objects.
    Type: Grant
    Filed: October 5, 2004
    Date of Patent: March 23, 2010
    Assignee: Microsoft Corporation
    Inventor: J. Kirk Haselden
  • Patent number: 7603363
    Abstract: Systems, methods, and computer readable media for designing and executing workflows can be equipped with a means for manipulation of workflow steps by grouping them, such as by placing them in containers. A container can be associated with a database transaction. In some embodiments, a container property can be set to indicate whether the container must participate, may participate, or may not participate in a database transaction. Further, containers may be placed in parent containers, and optionally inherit the transaction property of the parent.
    Type: Grant
    Filed: January 5, 2005
    Date of Patent: October 13, 2009
    Assignee: Microsoft Corporation
    Inventors: J Kirk Haselden, James K Howey, Sergei Ivanov
  • Patent number: 7591021
    Abstract: A persisted object model is loaded from an object model document comprising a compiled executable file having an image source, a security source, and a loader. The loader is instantiated, and instantiates the object model from the image source and a security agent from the security source to control access to the instantiated object model. The loader returns to a commander a first reference to the instantiated security agent, whereby the commander in employing the first reference accesses the security agent rather than the instantiated object model. A commander issues a command to the instantiated object model by way of the first reference to the security agent, and the security agent receives and reviews same according to pre-defined rules to determine whether the object model should in fact receive the command. If so, the security agent forwards the command to the object model.
    Type: Grant
    Filed: September 5, 2003
    Date of Patent: September 15, 2009
    Assignee: Microsoft Corporation
    Inventors: J. Kirk Haselden, Sergei Ivanov
  • Patent number: 7536406
    Abstract: Impact analysis provides the ability to determine the objects that a particular object depends on or uses, as well as determine the objects that are dependent on or use a particular object. The term object may refer to tasks and/or object types, for example. Impact analysis is desirable for improving user productivity in large, complex documents because it facilitates determining how and where an object is used by other objects in the system, thereby potentially saving a great deal of manual work.
    Type: Grant
    Filed: June 23, 2004
    Date of Patent: May 19, 2009
    Assignee: Microsoft Corporation
    Inventors: J. Kirk Haselden, Mark J. T. Durley, Matthew E. David, Sergei Ivanov
  • Patent number: 7162664
    Abstract: The debugging of breakpoints on pluggable components is provided. In a computing environment having extensible, pluggable components, systems and methods are provided to allow for the setting of breakpoints at various points in the run-time of the components such that errors may be observed, tracked, and resolved. In an illustrative implementation, a computing environment comprises a client, runtime, and tasks. In operation, the client communicates with the runtime and the tasks to perform debugging operations. The task sets breakpoints which are communicated to the client through the runtime. When a breakpoint is encountered the task is suspended such that the client can perform debugging should there be a problem in the task execution. Upon satisfaction, the client resumes the task operations through the runtime.
    Type: Grant
    Filed: June 20, 2003
    Date of Patent: January 9, 2007
    Assignee: Microsoft Corporation
    Inventors: J. Kirk Haselden, Brian J. Hartman
  • Publication number: 20050055564
    Abstract: A persisted object model is loaded from an object model document comprising a compiled executable file having an image source, a security source, and a loader. The loader is instantiated, and instantiates the object model from the image source and a security agent from the security source to control access to the instantiated object model. The loader returns to a commander a first reference to the instantiated security agent, whereby the commander in employing the first reference accesses the security agent rather than the instantiated object model. A commander issues a command to the instantiated object model by way of the first reference to the security agent, and the security agent receives and reviews same according to pre-defined rules to determine whether the object model should in fact receive the command. If so, the security agent forwards the command to the object model.
    Type: Application
    Filed: September 5, 2003
    Publication date: March 10, 2005
    Inventors: J.Kirk Haselden, Sergei Ivanov
  • Publication number: 20040268183
    Abstract: The debugging of breakpoints on pluggable components is provided. In a computing environment having extensible, pluggable components, systems and methods are provided to allow for the setting of breakpoints at various points in the run-time of the components such that errors may be observed, tracked, and resolved. In an illustrative implementation, a computing environment comprises a client, runtime, and tasks. In operation, the client communicates with the runtime and the tasks to perform debugging operations. The task sets breakpoints which are communicated to the client through the runtime. When a breakpoint is encountered the task is suspended such that the client can perform debugging should there be a problem in the task execution. Upon satisfaction, the client resumes the task operations through the runtime.
    Type: Application
    Filed: June 20, 2003
    Publication date: December 30, 2004
    Inventors: J. Kirk Haselden, Brian J. Hartman
  • Publication number: 20040261060
    Abstract: The deployment of packages and their dependents is provided. In an illustrative implementation, an interface operates to expose the components of a package and to determine the dependencies of the components. In operation, a scan is performed on the package components to identify those elements on which the components depend. The result of the scan is a list of dependencies for the components found in the package to be deployed. The exemplary interface further operates to aggregate and merge all of the components and their dependencies of a package for deployment. Once deployed, the interface is executed in the newly deployed environment to expand the package and place the components and their dependencies in the new environment. Using the dependencies determined as part of package assembly and deployment, the interface ensures that the components are properly situated and are operating properly.
    Type: Application
    Filed: June 20, 2003
    Publication date: December 23, 2004
    Inventors: J. Kirk Haselden, Ashvini Sharma