Patents by Inventor Erik B. Christensen
Erik B. Christensen 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: 8812643Abstract: Encoding and/or decoding of messages. On the encoding end, a composite encoder encodes message from an internal format that is used by internal system components into an external format. However, the composite encoder may encode the outgoing messages into different external formats on a per-message basis. For incoming message, a composite decoder decodes incoming messages from any one of a plurality of external formats into the internal format also on a per-message basis. A per-message report mechanism permits internal system components and the encoding/decoding components to communicate information regarding the encoding or decoding on a per message basis. XML messages can be converted automatically into Binary messages.Type: GrantFiled: July 5, 2011Date of Patent: August 19, 2014Assignee: Microsoft CorporationInventors: Stephen Jared Maine, Michael J. Coulson, Tirunelveli R. Vishwanath, Erik B. Christensen
-
Patent number: 8739183Abstract: Embodiments described herein provide for allowing processing code of a message to attach state thereto. More specifically, as a SOAP message is processed, various states known as properties (e.g., message security, message identifier, etc.) can be attached to the message for various purposes. In other words, embodiments provide for a properties object that represents a set of processing-level annotations to a message. These properties (representing the processing state of the headers or other portions of the message) can then be used by other component or modules for further processing purposes. Typically, these properties can then be removed (or sustained if desired) prior to transporting the SOAP message on the wire.Type: GrantFiled: April 15, 2013Date of Patent: May 27, 2014Assignee: Microsoft CorporationInventors: Douglas M. Purdy, Erik B. Christensen, Kenneth D. Wolf, Elliot L. Waingold
-
Publication number: 20130232226Abstract: Embodiments described herein provide for allowing processing code of a message to attach state thereto. More specifically, as a SOAP message is processed, various states known as properties (e.g., message security, message identifier, etc.) can be attached to the message for various purposes. In other words, embodiments provide for a properties object that represents a set of processing-level annotations to a message. These properties (representing the processing state of the headers or other portions of the message) can then be used by other component or modules for further processing purposes. Typically, these properties can then be removed (or sustained if desired) prior to transporting the SOAP message on the wire.Type: ApplicationFiled: April 15, 2013Publication date: September 5, 2013Applicant: Microsoft CorporationInventors: Douglas M. Purdy, Erik B. Christensen, Kenneth D. Wolf, Elliot L. Waingold
-
Patent number: 8424020Abstract: Embodiments described herein provide for allowing processing code of a message to attach state thereto. More specifically, as a SOAP message is processed, various states known as properties (e.g., message security, message identifier, etc.) can be attached to the message for various purposes. In other words, embodiments provide for a properties object that represents a set of processing-level annotations to a message. These properties (representing the processing state of the headers or other portions of the message) can then be used by other component or modules for further processing purposes. Typically, these properties can then be removed (or sustained if desired) prior to transporting the SOAP message on the wire.Type: GrantFiled: August 31, 2006Date of Patent: April 16, 2013Assignee: Microsoft CorporationInventors: Douglas M. Purdy, Erik B. Christensen, Kenneth D. Wolf, Elliot L. Waingold
-
Patent number: 8306996Abstract: The present invention extends to methods, systems, and computer program products for processing model based commands for distributed applications. Embodiments facilitate execution of model-based commands, including software lifecycle commands, using model-based workflow instances. Data related to command execution is stored in a shared repository such that command processors can understand their status in relationship to workflow instances. Further, since the repository is shared, command execution can be distributed and balanced across a plurality of different executive services. Embodiments also include model-based error handling and error recovery mechanisms.Type: GrantFiled: May 18, 2011Date of Patent: November 6, 2012Assignee: Microsoft CorporationInventors: Karthik Arun Nanjangud Bhaskar, Erik B. Christensen, Amol Sudhakar Kulkarni, Prasad Sripathi Panditharadhya, Sundeep Sahi, Igor Sedukhin, Haoran Andy Wu
-
Patent number: 8225308Abstract: The present invention extends to methods, systems, and computer program products for managing software lifecycle. Based on declarative models and knowledge of their interpretation, embodiments of the present invention facilitate lifecycle management for model-based software applications. Lifecycle models, such as, for example, lifecycle state machine models are stored in a shared repository such that executive services can determine how software application lifecycles are to be managed and transitioned. Software lifecycle activities can verify that a transition is possible and identify any errors preventing a lifecycle transition. Model-based error handling and error recovery mechanisms can be used to correct any identified errors.Type: GrantFiled: October 26, 2007Date of Patent: July 17, 2012Assignee: Microsoft CorporationInventors: Igor Sedukhin, Daniel Eshner, Erik B. Christensen, Amol Sudhakar Kulkarni, Prasad Sripathi Panditharadhya, Girish Mittur Venkataramanappa, Vladimir Pogrebinsky, Haoran Andy Wu
-
Patent number: 8191040Abstract: An application program interface (API) provides a set of functions that make available support for processing XML documents for application developers who build Web applications on Microsoft Corporation's .NET™ platform.Type: GrantFiled: January 12, 2007Date of Patent: May 29, 2012Assignee: Microsoft CorporationInventors: Anders Hejlsberg, Daniel Dedu-Constantin, Erik B. Christensen, Keith W. Ballinger, Mark W. Fussell, Neetu Rajpal, Nithyalakshmi Sampathkumar, Omri Gazitt, Stefan H. Pharies, William A. Adams, Yan Leshinsky, Chia-Hsun Chen, Christopher J. Lovett
-
Patent number: 8117589Abstract: The described method and system synchronizes source code with byproducts or artifacts of an application creation process. In one embodiment, a generation tool may be used to produce source code header files based on a design specification, where the source code header files are compiled with a current version of source code. Compilation errors may direct a developer to modify either the specification or the source code to eliminate the errors. The described method and system may be integrated into a development platform that is adapted to direct the user to perform particular revisions or updates to bring the source code in line with the artifacts.Type: GrantFiled: June 26, 2008Date of Patent: February 14, 2012Assignee: Microsoft CorporationInventors: Erik B. Christensen, Michael J. Coulson, Vaithialingam B. Balayoghan, Sermet Iskin
-
Publication number: 20110264702Abstract: Encoding and/or decoding of messages. On the encoding end, a composite encoder encodes message from an internal format that is used by internal system components into an external format. However, the composite encoder may encode the outgoing messages into different external formats on a per-message basis. For incoming message, a composite decoder decodes incoming messages from any one of a plurality of external formats into the internal format also on a per-message basis. A per-message report mechanism permits internal system components and the encoding/decoding components to communicate information regarding the encoding or decoding on a per message basis. XML messages can be converted automatically into Binary messages.Type: ApplicationFiled: July 5, 2011Publication date: October 27, 2011Applicant: Microsoft CorporationInventors: Stephen Jared Maine, Michael J. Coulson, Tirunelvei R. Vishwanath, Erik B. Christensen
-
Publication number: 20110219383Abstract: The present invention extends to methods, systems, and computer program products for processing model based commands for distributed applications. Embodiments facilitate execution of model-based commands, including software lifecycle commands, using model-based workflow instances. Data related to command execution is stored in a shared repository such that command processors can understand their status in relationship to workflow instances. Further, since the repository is shared, command execution can be distributed and balanced across a plurality of different executive services. Embodiments also include model-based error handling and error recovery mechanisms.Type: ApplicationFiled: May 18, 2011Publication date: September 8, 2011Applicant: Microsoft CorporationInventors: Karthik Arun Nanjangud Bhaskar, Erik B. Christensen, Amol Sudhakar Kulkarni, Prasad Sripathi Panditharadhya, Sundeep Sahi, Igor Sedukhin, Haoran Andy Wu
-
Patent number: 8001189Abstract: A routing protocol is provided for exchanging messages between an initial sender and an ultimate receiver, potentially via a set of intermediaries. The routing protocol provides an optional reverse message path that enables two-way message exchange patterns. The routing protocol can be expressed as a header entry within a message envelope, is independent of the underlying protocol, and can be generated at the application layer of a protocol stack. The routing protocol may allow each intermediary to process the message and dynamically alter the message path en route to the intended recipient.Type: GrantFiled: October 15, 2002Date of Patent: August 16, 2011Assignee: Microsoft CorporationInventors: Henrik F. Nielsen, John P. Shewchuk, Erik B. Christensen, Alfred M. Lee, Christian Huitema, James M. Lyon, Mark H. Lukovsky, Andrew J. Layman, Satish R. Thatte, Christopher Kaler
-
Patent number: 7974939Abstract: The present invention extends to methods, systems, and computer program products for processing model based commands for distributed applications. Embodiments facilitate execution of model-based commands, including software lifecycle commands, using model-based workflow instances. Data related to command execution is stored in a shared repository such that command processors can understand their status in relationship to workflow instances. Further, since the repository is shared, command execution can be distributed and balanced across a plurality of different executive services. Embodiments also include model-based error handling and error recovery mechanisms.Type: GrantFiled: October 26, 2007Date of Patent: July 5, 2011Assignee: Microsoft CorporationInventors: Karthik Arun Nanjangud Bhaskar, Erik B. Christensen, Amol Sudhakar Kulkarni, Prasad Sripathi Panditharadhya, Sundeep Sahi, Igor Sedukhin, Haoran Andy Wu
-
Patent number: 7949720Abstract: Embodiments described herein provide for an overall object mode that allows for a single message object to represent multiple messaging formats. A general message object is populated with fields for multiple available messaging formats, which can be appropriately filled with information with fields for both versions 1.1 and 1.2. Depending on which version is being used or desired, the appropriate fields can be populated when creating an instance of the message object. The other fields that do not correspond to that version, however, are left blank.Type: GrantFiled: August 31, 2006Date of Patent: May 24, 2011Assignee: Microsoft CorporationInventors: Michael S. Vernal, Aaron Stern, Donald F. Box, Erik B. Christensen, Kenneth D. Wolf, Michael J. Coulson, Stefan H. Pharies, Luis Filipe Cabrera
-
Patent number: 7925710Abstract: Embodiments described herein provide for a message object that simultaneously exposes an XML view and Type view for a message infoset. In this embodiment, interaction with a message can occur using either an XML or Type application program interface (API), which are synced. More specifically, embodiments herein provide or expose a common set of headers (e.g., SOAP headers) as “typed” properties (e.g., CLR properties), which allow for getting and/or setting a value thereof. In other words, the Type API reads/writes values for typed properties without regard to how the message is encoded with XML. Moreover, the two APIs are synced such that a value can be set using one API and retrieved using the other. For example, an XML API may be used as a writing mechanism for interacting with a value, while the Type API can read that same value, and vise-versa.Type: GrantFiled: August 31, 2006Date of Patent: April 12, 2011Assignee: Microsoft CorporationInventors: Michael S. Vernal, Donald F. Box, Douglas M. Purdy, Eugene Osovetsky, Kenneth D. Wolf, Stephen T. Swartz, Erik B. Christensen, Stefan H. Pharies
-
Patent number: 7926070Abstract: The present invention extends to methods, systems, and computer program products for performing requested commands for model-based applications. Embodiments of the invention permit efficient implementation of operations for model-based applications. Since drivers that are to implement an operation request data for implementing the operation, embodiments significantly reduce the likelihood of superfluous data being exchanged between an executive service and drivers. Further, if an operation is interrupted before implementation is complete, the operation can be resumed without having to re-perform already completed portions of the operation. Additionally, a user can be regularly updated on the progress of their commands.Type: GrantFiled: October 26, 2007Date of Patent: April 12, 2011Assignee: Microsoft CorporationInventors: Igor Sedukhin, Daniel Eshner, Erik B. Christensen, Amol Sudhakar Kulkarni, Prasad Sripathi Panditharadhya, Girish Mittur Venkataramanappa, Vladimir Pogrebinsky, Haoran Andy Wu, Stephen T. Swartz, Sundeep Sahi, Sumit Mohanty
-
Patent number: 7921216Abstract: The present invention provides for an automated, user friendly way of constructing and using a binding object. A developer is presented with and selects binding elements that will ultimately be used to create a runtime communication channel for transporting a message between a client and service endpoint. After receiving the user input, metadata, a channel factory and listener factory are created. The metadata describes binding elements and provides an abstract representation of a protocol stack that implements communication aspects at runtime. The channel factory is configured to use the collection of metadata at runtime to generate the runtime communication channel. Further, the listener factory is configured to accept the runtime communication channel for de-multiplexing the communication aspects in order to process the message at a service endpoint. The present invention also provides for groupings of binding elements and standardized binding objects organized based on industry need.Type: GrantFiled: February 1, 2005Date of Patent: April 5, 2011Assignee: Microsoft CorporationInventors: Craig A. Critchley, David A. Wortendyke, Elliot L. Waingold, Eric K. Zinda, Erik B. Christensen, Giovanni M. Della-Libera, Kenneth D. Wolf, Michael S. Vernal, Shy Cohen, Stefan H. Pharies, Stephen J. Millet, Stephen T. Swartz, Tomasz Janczuk, Uday S. Hegde, Yaniv Pessach
-
Patent number: 7899047Abstract: Methods and systems for providing a virtual network are disclosed. At least one layer of abstraction is created between network service applications and conventional network protocols by inserting an adaptive dispatcher between applications and network transport services on each machine in a network. The message protocol in the virtual network is extensible, allowing application programs to create new headers within any message as needed. The adaptive dispatcher contains handlers that route and dispatch messages within the virtual network based on arbitrary content within each message, including any combination of headers and/or data content. Each device on the virtual network has a virtual address to which messages are directed, allowing devices to move within the network without reconfiguring routing tables.Type: GrantFiled: August 13, 2007Date of Patent: March 1, 2011Assignee: Microsoft CorporationInventors: Luis F. Cabrera, Erik B. Christensen, Giovanni M. Della-Libera, Christopher G. Kaler, David E. Levin, Bradford H. Lovering, Steven E. Lucco, Stephen J. Millet, John P. Shewchuk, Robert S. Wahbe, David A. Wortendyke
-
Patent number: 7882236Abstract: The present invention provides for a channel model capable of generating a runtime communication channel with pluggable modular channel components. These channel components implement one of a set of standard interfaces that allow processing details of communication semantics between components to be represented in a polymorphic way. A message and corresponding communication semantics are recursively passed through the channel components using the standard interface, thereby abstracting other modules and components from specific implementation details of how the communication semantics are performed. The message may then be sent to the next appropriate module for further processing, or the processing may be completed at that particular component or module. Note also that the message can also be de-multiplexed on the service side in a similar fashion as that described above.Type: GrantFiled: February 4, 2005Date of Patent: February 1, 2011Assignee: Microsoft CorporationInventors: Bradford H. Lovering, David A. Wortendyke, Waingold L. Elliot, Erik B. Christensen, Kenneth D. Wolf, Michael S. Vernal, Shy Cohen, Stefan H. Pharies
-
Patent number: 7814198Abstract: Enabling and processing events. To enable events, an application model correlated to an application is declaratively defined. The application model describes operations of the application. One or more event models correlated to the application model are declaratively defined. The event models describe application execution locations where events are desired to be emitted in the execution of the application. Based on the correlation of the event models to the application models, the applications are instrumented with instrumentation code to cause the application to emit events at the execution locations. To process events an application model is defined. The application model includes one or more observation models. The observation models include a correlation of events to the observation model by defining instrumentation models in the application model. An event is received. The event is applied to the observation model based on the correlation. The event is processed according to the observation model.Type: GrantFiled: October 26, 2007Date of Patent: October 12, 2010Assignee: Microsoft CorporationInventors: Erik B. Christensen, Igor Sedukhin, Amol Sudhakar Kulkarni, Mariusz G. Borsa, Haoran Andy Wu, Mandyam N. Kishore, Leo S. Vannelli, III, Anubhav Dhoot
-
Patent number: 7814211Abstract: Embodiments described herein provide a user with the ability to vary the encoding of a message object rather than being bound to a specific one, e.g., the text encoding for SOAP messaging. Accordingly, a message encoding factory is provided that is responsible for mapping a message object (e.g., SOAP Infoset) into raw octets suitable for wire transmission. By encapsulating the notion of a message encoder factory abstractly, embodiments allow users to vary the encoding of an Infoset without varying the programming model (or any other aspect of the system that uses message). In other words, embodiments herein separate the transport (e.g., TCP, HTTP, etc.) from the encoding, which allows users to use any number of encoding mechanisms—even their own proprietary ones.Type: GrantFiled: August 31, 2006Date of Patent: October 12, 2010Assignee: Microsoft CorporationInventors: Michael S. Vernal, Aaron Stern, Donald F. Box, Erik B. Christensen, Kenneth D. Wolf, Michael J. Coulson, Elliot L. Waingold, Luis Felipe Cabrera