Patents by Inventor Eric N. Bush

Eric N. Bush 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: 8938555
    Abstract: A system, method and data structures for transmitting batched data over a network in asynchronous, non-blocking operations, with acknowledgements returned to the senders. Each machine includes a sender subsystem and a receiver subsystem. Transmission items corresponding to data to be sent are buffered until a send is triggered, at which time the transmission items are sorted according to their destinations and sent as a GUID-identified batch to each destination by a send thread. At each receiver, a receiving thread adds descriptions of the data to a receive list, which a transfer thread processes when triggered. The transfer thread sends the corresponding data to a recipient program, and sends GUID-identified acknowledgements corresponding to each GUID back to the originating senders. An acknowledge thread at each originating sender buffers the acknowledgements, and when triggered, a cleanup thread uses the GUID to identify which batched transmissions were received.
    Type: Grant
    Filed: June 6, 2013
    Date of Patent: January 20, 2015
    Assignee: Microsoft Corporation
    Inventor: Eric N. Bush
  • Publication number: 20130268647
    Abstract: A system, method and data structures for transmitting batched data over a network in asynchronous, non-blocking operations, with acknowledgements returned to the senders. Each machine includes a sender subsystem and a receiver subsystem. Transmission items corresponding to data to be sent are buffered until a send is triggered, at which time the transmission items are sorted according to their destinations and sent as a GUID-identified batch to each destination by a send thread. At each receiver, a receiving thread adds descriptions of the data to a receive list, which a transfer thread processes when triggered. The transfer thread sends the corresponding data to a recipient program, and sends GUID-identified acknowledgements corresponding to each GUID back to the originating senders. An acknowledge thread at each originating sender buffers the acknowledgements, and when triggered, a cleanup thread uses the GUID to identify which batched transmissions were received.
    Type: Application
    Filed: June 6, 2013
    Publication date: October 10, 2013
    Inventor: Eric N. Bush
  • Patent number: 8463937
    Abstract: A system, method and data structures for transmitting batched data over a network in asynchronous, non-blocking operations, with acknowledgements returned to the senders. Each machine includes a sender subsystem and a receiver subsystem. Transmission items corresponding to data to be sent are buffered until a send is triggered, at which time the transmission items are sorted according to their destinations and sent as a GUID-identified batch to each destination by a send thread. At each receiver, a receiving thread adds descriptions of the data to a receive list, which a transfer thread processes when triggered. The transfer thread sends the corresponding data to a recipient program, and sends GUID-identified acknowledgements corresponding to each GUID back to the originating senders. An acknowledge thread at each originating sender buffers the acknowledgements, and when triggered, a cleanup thread uses the GUID to identify which batched transmissions were received.
    Type: Grant
    Filed: August 23, 2006
    Date of Patent: June 11, 2013
    Assignee: Microsoft Corporation
    Inventor: Eric N. Bush
  • Patent number: 7493398
    Abstract: A system, method and data structures for allowing the sharing of a socket among multiple applications. Sockets that are opened as a result of a send or a receive are kept open and tracked for use with other communications. A shared sockets manager receives outgoing transmission requests to a destination machine and uses a shared socket if one is already open, otherwise the shared sockets manager opens a new socket. Sent data is multiplexed and routed via receive request registration, and demultiplexed upon receipt. The shared socket is closed if idle for too long via a negotiated closing process. High priority data may be sent via the socket ahead of other data, and the timers and priority handling mechanisms may be adjusted for each socket to tune the network machines as desired.
    Type: Grant
    Filed: April 16, 2003
    Date of Patent: February 17, 2009
    Assignee: Microsoft Corporation
    Inventor: Eric N. Bush
  • Patent number: 7359915
    Abstract: A system and method for monitoring one or more objects of a class where the class has one or more attributes and each object has an attribute value associated with each attribute. During a user-specified interval, a monitoring application dynamically identifies the objects, examines the attribute values of each identified object, and performs one or more functions in response to the examined values. The user requests the objects to be monitored by specifying the class of the objects. In this manner, the monitoring application monitors software applications that dynamically create objects, where the objects are not individually identified to the monitoring application. The monitoring application compares each of the attribute values of each object against a threshold value associated with that attribute in the class. Based on the result of each comparison, the monitoring application may perform one or more functions as appropriate.
    Type: Grant
    Filed: August 24, 2004
    Date of Patent: April 15, 2008
    Assignee: Microsoft Corporation
    Inventor: Eric N. Bush
  • Patent number: 7103890
    Abstract: A system, method and data structures for transmitting batched data over a network in asynchronous, non-blocking operations, with acknowledgements returned to the senders. Each machine includes a sender subsystem and a receiver subsystem. Transmission items corresponding to data to be sent are buffered until a send is triggered, at which time the transmission items are sorted according to their destinations and sent as a GUID-identified batch to each destination by a send thread. At each receiver, a receiving thread adds descriptions of the data to a receive list, which a transfer thread processes when triggered. The transfer thread sends the corresponding data to a recipient program, and sends GUID-identified acknowledgements corresponding to each GUID back to the originating senders. An acknowledge thread at each originating sender buffers the acknowledgements, and when triggered, a cleanup thread uses the GUID to identify which batched transmissions were received.
    Type: Grant
    Filed: March 24, 2003
    Date of Patent: September 5, 2006
    Assignee: Microsoft Corporation
    Inventor: Eric N. Bush
  • Patent number: 6891552
    Abstract: A system and method of displaying data representing an object of a class where the class has one or more attributes and each object has an attribute value associated with each attribute. The invention includes a collection class such that each statistic to be monitored is represented as an object of the class. The invention allows a software application to access the objects in a database. The invention provides a user interface (UI) attribute within the class that allows the user to specify the UI to display the attribute values of each accessed object. Each available UI is customized to a statistic to be monitored. Each available UI has a unique user interface attribute value. The invention supports any number of UIs supplied by the user, an application developer, or a third party.
    Type: Grant
    Filed: May 8, 2001
    Date of Patent: May 10, 2005
    Assignee: Microsoft Corporation
    Inventor: Eric N. Bush
  • Patent number: 6865580
    Abstract: A system and method for monitoring one or more objects of a class where the class has one or more attributes and each object has an attribute value associated with each attribute. During a user-specified interval, a monitoring application dynamically identifies the objects, examines the attribute values of each identified object, and performs one or more functions in response to the examined values. The user requests the objects to be monitored by specifying the class of the objects. In this manner, the monitoring application monitors software applications that dynamically create objects, where the objects are not individually identified to the monitoring application. The monitoring application compares each of the attribute values of each object against a threshold value associated with that attribute in the class. Based on the result of each comparison, the monitoring application may perform one or more functions as appropriate.
    Type: Grant
    Filed: May 8, 2001
    Date of Patent: March 8, 2005
    Assignee: Microsoft Corporation
    Inventor: Eric N. Bush
  • Publication number: 20040221059
    Abstract: A system, method and data structures for allowing the sharing of a socket among multiple applications. Sockets that are opened as a result of a send or a receive are kept open and tracked for use with other communications. A shared sockets manager receives outgoing transmission requests to a destination machine and uses a shared socket if one is already open, otherwise the shared sockets manager opens a new socket. Sent data is multiplexed and routed via receive request registration, and demultiplexed upon receipt. The shared socket is closed if idle for too long via a negotiated closing process. High priority data may be sent via the socket ahead of other data, and the timers and priority handling mechanisms may be adjusted for each socket to tune the network machines as desired.
    Type: Application
    Filed: April 16, 2003
    Publication date: November 4, 2004
    Applicant: MICROSOFT CORPORATION
    Inventor: Eric N. Bush
  • Publication number: 20040194113
    Abstract: A system, method and data structures for transmitting batched data over a network in asynchronous, non-blocking operations, with acknowledgements returned to the senders. Each machine includes a sender subsystem and a receiver subsystem. Transmission items corresponding to data to be sent are buffered until a send is triggered, at which time the transmission items are sorted according to their destinations and sent as a GUID-identified batch to each destination by a send thread. At each receiver, a receiving thread adds descriptions of the data to a receive list, which a transfer thread processes when triggered. The transfer thread sends the corresponding data to a recipient program, and sends GUID-identified acknowledgements corresponding to each GUID back to the originating senders. An acknowledge thread at each originating sender buffers the acknowledgements, and when triggered, a cleanup thread uses the GUID to identify which batched transmissions were received.
    Type: Application
    Filed: March 24, 2003
    Publication date: September 30, 2004
    Applicant: MICROSOFT CORPORATION
    Inventor: Eric N. Bush
  • Patent number: 6754664
    Abstract: A hierarchical, object-oriented definition of the health of resources on a machine or network. A schema of objects is defined to represent machine and/or network health. One class of objects defines DataGroups that can be nested to represent machine resources. In addition to DataGroup objects, three other types of objects are defined in the schema, namely DataCollectors, Thresholds and Actions. DataCollectors are objects that when instantiated, collect data by polling or event notification. Threshold class objects as defined in the schema are associated with the DataCollector objects, and each provides the threshold or thresholds against which a DataCollector's collected data is evaluated. Action objects specify what happens when a Threshold is violated, such as to send an e-mail, page someone, run a script, execute a command, or send a message alert to a console for an operator to see.
    Type: Grant
    Filed: February 25, 2000
    Date of Patent: June 22, 2004
    Assignee: Microsoft Corporation
    Inventor: Eric N. Bush