Patents by Inventor Andrew D. Milligan

Andrew D. Milligan 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: 8489759
    Abstract: A system and methods for service discovery and publication are disclosed. Application programs write requests for service discovery, publication, and subscription to a service discovery application programming interface. The service discovery application programming interface invokes one or more lower-level protocols to satisfy the discovery, publication and/or subscription request. Service information retrieved from lower-layer protocols is formatted into a consistent data model and returned to the client application. In addition, service information may be stored in a persistent data store managed by a discovery persistence service communicatively connected to the service discovery API.
    Type: Grant
    Filed: May 6, 2010
    Date of Patent: July 16, 2013
    Assignee: Microsoft Corporation
    Inventors: Jeffrey B. Parham, Charles R. Reeves, Lawrence A. Buerk, Angela Mills, Richard L. Hasha, Gopal Krishna R. Kakivaya, Andrew D. Milligan
  • Publication number: 20100217782
    Abstract: A system and methods for service discovery and publication are disclosed. Application programs write requests for service discovery, publication, and subscription to a service discovery application programming interface. The service discovery application programming interface invokes one or more lower-level protocols to satisfy the discovery, publication and/or subscription request. Service information retrieved from lower-layer protocols is formatted into a consistent data model and returned to the client application. In addition, service information may be stored in a persistent data store managed by a discovery persistence service communicatively connected to the service discovery API.
    Type: Application
    Filed: May 6, 2010
    Publication date: August 26, 2010
    Applicant: Microsoft Corporation
    Inventors: Andrew D. Milligan, Charles R. Reeves, Jeffrey B. Parham, Gopal Krishna R. Kakivaya, Lawrence A. Buerk, Angela Mills, Richard L. Hasha
  • Patent number: 7716357
    Abstract: A system and methods for service discovery and publication are disclosed. Application programs write requests for service discovery, publication, and subscription to a service discovery application programming interface. The service discovery application programming interface invokes one or more lower-level protocols to satisfy the discovery, publication and/or subscription request. Service information retrieved from lower-layer protocols is formatted into a consistent data model and returned to the client application. In addition, service information may be stored in a persistent data store managed by a discovery persistence service communicatively connected to the service discovery API.
    Type: Grant
    Filed: October 24, 2003
    Date of Patent: May 11, 2010
    Assignee: Microsoft Corporation
    Inventors: Andrew D. Milligan, Charles R. Reeves, Jeffrey B. Parham, Gopal Krishna R. Kakivaya, Lawrence A. Buerk, Angela Mills, Richard L. Hasha
  • Patent number: 7593994
    Abstract: Example embodiments of the present invention provide a mechanism for allowing developers to define new interfaces and insert custom translational code that implements these new interfaces for legacy components that otherwise cannot communicate in a web service environment. These new interfaces are then exposed to the web service client in such a way that abstracts the web service client from the legacy components interfaces. The objects that implement the new interfaces are referred to herein as “service surrogates” and the new interfaces will be commonly referred to as a, “surrogate interfaces.” These surrogate interfaces may be initialized along with an instance of the service surrogate upon startup of an application that offers the services. In addition, a dynamic web service can simultaneously run along with the service surrogate for those services that may not need the features offered by the service surrogates.
    Type: Grant
    Filed: March 8, 2005
    Date of Patent: September 22, 2009
    Assignee: Microsoft Corporation
    Inventors: Andrew D. Milligan, Harris Syed, John D. Doty, Max Attar Feingold, Saji Abraham
  • Patent number: 7590988
    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 than 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 termination 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: Grant
    Filed: March 8, 2005
    Date of Patent: September 15, 2009
    Assignee: Microsoft Corporation
    Inventors: Andrew D. Milligan, Donald F. Box, Harris Syed, Max Attar Feingold, Saji Abraham
  • Patent number: 7580989
    Abstract: A system and method comprising a client-side manager component that manages access points (such as URLs) to distributed services for client applications. The client application hosts the client-side manager, and specifies criteria for a service. The manager component uses the criteria to query a service registry, such as a UDDI-based registry, and caches the returned list. To use a service, the client calls the manager component on a defined interface, and the manager component returns one of the cached access points. The cached access points may be returned based on an ordering, such as to distribute requests among services. If the service fails, the client calls a failure-related method of the manager component with failure details, and retrieves a new access point. The manager component reports the error to an error handling service, whereby the error information may be used in a quality of service statistic at the service registry.
    Type: Grant
    Filed: June 30, 2003
    Date of Patent: August 25, 2009
    Assignee: Microsoft Corporation
    Inventors: Charles R. Reeves, Jr., Andrew D. Milligan, Lucas R. Melton
  • Patent number: 7571208
    Abstract: The present invention extends to methods, systems, and computer program products for creating proxies from service description metadata at runtime. A proxy creation request is received from a requesting application while the requesting application is executing at runtime. The proxy creation request requests creation of a proxy instance to facilitate compatible communication between the requesting application and another application. A proxy instance is created in response to the proxy creation request. Service description metadata describing the other application is accessed (e.g., through a request to a metadata service or retrieval from cache). The proxy instance is configured in accordance with the service description metadata describing the other application. Accordingly, the proxy instance can facilitate compatible communication between the requesting application and the other application to implement operations that the requesting application requests to be performed at the other application.
    Type: Grant
    Filed: November 30, 2005
    Date of Patent: August 4, 2009
    Assignee: Microsoft Corporation
    Inventors: Harris Syed, Andrew D. Milligan
  • Patent number: 7447677
    Abstract: A system and method for enabling UDDI client applications to interactively obtain taxonomy information from a UDDI server and thereby present that information to a user, such as to enable navigation through the taxonomy. An application programming interface is provided by which a client application sends a unique taxonomy identifier and a relationship qualifier (e.g., root, parent and/or child) to a server. The client may also identify a reference node within the taxonomy. The server receives the (e.g., XML) request message, and extracts the data to query a database based on the relationship qualifier (or qualifiers) and the taxonomy/reference node. Based on the query results, the server returns a response that provides relationship information to the client, such as information on root, parent and/or child nodes that satisfy the request. The client interprets the response to present the taxonomy, such as for user navigation through the taxonomy.
    Type: Grant
    Filed: June 27, 2003
    Date of Patent: November 4, 2008
    Assignee: Microsoft Corporation
    Inventors: Andrew D. Milligan, Charles R. Reeves, Jr.
  • Publication number: 20040267718
    Abstract: A system and method for enabling UDDI client applications to interactively obtain taxonomy information from a UDDI server and thereby present that information to a user, such as to enable navigation through the taxonomy. An application programming interface is provided by which a client application sends a unique taxonomy identifier and a relationship qualifier (e.g., root, parent and/or child) to a server. The client may also identify a reference node within the taxonomy. The server receives the (e.g., XML) request message, and extracts the data to query a database based on the relationship qualifier (or qualifiers) and the taxonomy/reference node. Based on the query results, the server returns a response that provides relationship information to the client, such as information on root, parent and/or child nodes that satisfy the request. The client interprets the response to present the taxonomy, such as for user navigation through the taxonomy.
    Type: Application
    Filed: June 27, 2003
    Publication date: December 30, 2004
    Applicant: MICROSOFT CORPORATION
    Inventors: Andrew D. Milligan, Charles R. Reeves
  • Patent number: 6289391
    Abstract: In a heterogeneous computer system including at least one Client CPU, at least one Server CPU and a common memory disposed therebetween for storing first and second operating systems that control operation of the Client and Server CPUs, respectively. There is provided Client and Server Programs, both of which are stored in the same common memory. The Client Program is executed by the Client CPU and the Server Program is executed by the Server CPU. A method and system is disclosed wherein the Server Program is adapted for making function calls to the Client Program and the Client Program is adapted for returning results of the called function to the Server Program. The Server Program includes Procedures for invoking a Client Program function, converting parameters and result data from a format compatible with the first operating system to one compatible with the second operating system.
    Type: Grant
    Filed: June 25, 1997
    Date of Patent: September 11, 2001
    Assignee: Unisys Corp.
    Inventors: Norman Roy Smith, J. Calvin Hale, Mark Joseph Rentmeesters, Andrew D. Milligan