Patents by Inventor Aaron W. Ogus
Aaron W. Ogus 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: 20110119328Abstract: Systems, methods, and computer storage media for load balancing at a client device in a distributed computing environment based on a dynamic validity duration and utilization metrics of one or more data stores are provided. The client device selects a data store from a plurality of data stores that each maintains a copy of a datum. The selection of data stores by a client is based on utilization metrics of the data stores. The utilization metrics are stored at the client. A data store determines if a request for a particular datum may be fulfilled within a validity period associated with a request from the client. The validity period is dynamically changed by the client across multiple requests to aid in the load balancing process. Additionally, a gossip protocol may be used to propagate utilization metrics of a plurality of data stores across the system.Type: ApplicationFiled: November 18, 2009Publication date: May 19, 2011Applicant: MICROSOFT CORPORATIONInventors: Huseyin Simitci, Aaron W. Ogus, Ramesh Shankar
-
Publication number: 20110119437Abstract: Systems, methods, and computer storage media for storing and retrieving data from a data store in a distributed computing environment are provided. An embodiment includes receiving data at a data store comprising a sequential journal store, RAM, and a non-sequential target store. When RAM utilization is below a threshold, received data is stored to the RAM as a write cache for the target store and the journal store. But, when the utilization is above the threshold, the data is stored to the journal store without write-caching to the RAM for the target store. When the RAM utilization falls below a threshold, data committed to the journal store, but not write-cached to the RAM for the target store, is later read from the journal store and write-cached to the RAM for a target store.Type: ApplicationFiled: November 13, 2009Publication date: May 19, 2011Applicant: MICROSOFT CORPORATIONInventors: Aaron W. Ogus, Yiking Xu, Bradley Gene Calder
-
Publication number: 20110099266Abstract: Systems, methods, and computer storage media for upgrading a domain in a distributed computing environment are provided. Upgrading of the domain includes preparing for the upgrade, upgrading, and finalizing the upgrade. The preparation of the domain includes ensuring predefined quantities of role instances are available in domains other than the upgrade domain. The preparation also includes ensuring that a predefined number of extent replicas are available in domains other than the upgrade domain. The preparation may also include checkpointing partitions within the upgrade domain to facilitate faster loading once transferred to a domain other than the upgrade domain. The finalization may include allowing nodes within the upgrade domain to resume functionality that was suspended during the upgrade.Type: ApplicationFiled: October 26, 2009Publication date: April 28, 2011Applicant: Microsoft CorporationInventors: Bradley Gene Calder, Samuel James McKelvie, Aaron W. Ogus, Arild E. Skjolsvold, Hakon Gabriel Verespej, Ju Wang
-
Patent number: 7803054Abstract: Multiple vehicles being simulated at multiple devices are coordinated across a network as part of a shared gaming experience. Participating devices initially synchronize a time base using a designated host device. During game play, local devices simulate local vehicles. Local devices also produce predicted vehicle states for the local vehicles and transmit the predicted vehicle states to remote devices with regard to network latency. Remote devices in turn produce interpolated vehicle states from the predicted vehicles states and then render the vehicles using the interpolated vehicle states. Interpolation values may also be employed to maintain the synchronized time base. Additionally, the interpolations may be tuned, especially with respect to collisions, by a glancing collisions handler, a dragging collisions effectuator, and/or a remote vehicle damage agent.Type: GrantFiled: March 31, 2004Date of Patent: September 28, 2010Assignee: Microsoft CorporationInventors: Aaron W. Ogus, David E. Glerok, Christopher J. Tector
-
Patent number: 7735083Abstract: A method for setting timers is disclosed in which an array is maintained, each element of which represents a period of time. Events which are to occur within the time period associated with the array element are linked to the array element. The events associated with each array element are executed at a pre-determined time interval. A pointer pointing to the current time period being processed wraps around to the beginning of the array when the end of the array is reached.Type: GrantFiled: October 7, 2004Date of Patent: June 8, 2010Assignee: Microsoft CorporationInventors: Aaron W. Ogus, Evan J. Schrier
-
Patent number: 7177950Abstract: A method is provided for use in a computer system that is operating in a peer-to-peer environment. The peer-to-peer environment has a host peer and at least one non-host peer. The method of the invention is used to order the operation requests of the peers so that operations are performed only in the order that they are processed by the host peer. The method includes providing a list of recognized operations which may be requested by any of the peers in the session. The host peer then receives at least one operation request from one of the peers, the request being selected from the provided list. The host then assigns a unique version number to the operation request, so that all peers within the session can determine the proper order in which to process orders given by the host peer.Type: GrantFiled: April 26, 2001Date of Patent: February 13, 2007Assignee: Microsoft CorporationInventors: Michael J. Narayan, Aaron W. Ogus
-
Patent number: 7072973Abstract: A networking protocol that supports the sending of reliable and non-reliable data in a common sliding window. Data to be transmitted according to the protocol is packaged into packets, where each packet has a header. Each packet carries a sequence number in the header, where the sequence numbers are successively assigned to each outgoing packet. As the packets are received, the recipient of the packets keeps track of the sequence numbers of received packets to determine whether any packets are missing and selectively acknowledges those packets that have been received. The selective acknowledgment is performed using a mask, where each bit in the mask indicates the presence or absence of a packet as an offset from a reference value. Based on the mask, the sender re-sends non-received reliable packets, and creates a second mask which indicates non-reliable non-received packets that will not be re-sent.Type: GrantFiled: June 19, 2001Date of Patent: July 4, 2006Assignee: Microsoft CorporationInventors: Paul E. Newson, Aaron W. Ogus, Roderick M. Toll, Michael J. Narayan, Evan J. Schrier, James M. Boswell
-
Patent number: 6964046Abstract: A method for setting timers is disclosed in which an array is maintained, each element of which represents a period of time. Events which are to occur within the time period associated with the array element are linked to the array element. The events associated with each array element are executed at a pre-determined time interval. A pointer pointing to the current time period being processed wraps around to the beginning of the array when the end of the array is reached.Type: GrantFiled: March 6, 2001Date of Patent: November 8, 2005Assignee: Microsoft CorporationInventors: Aaron W. Ogus, Evan J. Schrier
-
Patent number: 6587875Abstract: A network protocol and associated methods for optimizing use of available bandwidth across a network under varying traffic conditions. The protocol and methods allow the available bandwidth for a link connecting two computers to be determined on an ongoing basis. A method for measuring a clock bias between two computers linked in communication is also presented, along with methods for determining link saturation and dropped messages. The message send rate of the link can be continually tuned based on the measured bandwidth, link saturation condition, number of backlogged messages and/or detection of dropped messages. The protocol and methods preferably are implemented as part of an application program interface. The protocol resides at the application layer, and can be used for various network protocol suites, including TCP/IP and IPX/SPX.Type: GrantFiled: April 30, 1999Date of Patent: July 1, 2003Assignee: Microsoft CorporationInventor: Aaron W. Ogus
-
Publication number: 20020161821Abstract: A method is provided for use in a computer system that is operating in a peer-to-peer environment. The peer-to-peer environment has a host peer and at least one non-host peer. The method of the invention is used to order the operation requests of the peers so that operations are performed only in the order that they are processed by the host peer. The method includes providing a list of recognized operations which may be requested by any of the peers in the session. The host peer then receives at least one operation request from one of the peers, the request being selected from the provided list. The host then assigns a unique version number to the operation request, so that all peers within the session can determine the proper order in which to process orders given by the host peer.Type: ApplicationFiled: April 26, 2001Publication date: October 31, 2002Inventors: Michael J. Narayan, Aaron W. Ogus
-
Patent number: 6438603Abstract: An application layer protocol supports reliable and non-reliable message transfer between a local and remote computer on a shared communications link. The application layer protocol uses a non-reliable transport layer protocol to implement both reliable and non-reliable channels over the shared link. When application programs want to send reliable data messages, they designate the data as such, and the application layer protocol sends the data in reliable messages with a request for acknowledgement. When application programs want to send non-critical data, they designate the data as such, and the application layer protocol sends the data in non-reliable messages that are not re-sent when dropped. Though it does not ensure delivery of non-reliable messages, the application layer selectively uses a request for acknowledge for non-reliable messages to gather operational data about the link.Type: GrantFiled: April 30, 1999Date of Patent: August 20, 2002Assignee: Microsoft CorporationInventor: Aaron W. Ogus
-
Patent number: 5764890Abstract: A method and system for adding a secured network server to an existing network for access by a client thereof, wherein the added server does not possess a database of authentication credentials. The client is first authenticated for access to the added server by passing authentication requests received from the client to an authenticating agent having a database of authentication credentials, which may include information from a bindery comprising users, groups and passwords. The responses from the authenticating agent are then evaluated, and if the response indicates validity, the client is the granted access to the added server. Database services are provided to the authenticated client by first evaluating database requests received from the client. Requests seeking information maintained by the authenticating agent are handled by passing the requests to the authenticating agent and using its response to reply to the client.Type: GrantFiled: July 23, 1997Date of Patent: June 9, 1998Assignee: Microsoft CorporationInventors: Daniel S. Glasser, Thomas R. Reardon, Aaron W. Ogus, Samuel J. McKelvie, George Joy
-
Patent number: 5640394Abstract: A system and method for operating a network client machine to simultaneously utilize two protocol stacks which implement the same protocol. The system and method routes incoming packets of information into the appropriate protocol stack by prescanning the incoming packet and comparing a portion of the packet with a table in memory of sockets used for one of the two stacks. If a match exists with any entry in the table, the system and method routes the packet to the appropriate stack. If no match is found between the incoming packet and the table, the packet may then be offered to the second protocol stack. The unique socket numbers are selected by one of the protocol stacks while both stacks maintain a table of active sockets.Type: GrantFiled: January 16, 1996Date of Patent: June 17, 1997Assignee: Microsoft CorporationInventors: Evan J. Schrier, Thomas R. Reardon, Aaron W. Ogus
-
Patent number: 5485460Abstract: A system and method for operating a network client machine to simultaneously utilize two protocol stacks which implement the same protocol. The system and method routes incoming packets of information into the appropriate protocol stack by prescanning the incoming packet and comparing a portion of the packet with a table in memory of sockets used for one of the two stacks. If a match exists with any entry in the table, the system and method routes the packet to the appropriate stack. If no match is found between the incoming packet and the table, the packet may then be offered to the second protocol stack. The unique socket numbers are selected by one of the protocol stacks while both stacks maintain a table of active sockets.Type: GrantFiled: August 19, 1994Date of Patent: January 16, 1996Assignee: Microsoft CorporationInventors: Evan J. Schrier, Thomas R. Reardon, Aaron W. Ogus