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: 20110246973
    Abstract: 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: Application
    Filed: June 16, 2011
    Publication date: October 6, 2011
    Applicant: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Dinesh Chandrakant Kulkarni, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Donald Box
  • Patent number: 7992140
    Abstract: 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: Grant
    Filed: July 29, 2005
    Date of Patent: August 2, 2011
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Dinesh Chandrakant Kulkarni, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Donald Box
  • Patent number: 7451157
    Abstract: 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: Grant
    Filed: October 15, 2002
    Date of Patent: November 11, 2008
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, John P. Shewchuck, David Langworthy, Donald Box, Steven E. Lucco
  • Patent number: 7418457
    Abstract: 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: Grant
    Filed: April 4, 2005
    Date of Patent: August 26, 2008
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, John P. Shewchuck, David Langworthy, Donald Box, Steven E. Lucco
  • Publication number: 20070226356
    Abstract: 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: Application
    Filed: May 29, 2007
    Publication date: September 27, 2007
    Applicant: Microsoft Corporation
    Inventors: David Levin, Erik Christensen, Saurab Nog, Donald Box, Christopher Kaler, Giovanni Della-Libera, Alfred Lee, David Wortendyke
  • Publication number: 20070136338
    Abstract: 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: Application
    Filed: December 12, 2005
    Publication date: June 14, 2007
    Applicant: Microsoft Corporation
    Inventors: Christopher Kaler, Donald Box, Martin Gudgin
  • Publication number: 20070061873
    Abstract: 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: Application
    Filed: September 9, 2005
    Publication date: March 15, 2007
    Applicant: Microsoft Corporation
    Inventors: John Shewchuk, Arun Nanda, Donald Box, Douglas Walter, Hervey Wilson
  • Publication number: 20070044083
    Abstract: 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: Application
    Filed: July 29, 2005
    Publication date: February 22, 2007
    Applicant: Microsoft Corporation
    Inventors: Henricus Meijer, Anders Hejlsberg, Donald Box, Matthew Warren, Luca Bolognese, Gary Katzenberger, Peter Hallam, Dinesh Kulkarni
  • Publication number: 20070028163
    Abstract: 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: Application
    Filed: July 29, 2005
    Publication date: February 1, 2007
    Applicant: Microsoft Corporation
    Inventors: Henricus Meijer, Anders Hejlsberg, David Remy, Arpan Desai, Asad Jawahar, Andrew Kimball, Donald Box
  • Publication number: 20070028223
    Abstract: 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: Application
    Filed: July 29, 2005
    Publication date: February 1, 2007
    Applicant: Microsoft Corporation
    Inventors: Henricus Johannes Meijer, Anders Hejlsberg, Matthew Warren, Dinesh Kulkarni, Luca Bolognese, Peter Hallam, Gary Katzenberger, Donald Box
  • Publication number: 20060230164
    Abstract: 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: Application
    Filed: March 22, 2005
    Publication date: October 12, 2006
    Applicant: Microsoft Corporation
    Inventors: Jeffrey Schlimmer, Donald Box, Luis Cabrera
  • Publication number: 20060206599
    Abstract: 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: Application
    Filed: March 8, 2005
    Publication date: September 14, 2006
    Applicant: Microsoft Corporation
    Inventors: Andrew Milligan, Donald Box, Harris Syed, Max Feingold, Saji Abraham
  • Publication number: 20060173933
    Abstract: 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: Application
    Filed: February 1, 2005
    Publication date: August 3, 2006
    Applicant: Microsoft Corporation
    Inventors: Sowmyanarayanan Srinivasan, Natasha Jethanandani, Stefan Pharies, Douglas Purdy, Donald Box, Gopala Kakivaya
  • Publication number: 20060047679
    Abstract: 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: Application
    Filed: August 25, 2004
    Publication date: March 2, 2006
    Inventors: Douglas Purdy, Sowmyanarayanan Srinivasan, Bradford Lovering, Donald Box, Gopala Kakivaya, Natasha Jethanandani, Stefan Pharies, Stephen Swartz, Steven Lucco
  • Publication number: 20060047757
    Abstract: 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: Application
    Filed: June 18, 2004
    Publication date: March 2, 2006
    Inventors: Alan Geller, Donald Box, Luis Cabrera, Raymond McCollum
  • Publication number: 20060015528
    Abstract: 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: Application
    Filed: July 14, 2004
    Publication date: January 19, 2006
    Applicant: Microsoft Corporation
    Inventors: Anders Hejlsberg, Anthony Moore, Brian Grunkemeyer, Donald Box, Gang Peng, Krzysztof Cwalina
  • Publication number: 20050204051
    Abstract: 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: Application
    Filed: March 15, 2004
    Publication date: September 15, 2005
    Inventors: 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: 20050198098
    Abstract: 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: Application
    Filed: February 20, 2004
    Publication date: September 8, 2005
    Inventors: David Levin, Erik Christensen, Saurab Nog, Donald Box, Christopher Kaler, Giovanni Della-Libera, Alfred Lee, David Wortendyke
  • Publication number: 20050177602
    Abstract: 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: Application
    Filed: April 4, 2005
    Publication date: August 11, 2005
    Applicant: Microsoft Corporation
    Inventors: Christopher Kaler, John Shewchuk, David Langworthy, Donald Box
  • Publication number: 20050086594
    Abstract: 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: Application
    Filed: October 15, 2003
    Publication date: April 21, 2005
    Inventors: Jeffrey Schlimmer, Martin Gudgin, Donald Box, Christopher Kaler, Timothy Ewald, Yasser Shohoud