Patents by Inventor Christopher G. Kaler

Christopher G. Kaler 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: 6978281
    Abstract: Systems, clients, servers, methods, and computer-readable media of varying scope are described that maintain versions of data related to projects. Included in the system is a visual interface, a source repository and a project database. The source repository maintains versions of source code associated with a software development project. The project database maintains project data associated with the project. The project database maintains versions of the project data. The visual interface provides a mechanism for reading and updating the project data. As project data is updated a method is invoked in which a current version of the data is located. The current version is determined by examining which data structure has an end-time value that is blank or null. The current version's end-time is set to the current time (i.e. the time of the update), thereby turning the current version into a previous version of the project data. A new data structure is created that contains the updated value.
    Type: Grant
    Filed: November 21, 2000
    Date of Patent: December 20, 2005
    Assignee: Microsoft Corporation
    Inventors: Steven J. Kruy, Christopher G. Kaler, Kenneth D. Hardy, Martyn S. Lovell
  • Patent number: 6973466
    Abstract: A configuration management system creates (602) each configuration by assigning a configuration identifier to each configuration. In addition, relational information is computed (706) that indicates the relationships between the configuration and any configurations upon which it is based. The system then tracks (604) changes to files of the configuration by storing information associating each new file version with the configuration identifier. The system also tracks (1210) changes to file properties. A configuration is then reconstructed (608) as of a desired date, by identifying (2104, 2106) the file versions and properties associated with that configuration as of the desired date. A determination is made (2110) whether a user that has requested the file versions has access privileges by first checking a security cache (2600) for the user privileges information. If the information is not on the cache, it is computed from a security table (2800) and stored on the cache.
    Type: Grant
    Filed: May 21, 2004
    Date of Patent: December 6, 2005
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
  • Patent number: 6928447
    Abstract: A configuration management system creates (602) each configuration by assigning a configuration identifier to each configuration. In addition, relational information is computed (706) that indicates the relationships between the configuration and any configurations upon which it is based. The system then tracks (604) changes to files of the configuration by storing information associating each new file version with the configuration identifier. The system also tracks (1210) changes to file properties. A configuration is then reconstructed (608) as of a desired date, by identifying (2104, 2106) the file versions and properties associated with that configuration as of the desired date. A determination is made (2110) whether a user that has requested the file versions has access privileges by first checking a security cache (2600) for the user privileges information. If the information is not on the cache, it is computed from a security table (2800) and stored on the cache.
    Type: Grant
    Filed: May 21, 2004
    Date of Patent: August 9, 2005
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
  • Patent number: 6915507
    Abstract: A software development system or versifying system has a collection of modules for performing individual development functions such as document editing, keyword processing, and private-copy management. Each module has an interface compatible with that of the others, so that modules can be added to or substituted for the original modules, if the new modules conform to the interface. The architecture of this system supports the performance of development actions such as document merging and keyword expansion at any location within the system. The system software interfaces to a keyword processing subsystem comprising a plurality of expanders for processing different sets of keywords and a keyword broker for selecting among the expanders, whereby the client can access resources of the software development service providers for development services identified using the keywords.
    Type: Grant
    Filed: November 21, 2000
    Date of Patent: July 5, 2005
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Martyn S. Lovell, Michael J. Grier, Bradley J. Bartz
  • Patent number: 6842904
    Abstract: Some large software development projects need more than one versioning system to accommodate not only a diversity of document formats and data types, but also the geographic diversity of its programmers. However, having more than one versioning systems is generally very expensive. A major factor in this expense is the requirement for a separate application program interface (API) for each separate versioning system. Accordingly, the inventors devised an exemplary API architecture which can be extended with “plug-in” protocol providers to include virtually any number of separate version stores or versioning systems. The exemplary architecture includes a generic command parser and a command dispatcher. The command dispatcher operatively couples to one or more protocol providers, each coupled to at least one version store.
    Type: Grant
    Filed: November 21, 2000
    Date of Patent: January 11, 2005
    Assignee: Microsoft Corporation
    Inventors: Bradley J. Bartz, Michael R. Santoro, Christopher G. Kaler, Zachary L. Anderson, Christopher D. Reeves
  • Publication number: 20040243800
    Abstract: Reliable end-to-end messaging in which tracking and acknowledgement information are contained in the electronic message that is visible to layers above the transport layer, thereby being independent of what transport protocols, and whether different transport protocols, are used to communicate between the two end points. Furthermore, acknowledgment messages may identify multiple ranges of sequence numbers corresponding to received electronic messages, thereby permitting further flexibility and completeness in acknowledging received messages.
    Type: Application
    Filed: May 28, 2003
    Publication date: December 2, 2004
    Applicant: Microsoft Corporation
    Inventors: David E. Langworthy, Christopher G. Kaler, Luis Felipe Cabrera, Patrick J. Helland, Steven E. Lucco, John P. Shewchuk
  • Publication number: 20040216089
    Abstract: A configuration management system creates (602) each configuration by assigning a configuration identifier to each configuration. In addition, relational information is computed (706) that indicates the relationships between the configuration and any configurations upon which it is based. The system then tracks (604) changes to files of the configuration by storing information associating each new file version with the configuration identifier. The system also tracks (1210) changes to file properties. A configuration is then reconstructed (608) as of a desired date, by identifying (2104, 2106) the file versions and properties associated with that configuration as of the desired date. A determination is made (2110) whether a user that has requested the file versions has access privileges by first checking a security cache (2600) for the user privileges information. If the information is not on the cache, it is computed from a security table (2800) and stored on the cache.
    Type: Application
    Filed: May 21, 2004
    Publication date: October 28, 2004
    Applicant: Microsoft Corporation
    Inventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
  • Publication number: 20040215646
    Abstract: A configuration management system creates (602) each configuration by assigning a configuration identifier to each configuration. In addition, relational information is computed (706) that indicates the relationships between the configuration and any configurations upon which it is based. The system then tracks (604) changes to files of the configuration by storing information associating each new file version with the configuration identifier. The system also tracks (1210) changes to file properties. A configuration is then reconstructed (608) as of a desired date, by identifying (2104, 2106) the file versions and properties associated with that configuration as of the desired date. A determination is made (2110) whether a user that has requested the file versions has access privileges by first checking a security cache (2600) for the user privileges information. If the information is not on the cache, it is computed from a security table (2800) and stored on the cache.
    Type: Application
    Filed: May 21, 2004
    Publication date: October 28, 2004
    Applicant: Microsoft Corporation
    Inventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
  • Publication number: 20040216090
    Abstract: A configuration management system creates (602) each configuration by assigning a configuration identifier to each configuration. In addition, relational information is computed (706) that indicates the relationships between the configuration and any configurations upon which it is based. The system then tracks (604) changes to files of the configuration by storing information associating each new file version with the configuration identifier. The system also tracks (1210) changes to file properties. A configuration is then reconstructed (608) as of a desired date, by identifying (2104, 2106) the file versions and properties associated with that configuration as of the desired date. A determination is made (2110) whether a user that has requested the file versions has access privileges by first checking a security cache (2600) for the user privileges information. If the information is not on the cache, it is computed from a security table (2800) and stored on the cache.
    Type: Application
    Filed: May 21, 2004
    Publication date: October 28, 2004
    Applicant: Microsoft Corporation
    Inventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
  • Publication number: 20040199638
    Abstract: An initiating application layer and at an initiating message processor identifies offer information for negotiating an application layer agreement such as, for example, the communication properties of a communication channel, with one or more other message processors. The initiating message processor sends a schema-based offer including the offer information to the one or more other message processors. A receiving application layer at a receiving message processor receives the schema-based offer. In response, a receiving application layer at the receiving message processor identifies response information, such as, for example, indicating an acceptance, a rejection or a counter offer to the schema-based offer, for negotiating the application layer agreement. The receiving message processor sends a schema-based response including the response information to the initiating message processor.
    Type: Application
    Filed: February 20, 2003
    Publication date: October 7, 2004
    Inventor: Christopher G. Kaler
  • Publication number: 20040199586
    Abstract: A message processor accesses an electronic message. The accessing message processor identifies, from within the electronic message, any communication session information associated with the accessing message processor. This can include identifying expressive XML instructions or XML data structures representing communication sessions or message sequences. The accessing message processor determines if any session information within the electronic message is to be modified. This can include inserting session information for new sessions or message sequences, updating existing session information, or removing session information for terminated or expired communication sessions or message sequences. The accessing message processor then routes the electronic message to another message processor. In some embodiments, an initiating message processor identifies cached session information that is used to initially establish a communication session.
    Type: Application
    Filed: February 21, 2003
    Publication date: October 7, 2004
    Inventors: Christopher G. Kaler, David E. Langworthy, John P. Shewchuk
  • Publication number: 20040193720
    Abstract: A network site often provides multiple offerings, each having their own context. The complete context for one of the offerings is stored. That complete context represents a root node in a hierarchical tree of context nodes, each node representing the context information for one or more of the offerings. Each node in the tree includes a reference to its parent node, and then a description of incremental changes to the context information as compared to the context information from the parent node. Accordingly, the context information for a particular node in the tree may be obtained by combining the complete context for the root node offering with incremental changes described in other nodes in the ancestral chain that leads from the particular offering to the root offering.
    Type: Application
    Filed: March 31, 2003
    Publication date: September 30, 2004
    Inventors: Christopher G. Kaler, Erik B. Christensen, Giovanni M. Della-Libera, John P. Shewchuk, Stephen J. Millet, Steven E. Lucco
  • Publication number: 20040193911
    Abstract: A flexible way of expressing trust policies using, for example, XML. Multiple statement types may be expressed for a single authority type. Statement types may include less than all of the statements made by an authority type. Authority types may be defined using any manner interpretable by the computing system using the trust policy. In addition, trust policies may be updated as trust levels change. Even multiple trust policies may be used with reconciliation between the multiple trust policies being accomplished by using the more restrictive trust policy with respect to an assertion.
    Type: Application
    Filed: March 31, 2003
    Publication date: September 30, 2004
    Inventors: Christopher G. Kaler, John P. Shewchuk, Giovanni M. Della-Libera, Praerit Garg, Brendan W. Dixon
  • Patent number: 6766334
    Abstract: A configuration management system creates (602) each configuration by assigning a configuration identifier to each configuration. In addition, relational information is computed (706) that indicates the relationships between the configuration and any configurations upon which it is based. The system then tracks (604) changes to files of the configuration by storing information associating each new file version with the configuration identifier. The system also tracks (1210) changes to file properties. A configuration is then reconstructed (608) as of a desired date, by identifying (2104, 2106) the file versions and properties associated with that configuration as of the desired date. A determination is made (2110) whether a user that has requested the file versions has access privileges by first checking a security cache (2600) for the user privileges information. If the information is not on the cache, it is computed from a security table (2800) and stored on the cache.
    Type: Grant
    Filed: November 21, 2000
    Date of Patent: July 20, 2004
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Steven J. Kruy, Martyn S. Lovell, Michael J. Grier
  • Publication number: 20040139352
    Abstract: A requesting message processor identifies client security input data of a first format and encapsulates the client security input data within a client security token. A requesting token processing interface sends the client security token to a validating message processor. A validating token processing interface at the validating message processor receives the client security token. Based on the encapsulated client security input data, the validating message processor selects client security output data of a second format. The validating message processor encapsulates the security output data within a response security token. The validating token processing interface sends the response security token to the requesting message processor. The token processing interfaces can be configured to similarly abstract security input data and security output data so as to increase the possibility of compatible communication between the requesting and validating message processor.
    Type: Application
    Filed: January 15, 2003
    Publication date: July 15, 2004
    Inventors: John P. Shewchuk, Giovanni M. Della-Libera, Christopher G. Kaler
  • Publication number: 20040139152
    Abstract: A client issues a first electronic request to access a service at a server. The server receives the request and identifies a type of challenge form among a number of different types of challenges (e.g., represented by a number of different XML schemas). The server issues a challenge, in accordance with the identified type of challenge, to the client. The challenge can include state information that indicates to the server when an appropriate response to the challenge is received. The client receives the challenge and formulates a response (including the state information) to the challenge in accordance with the identified type of challenge. The client issues a second electronic request, which includes the formulated response. The server receives the response and determines, based on the response, if the second electronic request is to be processed.
    Type: Application
    Filed: January 10, 2003
    Publication date: July 15, 2004
    Inventors: Christopher G. Kaler, Giovanni M. Della-Libera
  • Publication number: 20040139322
    Abstract: A first application layer at a first message processor identifies a first portion of context information. A second message processor receives the first portion of context information. A second application layer at the second message processor identifiers a second portion of context information. The second message processor sends the second portion of context information along with a first digital signature created from both the first and second portions of context information. The first message processor receives the second portion of context information and first digital signature. The first message processor sends a second digital signature created from the first and second portions of context information to the second message processor. If both the first and second digital signatures are authenticated, a secure context can be established between the first and second application layers.
    Type: Application
    Filed: January 10, 2003
    Publication date: July 15, 2004
    Inventors: Christopher G. Kaler, Giovanni M. Della-Libera, John P. Shewchuk
  • Publication number: 20040111600
    Abstract: A plurality of message processors exchange public and secret information. Based on the exchanged information, each message processor computes a key sequence such that any one of a plurality of keys may be derived from the key sequence depending on key derivation data. A first message processor generates key derivation data that can be used to derive a particular key from among the plurality of keys. The first message processor sends a security token that includes the generated key derivation data to express to at least one other message processor how to derive the particular key from the computed key sequence. At least a second message processor receives the security token expressing how to derive the particular key from the computed key sequence. The first and/or second message processors apply the key derivation data to the computed key sequence to derive the particular key.
    Type: Application
    Filed: December 5, 2002
    Publication date: June 10, 2004
    Inventors: Christopher G. Kaler, Giovanni M. Della-Libera, Elliot L. Waingold
  • Publication number: 20040111474
    Abstract: A originating computing system sends an electronic message to a destination computing system via a routing path that includes one or more intermediary message processing computing systems. The originating computing system includes information in the electronic message that designates constraints related to resources or time use to delivery the message. For example, the constraints may include the number of hops, the amount of raw time, or the amount of processor time needed to delivery the message. If along the routing path, any of the intermediary computing systems detects that any of the constraints have been exceeded, then delivery of the electronic message may be abandoned. Any of the intermediary message processing computing systems may also specify constraints related to the resources or time used to delivery the electronic message.
    Type: Application
    Filed: December 5, 2002
    Publication date: June 10, 2004
    Inventors: Christopher G. Kaler, Steven E. Lucco
  • Patent number: 6742143
    Abstract: A method and apparatus for analyzing the performance of a data processing system, particularly a distributed data processing system, provide a system user with tools for analyzing an application running thereon. Information about the flow and performance of the application can be specified, captured, and analyzed, without modifying it or degrading its performance or data security characteristics, even if it is distributed across multiple machines. The user interface permits the system user to filter the performance information, to set triggers which the performance analyzer is able to reduce and/or combine, to observe multiple time-synchronized displays of performance data either in real time or post mortem, and to play and re-play the operation of an automatically generated application model. The invention is implemented in part by providing suitable Application Program Interfaces (APIs) in the operating system of the data processing system.
    Type: Grant
    Filed: September 12, 2002
    Date of Patent: May 25, 2004
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Martyn S. Lovell, Robert S. Wabbe, William J. Ferguson, Oliver J. Sharp