Patents by Inventor Krzysztof J. Cwalina
Krzysztof J. Cwalina 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: 11113190Abstract: A computing device implemented method for building a mutable type is disclosed. A data structure is generated in a contiguous section of memory. The data structure includes an element portion and an over-allocation portion. The element portion stores elements accessible with an index. A gap object is inserted into the over-allocation portion. The gap object is garbage collected.Type: GrantFiled: November 11, 2016Date of Patent: September 7, 2021Assignee: Microsoft Technology Licensing, LLCInventors: John J. Duffy, Krzysztof J. Cwalina, Matthew G. Ellis
-
Patent number: 10152309Abstract: API (application program interface) features defined by a set of APIs provide a different cross-sectional view of an application or framework than the view provided by sectioning along class or library boundaries, or binding units, for example. An API feature includes a proper subset of a library of a framework used by an application, and/or APIs which collectively reside in different libraries. A functionality feature API set provides an exposed surface area of a functionality feature of an application. Upon receiving a compilation request and determining that an API feature is to be excluded, an attempt is made to produce a compiled version of the application without the feature's APIs. In some cases, the functionality feature is independent of a baseline functionality of the application. Developers can obtain smaller but fully functional binaries. Framework architects can identify dependencies between API implementations when creating or modifying a software framework's architecture.Type: GrantFiled: July 27, 2016Date of Patent: December 11, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Mircea Trofin, Krzysztof J. Cwalina, Patrick H. Dussud, John Duffy
-
Publication number: 20180137049Abstract: A computing device implemented method for building a mutable type is disclosed. A data structure is generated in a contiguous section of memory. The data structure includes an element portion and an over-allocation portion. The element portion stores elements accessible with an index. A gap object is inserted into the over-allocation portion. The gap object is garbage collected.Type: ApplicationFiled: November 11, 2016Publication date: May 17, 2018Applicant: Microsoft Technology Licensing, LLCInventors: John J. Duffy, Krzysztof J. Cwalina, Matthew G. Ellis
-
Patent number: 9740460Abstract: A language extension that advances safety in system programming in that an entire type may be declared to be immutable in the case in which all instances of that type are immutable. The immutable type declaration automatically causes any instances of that type to be treated as immutable, and automatically causes all directly or indirectly reachable members (e.g., fields, methods, properties) of the instance to also be treated as immutable. Furthermore, any construction time reference that allows for field assignment of the instance is not permitted to survive beyond the point at which the instance becomes accessible to its creator. Accordingly, this instance, and any other instance of that same type, will be immutable from the very time of construction. The ability to classify all such instances as immutable is beneficial as the immutable characteristic permits actions that normally would not be allowed due to resource access safety.Type: GrantFiled: June 25, 2015Date of Patent: August 22, 2017Assignee: Microsoft Technology Licensing, LLCInventors: John J. Duffy, Jared Porter Parsons, Michael Sinz, Aleksandra Nadia Culver, Krzysztof J. Cwalina
-
Publication number: 20160357531Abstract: API (application program interface) features defined by a set of APIs provide a different cross-sectional view of an application or framework than the view provided by sectioning along class or library boundaries, or binding units, for example. An API feature includes a proper subset of a library of a framework used by an application, and/or APIs which collectively reside in different libraries. A functionality feature API set provides an exposed surface area of a functionality feature of an application. Upon receiving a compilation request and determining that an API feature is to be excluded, an attempt is made to produce a compiled version of the application without the feature's APIs. In some cases, the functionality feature is independent of a baseline functionality of the application. Developers can obtain smaller but fully functional binaries. Framework architects can identify dependencies between API implementations when creating or modifying a software framework's architecture.Type: ApplicationFiled: July 27, 2016Publication date: December 8, 2016Inventors: Mircea Trofin, Krzysztof J. Cwalina, Patrick H. Dussud, John Duffy
-
Patent number: 9430200Abstract: API (application program interface) features defined by a set of APIs provide a different cross-sectional view of an application or framework than the view provided by sectioning along class or library boundaries, or binding units, for example. An API feature includes a proper subset of a library of a framework used by an application, and/or APIs which collectively reside in different libraries. A functionality feature API set provides an exposed surface area of a functionality feature of an application. Upon receiving a compilation request and determining that an API feature is to be excluded, an attempt is made to produce a compiled version of the application without the feature's APIs. In some cases, the functionality feature is independent of a baseline functionality of the application. Developers can obtain smaller but fully functional binaries. Framework architects can identify dependencies between API implementations when creating or modifying a software framework's architecture.Type: GrantFiled: June 4, 2015Date of Patent: August 30, 2016Assignee: Microsoft Technology Licensing LLCInventors: Mircea Trofin, Krzysztof J. Cwalina, Patrick H. Dussud, John Duffy
-
Patent number: 9229959Abstract: The type definition of particular types such that different portions of the corresponding object graph may have different permissions assigned to those portions during instantiation. This allows structured permissions to be applied to instantiations of the object graphs of those defined types, allowing fine grained control over what access permissions are enforced against which portions of the object graph. In some embodiments, different instantiations of the object graph may apply permissions differently.Type: GrantFiled: January 4, 2013Date of Patent: January 5, 2016Assignee: Microsoft Technology Licensing, LLCInventors: G. Shon Katzenberger, Jared Porter Parsons, Alexander Daniel Bromfield, John J. Duffy, Krzysztof J. Cwalina
-
Publication number: 20150324175Abstract: A language extension that advances safety in system programming in that an entire type may be declared to be immutable in the case in which all instances of that type are immutable. The immutable type declaration automatically causes any instances of that type to be treated as immutable, and automatically causes all directly or indirectly reachable members (e.g., fields, methods, properties) of the instance to also be treated as immutable. Furthermore, any construction time reference that allows for field assignment of the instance is not permitted to survive beyond the point at which the instance becomes accessible to its creator. Accordingly, this instance, and any other instance of that same type, will be immutable from the very time of construction. The ability to classify all such instances as immutable is beneficial as the immutable characteristic permits actions that normally would not be allowed due to resource access safety.Type: ApplicationFiled: June 25, 2015Publication date: November 12, 2015Inventors: John J. Duffy, Jared Porter Parsons, Michael Sinz, Alexander Daniel Bromfield, Krzysztof J. Cwalina
-
Patent number: 9098269Abstract: A language extension that advances safety in system programming in that an entire type may be declared to be immutable in the case in which all instances of that type are immutable. The immutable type declaration automatically causes any instances of that type to be treated as immutable, and automatically causes all directly or indirectly reachable members (e.g., fields, methods, properties) of the instance to also be treated as immutable. Furthermore, any construction time reference that allows for field assignment of the instance is not permitted to survive beyond the point at which the instance becomes accessible to its creator. Accordingly, this instance, and any other instance of that same type, will be immutable from the very time of construction. The ability to classify all such instances as immutable is beneficial as the immutable characteristic permits actions that normally would not be allowed due to resource access safety.Type: GrantFiled: January 4, 2013Date of Patent: August 4, 2015Assignee: Microsoft Technology Licensing, LLCInventors: John J. Duffy, Jared Porter Parsons, Michael Sinz, Alexander Daniel Bromfield, Krzysztof J. Cwalina
-
Publication number: 20140196008Abstract: A language extension that advances safety in system programming in that an entire type may be declared to be immutable in the case in which all instances of that type are immutable. The immutable type declaration automatically causes any instances of that type to be treated as immutable, and automatically causes all directly or indirectly reachable members (e.g., fields, methods, properties) of the instance to also be treated as immutable. Furthermore, any construction time reference that allows for field assignment of the instance is not permitted to survive beyond the point at which the instance becomes accessible to its creator. Accordingly, this instance, and any other instance of that same type, will be immutable from the very time of construction. The ability to classify all such instances as immutable is beneficial as the immutable characteristic permits actions that normally would not be allowed due to resource access safety.Type: ApplicationFiled: January 4, 2013Publication date: July 10, 2014Applicant: MICROSOFT CORPORATIONInventors: John J. Duffy, Jared Porter Parsons, Michael Sinz, Alexander Daniel Bromfield, Krzysztof J. Cwalina
-
Publication number: 20140195563Abstract: The type definition of particular types such that different portions of the corresponding object graph may have different permissions assigned to those portions during instantiation. This allows structured permissions to be applied to instantiations of the object graphs of those defined types, allowing fine grained control over what access permissions are enforced against which portions of the object graph. In some embodiments, different instantiations of the object graph may apply permissions differently.Type: ApplicationFiled: January 4, 2013Publication date: July 10, 2014Applicant: MICROSOFT CORPORATIONInventors: G. Shon Katzenberger, Jared Porter Parsons, Alexander Daniel Bromfield, John J. Duffy, Krzysztof J. Cwalina
-
Patent number: 8707259Abstract: A framework for open, dynamic, and reflective applications contains high level metadata that define blocks of composable elements using a service definition, which defines specific keys for using the block of code. The service definition may be exported from the code using reflection without having to load the code into memory, and decisions on which block of code and how to load the code may be made at runtime. The composable elements may be grouped into composable parts. Composable part definitions may be used to instantiate or produce composable parts. At runtime, dynamic applications may search from many composable elements, and instantiate and execute the composable element as part of the application.Type: GrantFiled: November 19, 2008Date of Patent: April 22, 2014Assignee: Microsoft CorporationInventors: Mircea Trofin, Oleg G. Lvovitch, Blake W. Stone, Krzysztof J. Cwalina, Clemens A. Szyperski, Alex Bulankou
-
Patent number: 8443338Abstract: An assembly aggregate comprising a virtual, logical view of an arbitrarily defined collection of intermediate code and metadata can be authored, factored, accessed, modified, and distributed. Multiple physical containers of assembly information can be aggregated to create a single logical assembly called an assembly aggregate. An assembly can thus be redefined as a logical view against (or projection over) the assembly aggregate. Such an assembly can be targeted to the requester: that is, an assembly can be redefined according to tool and/or execution context rather than conforming to explicit or implicit requirements enforced by the runtime.Type: GrantFiled: October 8, 2008Date of Patent: May 14, 2013Assignee: Microsoft CorporationInventors: Krzysztof J. Cwalina, Michael C. Fanning, Brian M. Grunkemeyer, Brent E. Rector, Barend H. Venter
-
Publication number: 20100125558Abstract: A framework for open, dynamic, and reflective applications contains high level metadata that define blocks of composable elements using a service definition, which defines specific keys for using the block of code. The service definition may be exported from the code using reflection without having to load the code into memory, and decisions on which block of code and how to load the code may be made at runtime. The composable elements may be grouped into composable parts. Composable part definitions may be used to instantiate or produce composable parts. At runtime, dynamic applications may search from many composable elements, and instantiate and execute the composable element as part of the application.Type: ApplicationFiled: November 19, 2008Publication date: May 20, 2010Applicant: Microsoft CorporationInventors: Mircea Trofin, Oleg G. Lvovitch, Blake W. Stone, Krzysztof J. Cwalina, Clemens A. Szyperski, Alex Bulankou
-
Publication number: 20100088669Abstract: An assembly aggregate comprising a virtual, logical view of an arbitrarily defined collection of intermediate code and metadata can be authored, factored, accessed, modified, and distributed. Multiple physical containers of assembly information can be aggregated to create a single logical assembly called an assembly aggregate. An assembly can thus be redefined as a logical view against (or projection over) the assembly aggregate. Such an assembly can be targeted to the requester: that is, an assembly can be redefined according to tool and/or execution context rather than conforming to explicit or implicit requirements enforced by the runtime.Type: ApplicationFiled: October 8, 2008Publication date: April 8, 2010Applicant: Microsoft CorporationInventors: Krzysztof J. Cwalina, Michael C. Fanning, Brian M. Grunkemever, Brent E. Rector, Barend H. Venter
-
Patent number: 7581231Abstract: An application program interface (API) provides a set of functions for application developers who build Web applications on Microsoft Corporation's .NETâ„¢ platform.Type: GrantFiled: February 28, 2002Date of Patent: August 25, 2009Assignee: Microsoft CorporationInventors: Adam W. Smith, Anthony J. Moore, Anders Hejlsberg, Brian A. LaMacchia, Blaine J. Dockter, Brian M. Grunkemeyer, Brian K. Pepin, Caleb L. Doise, Christopher W. Brumme, Chad W. Royal, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Dedu-Constantin, Daniel Takacs, David S. Ebbo, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Giovanni M. Della-Libera, Gopala Krishna R. Kakivaya, Gregory D. Fee, Hany E. Ramadan, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Jun Fang, Krzysztof J. Cwalina, Keith W. Ballinger, Lance E. Olson, Loren M. Kohnfelder, Luca Bolognese, Manu Vasandani, Mark T. Anders, Mark P. Ashton, Mark A. Boulter, Mark W. Fussell, Michael M. Magruder, Manish S. Prabhu, Neetu Rajpal, Nikhil Kothari, Nithyalakshmi Sampathkumar, Nicholas M. Kramer, Omri Gazitt, Radu Rares Palanca, Raja Krishnaswamy, Robert M. Howard, Ramasamy Krishnaswamy, Shawn P. Burke, Scott D. Guthrie, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Subhag P. Oak, Sreeram Nivarthi, Stefan H. Pharies, Suzanne M. Cook, Susan M. Warren, Tarun Anand, Travis J. Muhlestein, William A. Adams, Yan Leshinsky, Yann E. Christensen, Yung-shin Lin, Stephen J. Millet, Joseph Roxe, Alan Boshier, Henry L. Sanders, David Bau
-
Patent number: 7555757Abstract: An application program interface (API) provides a set of functions, including a set of base classes and types that are used in substantially all applications accessing the API, for application developers who build Web applications on Microsoft Corporation's .NETâ„¢ platform.Type: GrantFiled: June 23, 2005Date of Patent: June 30, 2009Assignee: Microsoft CorporationInventors: Adam W. Smith, Anthony J. Moore, Brian A. LaMacchia, Anders Hejlsberg, Brian M. Grunkemeyer, Caleb L. Doise, Christopher W. Brumme, Christopher L. Anderson, Corina E. Feuerstein, Craig T. Sinclair, Daniel Takacs, David S. Ebbo, David O. Driver, David S. Mortenson, Erik B. Christensen, Erik B. Olson, Fabio A. Yeon, Gopala Krishna R. Kakivaya, George D. Fee, Hany E. Ramadan, Henry L. Sanders, II, Jayanth V. Rajan, Jeffrey M. Cooperstein, Jonathan C. Hawkins, James H. Hogg, Joe D. Long, John I. McConnell, Jesus Ruiz-Scougall, James S. Miller, Julie D. Bennett, Krzysztof J. Cwalina, Lance E. Olson, Loren M. Kohnfelder, Michael M. Magruder, Manish S. Prabhu, Radu Rares Palanca, Raja Krishnaswamy, Shawn P. Burke, Sean E. Trowbridge, Seth M. Demsey, Shajan Dasan, Stefan H. Pharies, Suzanne M. Cook, Tarun Anand, Travis J. Muhlestein, Yann E. Christensen, Yung-shin Lin, Ramasamy Krishnaswamy, Joseph Roxe, Alan Boshier, David Bau
-
Patent number: 7441234Abstract: Methods, systems, and computer program products for correlating trace events to facilitate analysis based on how the trace events are related. Relationship information that defines relationships between logical operations is maintained within a correlation identifier stack. A correlation identifier that marks the occurrence of a logical operation is obtained for executing software and stored in the correlation identifier stack. A trace event is generated that comprises both the correlation identifier stack and an initial event payload to describe the runtime behavior of the executing software. The trace event is stored to a trace log for subsequent analysis of the executing software based on the logical operation relationship information in the correlation identifier stack and the initial correlation identifier that marks the occurrence of the logical operation. Upon obtaining an indication that the logical operation has ended, the correlation identifier is removed from the correlation identifier stack.Type: GrantFiled: February 13, 2004Date of Patent: October 21, 2008Assignee: Microsoft CorporationInventors: Krzysztof J. Cwalina, Melur K. Raghuraman, David D. Gutierrez
-
Patent number: 7430732Abstract: A first exemplary method implementation for designing an application programming interface (API) includes: preparing multiple code samples for a core scenario, each respective code sample of the multiple code samples corresponding to a respective programming language of multiple programming languages; and deriving the API from the core scenario responsive to the multiple code samples. A second exemplary method for designing an API includes: selecting a core scenario for a feature area; writing at least one code sample for the core scenario; and deriving an API for the core scenario responsive to the at least one code sample. A third exemplary method for designing an API includes: deriving an API for a scenario responsive to at least one code sample written with regard to the scenario; performing one or more usability studies on the API utilizing multiple developers; and revising the API based on the one or more usability studies.Type: GrantFiled: October 23, 2003Date of Patent: September 30, 2008Assignee: Microsoft CorporationInventors: Krzysztof J. Cwalina, Bradley Moore Abrams, Anthony J. Moore, Christopher L. Anderson, Michael Pizzo, Robert Allan Brigham, II
-
Patent number: 7150008Abstract: Checking program elements and program element behaviors for adherence to software development rules. An analysis engine receives a rule assembly containing metadata and intermediate language instructions representing one or more rules. The analysis engine also receives a target assembly containing metadata and intermediate language instructions representing one or more program elements and/or one or more program element behaviors. The analysis engine identifies (e.g., through reflection or retrieval of intermediate language instructions) a program element or program element behavior from the target assembly that is to be checked for adherence to a rule from the rule assembly. The analysis engine applies the rule to the program element or program element behavior to check the program element or program element behavior for adherence to the rule. Results can be stored for later viewing by a programmer.Type: GrantFiled: April 14, 2003Date of Patent: December 12, 2006Assignee: Microsoft CorporationInventors: Krzysztof J. Cwalina, Nathan Keith Walker, Michael C. Fanning, Bradley M. Abrams