Patents by Inventor C. Fanning
C. Fanning 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: 20150006181Abstract: The invention is a multi-microphone voice processing SoC primarily for head worn applications. It bypasses the use of conventional pre-amp voice CODEC (ADC/DAC) chips all together by replacing their functionality with digital MEMS microphone(s) and digital speaker driver (DSD). Functionality necessary for speech recognition such as noise/echo cancellation, speech compression, speech feature extraction and lossless speech transmission are also integrated into the SoC. One embodiment is a noise cancellation chip for wired, battery powered headsets and earphones, as smart-phone accessory. Another embodiment is as a wireless Bluetooth noise cancellation companion chip. The invention can be used in headwear, eyewear glass, mobile wearable computing, heavy duty military, aviation and industrial headsets and other speech recognition applications in noisy environments.Type: ApplicationFiled: June 27, 2014Publication date: January 1, 2015Inventors: Dashen Fan, Jang Ho Kim, Yong Seok Seo, John C. C. Fan
-
Patent number: 8924437Abstract: A script engine for a dynamic language can collect memory allocation information for dynamic objects created by the scripting engine and for dynamic objects created by the script engine host. A native interface can be exposed to a client comprising a software development tool. The software development tool can be a third-party tool. In response to a query, the script engine can take a snapshot of a garbage collector heap and return an object record for each dynamic object in the heap. The object information can include memory allocation information, object type and other information. Multiple snapshots can be taken and the delta between snapshots can be determined and sent to a requestor.Type: GrantFiled: March 13, 2012Date of Patent: December 30, 2014Assignee: Microsoft CorporationInventors: Gaurav Seth, Michael C. Fanning, Jennifer Hamilton, Curtis Man
-
Publication number: 20140372988Abstract: The use of a static analysis for configuring a follow-on dynamic analysis for the evaluation of program code is provided. A request may be received for configuring a static analysis session for the evaluation of the program code. The static analysis may be executed and an output may be produced therefrom. The output may be analyzed to determine whether a dynamic analysis is needed for resolving code ambiguities in the program code. If it determined that the dynamic analysis is needed, then the dynamic analysis of the program code is initiated.Type: ApplicationFiled: June 14, 2013Publication date: December 18, 2014Inventors: Michael C. Fanning, Frederico A. Mameri, Zachary A. Nation, Christopher Michael Henry Faucon, Alexander Robin Gordon Lucas
-
Patent number: 8914776Abstract: Aspects of the subject matter described herein relate to assisting development tools. In aspects, statements that influence runtime behavior may be inserted into code of a program. For example, a statement inserted into a function may set a property of a runtime object to indicate that a debugger is to be notified for exceptions that are encountered within the scope of the function. When a runtime environment encounters an exception, the runtime environment may determine whether the property applies to the currently-executing scope. If so, the runtime environment may notify or not notify a development tool of the exception based on the value of the property.Type: GrantFiled: May 17, 2012Date of Patent: December 16, 2014Assignee: Microsoft CorporationInventors: Timothy S. Rice, Akrosh Gandhi, Tae Hyung Kim, Gregory Bernard Miskelly, Michael C. Fanning, Andrew R. Sterland
-
Publication number: 20140358961Abstract: Aspects of the subject matter described herein relate to grid queries. In aspects, a client sends search criteria that represent two or more dimensions to a service. The service obtains results that satisfy the search criteria and performs intersection operations to populate a data grid. The data grid is then returned to the client for output on an output device of the client. The client may provide a user interface that allows quick updating of the search criteria to obtain a new data grid.Type: ApplicationFiled: June 4, 2013Publication date: December 4, 2014Inventors: Scott M. Louvau, Michael C. Fanning, Christopher M. Faucon
-
Patent number: 8877442Abstract: The present invention provides a method, device and a computer program for haplotyping single cells, such that a sample taken from a pregnant female, without directly sampling the fetus, provides the ability to non-invasively determine the fetal genome. The method can be performed by determining the parental and inherited haplotypes, or can be performed merely on the basis of the mother's genetic information, obtained preferably in a blood or serum sample. The novel device allows for sequence analysis of single chromosomes from a single cell, preferably by partitioning single chromosomes from a metaphase cell into long, thin channels where a sequence analysis can be performed.Type: GrantFiled: December 7, 2011Date of Patent: November 4, 2014Assignee: The Board of Trustees of the Leland Stanford Junior UniversityInventors: Stephen R. Quake, Hei-Mun C. Fan
-
Patent number: 8869106Abstract: A language service provider framework that generates an application context of a dynamic language program being authored. The application context includes a description of the dynamic language application being authored, one or more specific locations within the program, and runtime environment information. A language service provider port component holds one or more language service providers. Each language service provider may receive the application context and generate a set of available symbols corresponding to each of at least one of the identified one or more specific locations. A management component receives the application context from the application context generation component, provides the application context the language service provider, and correspondingly receives the available symbol set from the language service provider.Type: GrantFiled: December 16, 2011Date of Patent: October 21, 2014Assignee: Microsoft CorporationInventors: Charles P. Jazdzewski, Michael C. Fanning, Randy S. Kimmerly, A. Michael Horton
-
Publication number: 20140283096Abstract: A request that includes an indication of an execution context and data that represents executable code is obtained. An analysis of the data is initiated based on generating a first templatized representation of the executable code. A list of clearance indicators that indicate a blocking status associated with respective forms of templatized representations is accessed. A workflow policy is determined based on the accessing of the list of clearance indicators. The list of clearance indicators is updated, based on a result of the analysis of the data.Type: ApplicationFiled: March 15, 2013Publication date: September 18, 2014Applicant: MICROSOFT CORPORATIONInventors: Bala Neerumalla, Alain Comeau, Johann Rehberger, Graham Calladine, Wing Kwong Wan, George Raymond Derryberry, JR., Michael C. Fanning, David A. Ross, Mark Cartwright
-
Publication number: 20140282427Abstract: A method for diagnosing computer readable instructions related to transfers of control is disclosed. A state transition of a unit of execution within a logical operation is logged during runtime of the computer readable instructions. Diagnostic information of the logical operation is associated with the state transition. The state transition and associated diagnostic information is provided for retrieval at a selected point in the computer readable instructions.Type: ApplicationFiled: March 13, 2013Publication date: September 18, 2014Applicant: MICROSOFT CORPORATIONInventors: Michael C. Fanning, Felix Gerard Torquil Ifor Andrew, Daniel J. Moseley, Simon Calvert, Andrew R. Sterland, Timothy Rice, Jeffrey T. Fisher, Robert A. Paveza, Taylor C. Woll, Gregg Miskelly, Harold L. Pierson, III, Christopher Edmonds, Elliot H. Omiya, Karthik Vivek Nadig, Francisco Javier Wong, Zhaochuan Gao, Andriy Stasyuk
-
Patent number: 8796783Abstract: Each gate structure formed on the substrate includes a gate dielectric, a gate conductor, a first etch stop layer, and a gate cap dielectric. A second etch stop layer is formed over the gate structures, gate spacers, and source and drain regions. A first contact-level dielectric layer and a second contact-level dielectric layer are formed over the second etch stop layer. Gate contact via holes extending at least to the top surface of the gate cap dielectrics are formed. Source/drain contact via holes extending to the interface between the first and second contact-level dielectric layers are subsequently formed. The various contact via holes are vertically extended by simultaneously etching exposed gate cap dielectrics and exposed portions of the first contact-level dielectric layer, then by simultaneously etching the first and second etch stop layers. Source/drain contact vias self-aligned to the outer surfaces gate spacers are thereby formed.Type: GrantFiled: February 26, 2013Date of Patent: August 5, 2014Assignee: International Business Machines CorporationInventors: Su C. Fan, David V. Horak, Charles W. Koburger, Shom Ponoth, Chih-Chao Yang
-
Patent number: 8789018Abstract: Creating metadata for dynamic code in a descriptive metadata language. The method includes obtaining one or more first data structures defining constructs in a body of dynamic language source code. From the one or more first data structures, identifier information is extracted for one or more of the defined constructs. Knowledge about the constructs is augmented. Metadata about the body of the dynamic language source code is provided, with the source code, in a specific metadata format, to a user.Type: GrantFiled: May 31, 2011Date of Patent: July 22, 2014Assignee: Microsoft CorporationInventors: Michael C. Fanning, Steven Edward Lucco, Frederico A. Mameri
-
Publication number: 20140189662Abstract: Concepts and technologies are described herein for extending the behavior of a software development tool. An extension can be accessed and consumed by a software development tool to configure the software development tool to perform an operation in an extended mode. In one example, an extension can extend a compiler based on the input source code. In one configuration, the compiler extension can provide a compiler with one or more runtime semantics of various source code elements for a particular programming language. The compiler can access an extensions list to determine if the compiler is to perform a compilation operation on a particular source code element or logical unit in an extended mode.Type: ApplicationFiled: December 31, 2012Publication date: July 3, 2014Applicant: MICROSOFT CORPORATIONInventors: Frederico A. Mameri, Michael C. Fanning
-
Patent number: 8765585Abstract: Each gate structure formed on the substrate includes a gate dielectric, a gate conductor, a first etch stop layer, and a gate cap dielectric. A second etch stop layer is formed over the gate structures, gate spacers, and source and drain regions. A first contact-level dielectric layer and a second contact-level dielectric layer are formed over the second etch stop layer. Gate contact via holes extending at least to the top surface of the gate cap dielectrics are formed. Source/drain contact via holes extending to the interface between the first and second contact-level dielectric layers are subsequently formed. The various contact via holes are vertically extended by simultaneously etching exposed gate cap dielectrics and exposed portions of the first contact-level dielectric layer, then by simultaneously etching the first and second etch stop layers. Source/drain contact vias self-aligned to the outer surfaces gate spacers are thereby formed.Type: GrantFiled: April 28, 2011Date of Patent: July 1, 2014Assignee: International Business Machines CorporationInventors: Su C. Fan, David V. Horak, Charles W. Koburger, III, Shom Ponoth, Chih-Chao Yang
-
Publication number: 20140181592Abstract: A method for diagnosing declarative source elements in an application, such as in debugging markup source elements or visual elements in an application, is disclosed. Diagnosis information is associated with an object source of a visual element. The diagnosis information is provided for the visual element during the runtime of the application.Type: ApplicationFiled: December 21, 2012Publication date: June 26, 2014Applicant: MICROSOFT CORPORATIONInventors: Felix Gerard Torquil Ifor Andrew, Ahmad Khalifa Eesa Ahmad, Michael C. Fanning
-
Publication number: 20140181792Abstract: A deployment package descriptor may be obtained. One or more application files that include application content in a plurality of different data formats may be obtained. An analysis of the application content included in the obtained one or more application files may be initiated, based on a plurality of different data formats and descriptive information associated with the obtained application files, the descriptive information included in the obtained deployment package descriptor.Type: ApplicationFiled: December 20, 2012Publication date: June 26, 2014Applicant: MICROSOFT CORPORATIONInventors: Michael C. Fanning, Frederico Mameri, Christopher M.H. Faucon
-
Patent number: 8752035Abstract: Transforming dynamic code. The method includes obtaining one or more first data structures defining constructs in a body of dynamic language source code. From the one or more first data structures, identifier information is extracted for one or more of the defined constructs. Knowledge about the constructs is augmented. Using the identifier information and augmented knowledge, metadata is generated about the body of the dynamic language source code. The generated metadata is represented as a symbol table. Using the symbol table, the body of dynamic language source code is transformed.Type: GrantFiled: May 31, 2011Date of Patent: June 10, 2014Assignee: Microsoft CorporationInventors: Michael C. Fanning, Frederico A. Mameri, Zachary A. Nation
-
Patent number: 8713532Abstract: Various technologies and techniques are disclosed for providing a code analysis debugger. A code analysis process is performed to identify possible program defects that are present in particular source code. The results of the code analysis are stored in a results file in a structured format. The structured format contains sections that describe details about the one or more portions of source code that have been identified as possibly having the program defects. The analysis results are retrieved for display. A debugger-like feature allows a user to review a representation of the program defects identified during the code analysis. The debugger-like feature has a graphical user interface that can display at least some of the possible program defects in a call stack for further review.Type: GrantFiled: January 19, 2007Date of Patent: April 29, 2014Assignee: Microsoft CorporationInventors: Jeffrey van Gogh, Michael C. Fanning
-
Publication number: 20140109106Abstract: Generation of a dependency graph for code that includes code portions such as resources or functions or both. For some or all of the nodes, the dependency is calculated by determining that the given node, a depending node, depends on an affecting node. The dependency is recorded so as to be associated with the node. Furthermore, the dependency calculation method is recorded so as to be associated with the dependency. The code may perhaps include portions within two different domains, in which the mechanism for calculating dependencies may differ. In some cases, the dependency graph may be constructed in stages, and perhaps additional properties may be associated with the node, and metadata of the properties may also be recorded.Type: ApplicationFiled: October 17, 2012Publication date: April 17, 2014Applicant: MICROSOFT CORPORATIONInventors: Michael C. Fanning, Christopher M. H. Faucon, Matthew Thornhill Hall, Nachiappan Nagappan, Benjamin Livshits, Magnus Madsen
-
Publication number: 20140082595Abstract: Embodiments provided a formalized set of intermediate analysis contexts that are relevant for analysis checks of target code. Such intermediate analysis context may include, but are not limited to, the development phase of targeted code, the type or state of the targeted code, a source manipulating the targeted code, a purpose for the targeted code, or other development or runtime requirements. Accordingly, embodiments dynamically identify a current analysis context under which targeted code is being developed and can then execute rules based on knowledge of what contexts the rule(s) may apply. More specifically, analysis rules can describe (e.g., via metadata) those context conditions under which a rule can run. Based on such description and the current context, those rules that have been configured to apply to such context conditions can be executed.Type: ApplicationFiled: November 19, 2013Publication date: March 20, 2014Inventors: Jeffrey Van Gogh, Michael C. Fanning, Sean D. Sandys
-
Publication number: 20140075451Abstract: Techniques are described herein that are capable of constructing an inter-process communication channel, for example, between a requesting component and a targeted process. The communication channel may have one or more links, such that each link is defined by a respective node pair in a plurality of nodes. The plurality of nodes includes the requesting component, the targeted process, and optionally one or more intermediate nodes. An attachment request is received via a user interface. The requesting component is attached to the targeted process. For instance, the links may be traversed to discover the targeted process. The communication channel is established. For instance, in each node of a subset of the plurality of nodes, node information may be retained to indicate a next consecutive node of the plurality of nodes to which messages from the requesting component to the targeted process are to be delivered.Type: ApplicationFiled: September 12, 2012Publication date: March 13, 2014Applicant: MICROSOFT CORPORATIONInventors: Benjamin J. Anderson, Michael C. Fanning, Timothy S. Rice, Andrew R. Sterland