Patents by Inventor Craig G. Eisler

Craig G. Eisler 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: 7197049
    Abstract: An application programming interface implements a method for transparently switching from one communication protocol to another and for restoring the state of a previous connection. The application programming interface executes on a local, client computer, as well as remote computers. It includes functions that multi-user application programs can call to communicate in a device independent manner with other applications executing on remote computers. To support communication on a variety of different computer communication protocols, the application programming interface accesses programs called service providers that implement the communication protocols and support the message passing model of the interface. The application programming interface can transparently switch the protocol on a remote computer by sending a system message to a compatible version of the interface on the remote computer that includes an identifier of the service provider for the new protocol.
    Type: Grant
    Filed: August 9, 2002
    Date of Patent: March 27, 2007
    Assignee: Microsoft Corporation
    Inventors: G. Eric Engstrom, Craig G. Eisler
  • Patent number: 7043235
    Abstract: Encoding secondary data with original data for providing robust responses to requests from wireless devices. As a server receives data from various sources for wireless device users, it saves the data, associates it with the corresponding users, and sets flags to provide an indication of the secondary data. When the server receives a request from a wireless device, it can respond to the specific request and check the status of the flags for the user to determine if secondary data exists. If it has secondary data for the user, it encodes that data with original data for generating a response. Upon receiving the response, the wireless device obtains both the data for the original request and the secondary data, or an indication of it, representing other data pending for the user and providing the user with the data without necessarily requiring that the user submit specific requests for it.
    Type: Grant
    Filed: April 16, 2001
    Date of Patent: May 9, 2006
    Assignee: Action Engine Corporation
    Inventors: Shane D. Meyer, Craig G. Eisler, Brian C. Roundtree
  • Patent number: 6983467
    Abstract: An application programming interface (API) enables application programs in a multitasking operating environment to classify portions of their code and data in a group that the operating system loads into physical memory all at one time. Designed for operating systems that implement virtual memory, this API enables memory-intensive application programs to avoid performance degradation due to swapping of units of memory back and forth between the hard drive and physical memory. Instead of incurring the latency of a page fault whenever the application attempts to access code or data in the group that is not located in physical memory, the API makes sure that all of the code or data in a group is loaded into physical memory at one time. This increases the latency of the initial load operation, but reduces performance degradation for subsequent memory accesses to code or data in the group.
    Type: Grant
    Filed: September 2, 2004
    Date of Patent: January 3, 2006
    Assignee: Microsoft Corporation
    Inventors: G. Eric Engstrom, Craig G. Eisler
  • Patent number: 6941553
    Abstract: Use of concepts to dynamically query a user and construct a sentence for responding to a user request. The use of hypertext concept notation permits the linking of related concepts through concept identifiers. The constructed sentence can be dynamically changed by a user selecting a representation of a concept within the sentence, either a complete sentence or one in the process of being constructed. The data for the selected concept can be updated and the new data inserted into the sentence using the links provided by the concept identifiers.
    Type: Grant
    Filed: February 15, 2001
    Date of Patent: September 6, 2005
    Assignee: Action Engine Corporation
    Inventors: Craig G. Eisler, Brian C. Roundtree
  • Publication number: 20030214943
    Abstract: An application programming interface implements a method for transparently switching from one communication protocol to another and for restoring the state of a previous connection. The application programming interface executes on a local, client computer, as well as remote computers. It includes functions that multi-user application programs can call to communicate in a device independent manner with other applications executing on remote computers. To support communication on a variety of different computer communication protocols, the application programming interface accesses programs called service providers that implement the communication protocols and support the message passing model of the interface. The application programming interface can transparently switch the protocol on a remote computer by sending a system message to a compatible version of the interface on the remote computer that includes an identifier of the service provider for the new protocol.
    Type: Application
    Filed: August 9, 2002
    Publication date: November 20, 2003
    Applicant: Microsoft Corporation
    Inventors: G. Eric Engstrom, Craig G. Eisler
  • Patent number: 6463078
    Abstract: An application programming interface implements a method for transparently switching from one communication protocol to another and for restoring the state of a previous connection. The application programming interface executes on a local, client computer, as well as remote computers. It includes functions that multi-user application programs can call to communicate in a device independent manner with other applications executing on remote computers. To support communication on a variety of different computer communication protocols, the application programming interface accesses programs called service providers that implement the communication protocols and support the message passing model of the interface. The application programming interface can transparently switch the protocol on a remote computer by sending a system message to a compatible version of the interface on the remote computer that includes an identifier of the service provider for the new protocol.
    Type: Grant
    Filed: July 22, 1998
    Date of Patent: October 8, 2002
    Assignee: Microsoft Corporation
    Inventors: G. Eric Engstrom, Craig G. Eisler
  • Publication number: 20020004736
    Abstract: Gathering personal information of a target person based upon third-party information. A user submits a request for personal information of a target person along with a request purposes. A system server identifies persons and entities to contact for responding to the request, and it queries the persons and entities to provide personal information of the target person. Based upon received responses, the system compiles and returns to the requestor the gathered personal information possibly with a personal profile of the target person. The system can also query the target person to receive categories of permitted access to the target person's personal information by the requestor.
    Type: Application
    Filed: February 15, 2001
    Publication date: January 10, 2002
    Inventors: Brian C. Roundtree, Craig G. Eisler
  • Publication number: 20020002575
    Abstract: Use of concepts to dynamically query a user and construct a sentence for responding to a user request. The use of hypertext concept notation permits the linking of related concepts through concept identifiers. The constructed sentence can be dynamically changed by a user selecting a representation of a concept within the sentence, either a complete sentence or one in the process of being constructed. The data for the selected concept can be updated and the new data inserted into the sentence using the links provided by the concept identifiers.
    Type: Application
    Filed: February 15, 2001
    Publication date: January 3, 2002
    Inventors: Craig G. Eisler, Brian C. Roundtree
  • Publication number: 20020002594
    Abstract: Rendering of data on user devices using rendering instructions and interaction rules. The data includes concepts representing data elements and having associated concept identifiers. Using the concept identifiers, a system retrieves rendering instructions for the corresponding data element in order to present the data element on a display of a user device. For interactive elements that can be selected by a user, the system retrieves interaction rules in order to determine how to render data for the interactive element based upon the user's selection of it.
    Type: Application
    Filed: February 15, 2001
    Publication date: January 3, 2002
    Inventors: Brian Roundtree, Craig G. Eisler
  • Publication number: 20010049277
    Abstract: Encoding secondary data with original data for providing robust responses to requests from wireless devices. As a server receives data from various sources for wireless device users, it saves the data, associates it with the corresponding users, and sets flags to provide an indication of the secondary data. When the server receives a request from a wireless device, it can respond to the specific request and check the status of the flags for the user to determine if secondary data exists. If it has secondary data for the user, it encodes that data with original data for generating a response. Upon receiving the response, the wireless device obtains both the data for the original request and the secondary data, or an indication of it, representing other data pending for the user and providing the user with the data without necessarily requiring that the user submit specific requests for it.
    Type: Application
    Filed: April 16, 2001
    Publication date: December 6, 2001
    Inventors: Shane D. Meyer, Craig G. Eisler, Brian C. Roundtree
  • Patent number: 6247042
    Abstract: A memory monitor automatically restores the state of physical memory allocation of application programs when they lose and then regain the focus in a multitasking computing environment. The memory monitor monitors the focus of the operating system for changes, such as when the user switches from one application to another. When an application loses the focus, the memory monitor determines and stores the state of physical memory allocation. When the memory monitor detects that the application has re-gained the focus, it re-loads all of the code or data that was in physical memory when the application lost the focus, but had been swapped to secondary storage.
    Type: Grant
    Filed: September 24, 1997
    Date of Patent: June 12, 2001
    Assignee: Microsoft Corporation
    Inventors: G. Eric Engstrom, Craig G. Eisler
  • Patent number: 6134602
    Abstract: An application programming interface (API) enables application programs in a multitasking operating environment to classify portions of their code and data in a group that the operating system loads into physical memory all at one time. Designed for operating systems that implement virtual memory, this API enables memory-intensive application programs to avoid performance degradation due to swapping of units of memory back and forth between the hard drive and physical memory. Instead of incurring the latency of a page fault whenever the application attempts to access code or data in the group that is not located in physical memory, the API makes sure that all of the code or data in a group is loaded into physical memory at one time. This increases the latency of the initial load operation, but reduces performance degradation for subsequent memory accesses to code or data in the group.
    Type: Grant
    Filed: September 24, 1997
    Date of Patent: October 17, 2000
    Assignee: Microsoft Corporation
    Inventors: G. Eric Engstrom, Craig G. Eisler
  • Patent number: 6128713
    Abstract: An application programming interface (API) enables application programs in a multitasking operating environment to control the allocation of physical memory in a virtual memory system. One API function enables applications to designate a soft page lock for code and data. The operating system ensures that the designated code and data is in physical memory when the application has the focus. When the application loses the focus, the pages associated with the code or data are released. When the application regains the focus, the operating system re-loads the pages into physical memory before the application begins to execute. The operating system is allowed to override the soft page lock where necessary. Another API enables applications to designate code or data that should have high priority access to physical memory, without using a lock.
    Type: Grant
    Filed: September 24, 1997
    Date of Patent: October 3, 2000
    Assignee: Microsoft Corporation
    Inventors: Craig G. Eisler, G. Eric Engstrom
  • Patent number: 6078942
    Abstract: A resource management system in a multimedia application programming interface for a media device such as a display controller or a sound device. Applications in a multitasking environment can request exclusive access to the resources of a media device. When an application in exclusive mode gets the focus (has control over user input to the computer), all available resources of a media device are freed for its use. The system stores the state of the media device and automatically restores the state when an application in exclusive mode regains the focus. The multimedia API provides services so that an application can restore specific media resources.
    Type: Grant
    Filed: April 25, 1996
    Date of Patent: June 20, 2000
    Assignee: Microsoft Corporation
    Inventors: Craig G. Eisler, G. Eric Engstrom
  • Patent number: 6044408
    Abstract: In a multimedia API, a method for returning hardware and software capabilities. Multimedia APIs for media devices such as a display device, a sound device and a 3D accelerator each include a function to return the hardware and software capabilities of a particular media device. The hardware capabilities refer to capabilities of a media device such as a display controller, sound device or 3D graphics accelerator, while the software capabilities refer to capabilities of an emulation layer used to emulate functions of a media device. In processing API requests, the multimedia API optimizes the performance of the request by identifying the requested capabilities and determining whether these capabilities are available hardware capabilities. If so, the API instructs the media device to perform the function and passes it the relevant parameters for the request. If not, the API tries to emulate the requested capabilities using the emulation layer.
    Type: Grant
    Filed: April 25, 1996
    Date of Patent: March 28, 2000
    Assignee: Microsoft Corporation
    Inventors: G. Eric Engstrom, Craig G. Eisler
  • Patent number: 6008816
    Abstract: A method for managing color specification in a display device interface for a computer. The display device interface includes services to create palettes, to associate palettes with on or off screen surfaces such as sprites, overlays and textures, and to manipulate the entries in palettes. A method for managing color specification includes creating a palette that stores indices to another palette.
    Type: Grant
    Filed: April 25, 1996
    Date of Patent: December 28, 1999
    Assignee: Microsoft Corporation
    Inventors: Craig G. Eisler, G. Eric Engstrom
  • Patent number: 5964843
    Abstract: A system that supports enhancement of device drivers written in distinct code sets, such as a 32-bit enhancement to a 16-bit existing driver is disclosed. The system defines a mechanism for the two device driver components to share information about their functioning, and for a device interface component to use that information so as to route calls to the device drivers based on their functional capabilities. The system can be implemented in a display device interface to support interaction between applications and video hardware components, which include enhanced device drivers.
    Type: Grant
    Filed: April 25, 1996
    Date of Patent: October 12, 1999
    Assignee: Microsoft Corporation
    Inventors: Craig G. Eisler, G. Eric Engstrom
  • Patent number: 5850232
    Abstract: A method for flipping an image in a window using overlays involves creating an overlay flipping structure and using this structure to control "flipping" of an overlay image in a display device that supports overlays. A display device interface includes services to create and manipulate an overlay flipping structure including a front buffer and a back buffer. To flip in a window, an application program draws its image to the back buffer of the flipping structure while the overlay control in the display controller reads the overlay image from the front buffer. The overlay control superimposes the overlay in the front buffer with the image in the frame buffer. The display device interface controls the flipping of the overlay by determining when it can change the address of the overlay image used by the display controller without causing flipping.
    Type: Grant
    Filed: April 25, 1996
    Date of Patent: December 15, 1998
    Assignee: Microsoft Corporation
    Inventors: G. Eric Engstrom, Craig G. Eisler
  • Patent number: 5844569
    Abstract: A method for generalized flipping of pixmaps and other arrays of image data in a software display device interface for computer generated graphics applications. The display device interface enables application programs to create flipping surface structures representing on and offscreen pixmaps, textures, sprites, overlays, etc. The display device interface includes a flip function to control the flipping of these flipping structures. It also includes functions to synchronize access to the surfaces represented by the flipping structure. Applications and other processes can use these access synchronization functions to manipulate surfaces represented by the flipping structure without conflicting with a client's use of the surface. Clients other than the display controller can act as clients of the flipping operation. For instance, flipping structures can be used to implement video texture mapping, where the client of a texture flipping structure is a 3D rendering system.
    Type: Grant
    Filed: April 25, 1996
    Date of Patent: December 1, 1998
    Assignee: Microsoft Corporation
    Inventors: Craig G. Eisler, G. Eric Engstrom
  • Patent number: 5801717
    Abstract: A display device interface creates surface structures to represent regions in system or video memory. These surface structures enable application programs to access video memory directly. A flipping structure includes a front buffer and one or more back buffers. In response to an application's request to flip a flipping structure, a flipping function changes the reference to underlying surface memory, but the flipping structure remains unchanged with respect to the application. Surface structures are implemented using surface objects that represent pixmaps, Z buffers, or alpha buffers stored in video or system memory. Complex surface structures including two or more surfaces are implemented by attaching surface objects to each other.
    Type: Grant
    Filed: April 25, 1996
    Date of Patent: September 1, 1998
    Assignee: Microsoft Corporation
    Inventors: G. Eric Engstrom, Craig G. Eisler