Patents by Inventor Donald Box
Donald Box 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: 20110246973Abstract: A compiler supporting a language in which selected semantic objects are represented as data objects. The data objects may be used in multiple ways to expand the capabilities of the programming language. Data objects may be passed to applications and used to create executable instructions for that application. In this way, instructions written in the native language of the compiler may be used to control applications that accept programs in a language inconsistent with the native language of the compiler. The syntax checking and variable binding capabilities of the compiler may be used for those instructions that will be executed by an application separate from the object code generated by the compiler. The semantic objects represented as data objects may be selected based on express operations included in the source code or may be based on implicit type conversion.Type: ApplicationFiled: June 16, 2011Publication date: October 6, 2011Applicant: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Dinesh Chandrakant Kulkarni, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Donald Box
-
Patent number: 7992140Abstract: A compiler supporting a language in which selected semantic objects are represented as data objects. The data objects may be used in multiple ways to expand the capabilities of the programming language. Data objects may be passed to applications and used to create executable instructions for that application. In this way, instructions written in the native language of the compiler may be used to control applications that accept programs in a language inconsistent with the native language of the compiler. The syntax checking and variable binding capabilities of the compiler may be used for those instructions that will be executed by an application separate from the object code generated by the compiler. The semantic objects represented as data objects may be selected based on express operations included in the source code or may be based on implicit type conversion.Type: GrantFiled: July 29, 2005Date of Patent: August 2, 2011Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Dinesh Chandrakant Kulkarni, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Donald Box
-
Patent number: 7451157Abstract: Methods, systems, and data structures for communicating object metadata are provided. A generic metadata container is presented that allows object metadata to be described in an extensible manner using protocol-neutral and platform-independent methodologies. A metadata scope refers to a dynamic universe of targets to which the included metadata statements correspond. Metadata properties provide a mechanism to describe the metadata itself, and metadata security can be used to ensure authentic metadata is sent and received. Mechanisms are also provided to allow refinement and replacement of metadata statements. Communication of metadata is expedited using hash digests to confirm metadata versions, and by piggybacking policy metadata requests and responses on other substantive data communication messages, thereby dynamically altering future communications.Type: GrantFiled: October 15, 2002Date of Patent: November 11, 2008Assignee: Microsoft CorporationInventors: Christopher G. Kaler, John P. Shewchuck, David Langworthy, Donald Box, Steven E. Lucco
-
Patent number: 7418457Abstract: Methods, systems, and data structures for communicating object metadata are provided. A generic metadata container is presented that allows object metadata to be described in an extensible manner using protocol-neutral and platform-independent methodologies. A metadata scope refers to a dynamic universe of targets to which the included metadata statements correspond. Metadata properties provide a mechanism to describe the metadata itself, and metadata security can be used to ensure authentic metadata is sent and received. Mechanisms are also provided to allow refinement and replacement of metadata statements. Communication of metadata is expedited using hash digests to confirm metadata versions, and by piggybacking policy metadata requests and responses on other substantive data communication messages, thereby dynamically altering future communications.Type: GrantFiled: April 4, 2005Date of Patent: August 26, 2008Assignee: Microsoft CorporationInventors: Christopher G. Kaler, John P. Shewchuck, David Langworthy, Donald Box, Steven E. Lucco
-
Publication number: 20070226356Abstract: A method includes advertising a policy characterizing communication properties supported by a node. The policy may be distributed to another node in response to a request for the policy. Policy expressions in the policy include one or more assertions that may be grouped and related to each other in a plurality of ways. A system includes a policy generator for generating at least one policy characterizing properties of a node. A policy retriever retrieves a policy from another node and a message generator generates a message to the other node, wherein the message conforms to the policy from the other node.Type: ApplicationFiled: May 29, 2007Publication date: September 27, 2007Applicant: Microsoft CorporationInventors: David Levin, Erik Christensen, Saurab Nog, Donald Box, Christopher Kaler, Giovanni Della-Libera, Alfred Lee, David Wortendyke
-
Publication number: 20070136338Abstract: Structuring a data structure that is of a particular type that has a particular schema used for validation, in a manner that permits selected components of the data structure to be optionally transformed while retaining the ability to validate the data structure. The data structure includes information that is sufficient to identify one or more transformations that may occur on at least one component of the data structure while still being valid.Type: ApplicationFiled: December 12, 2005Publication date: June 14, 2007Applicant: Microsoft CorporationInventors: Christopher Kaler, Donald Box, Martin Gudgin
-
Publication number: 20070061873Abstract: A cryptographic session key is utilized to maintain security of a digital identity. The session key is valid only for a limited period of time. Additional security is provided via a bimodal credential allowing different levels of access to the digital identify. An identity token contains pertinent information associated with the digital identity. The identity token is encrypted utilizing public-key cryptography. An identifier utilized to verify the validity of the digital identity is encrypted with the cryptographic session key. The encrypted identity token and the encrypted identifier are provided to a service for example. The service decrypts the encrypted identity token utilizing public key cryptography, and decrypts, with the cryptographic session key obtained from the identity token, the encrypted identifier. If the identifier is determined to be valid, the transaction proceeds normally. If the identifier is determined to be invalid, the transaction is halted.Type: ApplicationFiled: September 9, 2005Publication date: March 15, 2007Applicant: Microsoft CorporationInventors: John Shewchuk, Arun Nanda, Donald Box, Douglas Walter, Hervey Wilson
-
Publication number: 20070044083Abstract: The subject disclosure pertains to lambda expressions and the employment of such expressions in imperative and/or object-oriented computer programming languages. Lambda expressions can be employed in conjunction with methods (e.g., arguments, assignment . . . ) to provide a more concise and functional manner of code specification. Further, lambda expressions can participate in type inference and checking as well as overload resolution, among other things.Type: ApplicationFiled: July 29, 2005Publication date: February 22, 2007Applicant: Microsoft CorporationInventors: Henricus Meijer, Anders Hejlsberg, Donald Box, Matthew Warren, Luca Bolognese, Gary Katzenberger, Peter Hallam, Dinesh Kulkarni
-
Publication number: 20070028163Abstract: An architecture that leverages support for markup language operations, e.g., extensible markup language (XML) queries, via a lightweight application program interface (API). The API defines an object model that can simplify construction of XML values in languages that do not natively support XML. The novel aspects of the described innovation can enable query languages to be factored into general operations (e.g., mapping, filtering, sorting, and/or projection of functions) on collections on one hand, and a set of domain specific operations (e.g., navigation, construction and modification) on the elements of these collections on another hand. The subject API can support creation of XML data that is node centric (e.g., context-free). Accordingly, nodes do not have to be constructed within the context of a document. Additionally, aspects can enable expression-oriented interface mechanisms as opposed to the imperative statement-oriented style interfaces used in connection with traditional interface mechanisms (e.Type: ApplicationFiled: July 29, 2005Publication date: February 1, 2007Applicant: Microsoft CorporationInventors: Henricus Meijer, Anders Hejlsberg, David Remy, Arpan Desai, Asad Jawahar, Andrew Kimball, Donald Box
-
Publication number: 20070028223Abstract: A compiler supporting a language in which selected semantic objects are represented as data objects. The data objects may be used in multiple ways to expand the capabilities of the programming language. Data objects may be passed to applications and used to create executable instructions for that application. In this way, instructions written in the native language of the compiler may be used to control applications that accept programs in a language inconsistent with the native language of the compiler. The syntax checking and variable binding capabilities of the compiler may be used for those instructions that will be executed by an application separate from the object code generated by the compiler. The semantic objects represented as data objects may be selected based on express operations included in the source code or may be based on implicit type conversion.Type: ApplicationFiled: July 29, 2005Publication date: February 1, 2007Applicant: Microsoft CorporationInventors: Henricus Johannes Meijer, Anders Hejlsberg, Matthew Warren, Dinesh Kulkarni, Luca Bolognese, Peter Hallam, Gary Katzenberger, Donald Box
-
Publication number: 20060230164Abstract: Information can be retrieved by a requesting computer system from a responding computer system using a SOAP-based get operation. In one implementation, a requesting computer system identifies an endpoint reference for content at a responding computer system. The requesting computer system then creates a SOAP get message for retrieving the content, where the message can include one or more constraints for receiving the content, and sends the message to the responding computer system using any appropriate transport protocol. The responding computer system receives the message, determines an extent to which the content can be provided, and creates a response message that relates to the first message. In one implementation, the reply can include an error message, at least a portion of the content, and, in some cases, another endpoint reference for retrieving the rest of the requested content.Type: ApplicationFiled: March 22, 2005Publication date: October 12, 2006Applicant: Microsoft CorporationInventors: Jeffrey Schlimmer, Donald Box, Luis Cabrera
-
Publication number: 20060206599Abstract: The present invention provides a mechanism that allows an administrative event to trigger or cause the generation of a dynamic web service during initialization of legacy application components. Similar to other types of static tooling approaches, the dynamic approach-as supported herein-uses available metadata describing an interface for communicating with legacy components. Rather then generating and manifesting the web service via tooling on a one time or occasional bases, however, example embodiments provide for the generation of the web service by the supporting infrastructure as a standard part of application initialization. Upon stopping the application, a termnination, sequence is provided that stops the corresponding dynamic web service and deletes the web service description used to generate the dynamic web service. Accordingly, every time the application is started the available metadata will need to be consulted and a consistent service will be built on-the-fly.Type: ApplicationFiled: March 8, 2005Publication date: September 14, 2006Applicant: Microsoft CorporationInventors: Andrew Milligan, Donald Box, Harris Syed, Max Feingold, Saji Abraham
-
Publication number: 20060173933Abstract: The transfer of raw data from a source data structure to a target data structure that represent the same item. During the data transfer, if there is a given field in the target data structure that does not correspond to a field supplied by the source data structure, the transfer mechanism determines whether or not it is mandatory that the source data structure supply the field. If it is mandatory, the transfer fails. Otherwise, the transfer continues. If there is field of the source data structure that does not correspond to a field of the target data structure, the transfer mechanism determines whether or not it is mandatory that the target data structure have the field. If it is mandatory, the transfer fails. Otherwise, the corresponding data may be provided to a residual field of the target data structure dedicated for unknown data.Type: ApplicationFiled: February 1, 2005Publication date: August 3, 2006Applicant: Microsoft CorporationInventors: Sowmyanarayanan Srinivasan, Natasha Jethanandani, Stefan Pharies, Douglas Purdy, Donald Box, Gopala Kakivaya
-
Publication number: 20060047679Abstract: Serialization and deserialization using data contracts. The data contract specifies data types that are serialized and deserialized for data objects that are associated with the data contract. During serialization, the data contract associated with the data object is identified. Then, the data fields that correspond to those specified data field types are extracted from the data object and serialized into a serialization format. During deserialization, the serialization mechanism receives a serialized data structure having a particular serialization format. A data contract is then identified as being associated with the serialized data structure. After deserialization of the serialized data structure into abstract data, a corresponding data object is populated with data fields that correspond only with those data field types specified in the data contract. Accordingly, data abstraction is enabled while serializing and deserializing.Type: ApplicationFiled: August 25, 2004Publication date: March 2, 2006Inventors: Douglas Purdy, Sowmyanarayanan Srinivasan, Bradford Lovering, Donald Box, Gopala Kakivaya, Natasha Jethanandani, Stefan Pharies, Stephen Swartz, Steven Lucco
-
Publication number: 20060047757Abstract: Mechanisms for providing requested date items in a request-driven enumeration session while retaining to control over how much inter-message context information is retained by the data provider. Upon receiving a request for the data items, the data provider identifies a portion of the data items to be provided in the first response along with context information that reflects that the first portion of information has been provided. The data provider then makes a determination of how much of the context is to be provided to the data receiver system, and then provides that appropriate context information to the data receiver. Furthermore, the data provider provides a response that includes the first portion of the data items. The data receiver includes this first provided context information in the second request for the next portion of the data items, allowing continuity in the data transfer session.Type: ApplicationFiled: June 18, 2004Publication date: March 2, 2006Inventors: Alan Geller, Donald Box, Luis Cabrera, Raymond McCollum
-
Publication number: 20060015528Abstract: A generic nullable type that is capable of representing null values for reference, value, and other types in a uniform manner is described. The nullable generic type includes at least two portions: a container portion and a Boolean member portion. The container portion can hold other objects of other types, including both reference and value types. The Boolean member portion indicates whether the type held by the container has a value or not. Specifically, when the Boolean member is true, the values of the general type held by the container are valid. When the Boolean member is false, the values of the general type are invalid or undefined to represent an unspecified or null condition. Stack memory usage for the nullable type, a comparison of two objects of the nullable type, and an example database manipulation using the nullable type are also described.Type: ApplicationFiled: July 14, 2004Publication date: January 19, 2006Applicant: Microsoft CorporationInventors: Anders Hejlsberg, Anthony Moore, Brian Grunkemeyer, Donald Box, Gang Peng, Krzysztof Cwalina
-
Publication number: 20050204051Abstract: Systems and methods for open content model Web service messaging in a networked computing environment are described. In one aspect, a transport neutral message is generated that includes message recipient, endpoint addressing information, and one or more reference properties. The reference properties include selectively opaque message context. The transport neutral message is bound to a transport protocol for communication to the message recipient. At least a portion of the selectively opaque message context is. not directed to the message recipient.Type: ApplicationFiled: March 15, 2004Publication date: September 15, 2005Inventors: Donald Box, Christopher Kaler, David Langworthy, Steven Lucco, John Shewchuk, Luis Cabrera, Craig Critchley, Geary Eppley, Bradford Lovering, Jeffrey Schlimmer, David Wortendyke, Henrik Nielsen
-
Publication number: 20050198098Abstract: A method includes advertising a policy characterizing communication properties supported by a node. The policy may be distributed to another node in response to a request for the policy. Policy expressions in the policy include one or more assertions that may be grouped and related to each other in a plurality of ways. A system includes a policy generator for generating at least one policy characterizing properties of a node. A policy retriever retrieves a policy from another node and a message generator generates a message to the other node, wherein the message conforms to the policy from the other node.Type: ApplicationFiled: February 20, 2004Publication date: September 8, 2005Inventors: David Levin, Erik Christensen, Saurab Nog, Donald Box, Christopher Kaler, Giovanni Della-Libera, Alfred Lee, David Wortendyke
-
Publication number: 20050177602Abstract: Methods, systems, and data structures for communicating object metadata are provided. A generic metadata container is presented that allows object metadata to be described in an extensible manner using protocol-neutral and platform-independent methodologies. A metadata scope refers to a dynamic universe of targets to which the included metadata statements correspond. Metadata properties provide a mechanism to describe the metadata itself, and metadata security can be used to ensure authentic metadata is sent and received. Mechanisms are also provided to allow refinement and replacement of metadata statements. Communication of metadata is expedited using hash digests to confirm metadata versions, and by piggybacking policy metadata requests and responses on other substantive data communication messages, thereby dynamically altering future communications.Type: ApplicationFiled: April 4, 2005Publication date: August 11, 2005Applicant: Microsoft CorporationInventors: Christopher Kaler, John Shewchuk, David Langworthy, Donald Box
-
Publication number: 20050086594Abstract: Information that is encoded in different character sets can be combined within a single package without having to perform character set-to-character set encodings, either by interleaving the data or by referencing the data.Type: ApplicationFiled: October 15, 2003Publication date: April 21, 2005Inventors: Jeffrey Schlimmer, Martin Gudgin, Donald Box, Christopher Kaler, Timothy Ewald, Yasser Shohoud