Patents Examined by Haresh Patel
  • Patent number: 6983466
    Abstract: A method of representing a development project is presented comprising identifying a plurality of sources comprising the development project, determining whether any of the sources are required simultaneously and, if not, dynamically generating a filter graph representation of the development project utilizing a segment filter to couple a source to multiple processing threads.
    Type: Grant
    Filed: December 6, 2000
    Date of Patent: January 3, 2006
    Assignee: Microsoft Corporation
    Inventors: Daniel J. Miller, Eric H. Rudolph
  • Patent number: 6983463
    Abstract: An instrumentation system profiles an application using structural metadata description of the application. Units (such as COM objects) of the application have strongly-typed, binary-standard interfaces, and are profiled, for example, using an executable file and DLLs for the application. A structural metadata description of the application includes compiled, interface-level type information used to identify and measure interaction between units of the application. For example, the type information is produced by analyzing IDL information. Profiling results in an application profile that includes description of the static relationships and/or dynamic interactions between units of the application. The application profile is combined with a network profile that describes a distributed computing environment. Analysis of the result yields a distribution plan, which, for example, reduces costs associated with communication between the units.
    Type: Grant
    Filed: November 20, 1998
    Date of Patent: January 3, 2006
    Assignee: Microsoft Corporation
    Inventor: Galen C. Hunt
  • 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: 6968557
    Abstract: A computer thread utilizes an auxiliary stack resource to execute program code function calls requiring substantial stack memory resources. In a wrapper embodiment, portions of the program code having function calls requiring substantial stack resources are wrapped in a wrapper that calls an auxiliary stack resource for executing the function call and returns the auxiliary stack resource when the function call is completed. In one embodiment, the stack memory allocated to the thread is selected to accommodate a first class of function calls requiring comparatively low amounts of stack memory and the auxiliary stack resource is called to accommodate the requirements of a second class of function calls requiring comparatively large amounts of stack memory. The allocation of stack memory according to the requirements of function calls allows for multiple computing tasks, such as those carried out by Internet websites and services, to be carried out more efficiently.
    Type: Grant
    Filed: December 18, 2000
    Date of Patent: November 22, 2005
    Assignee: Stratum8 Corporation
    Inventors: Hong Zhang, Sheng Liang, Rajiv Mirani, Abhishek Chauhan
  • Patent number: 6961943
    Abstract: A filter graph for processing media content is presented comprising a video processing subsystem to process video content, and an audio processing subsystem to process audio content. Each of the audio processing subsystem and the video processing subsystem is coupled through a parser to a single instance of a source of audio and video content, wherein the parser selectively provides the audio subsystem and the video subsystem with audio content and video content, respectively.
    Type: Grant
    Filed: December 6, 2000
    Date of Patent: November 1, 2005
    Assignee: Microsoft Corporation
    Inventors: Daniel J. Miller, Eric H. Rudolph
  • Patent number: 6918119
    Abstract: The present invention relates to a method and system for determining the status of each entry in an instruction window buffer in multi-processor, parallel processing environments. A combinatorial circuit, which automatically generates active instruction window status information, is added to the buffer itself. This status information is used by a plurality of processes like renaming registers and issuing and committing instructions as an output associated with a respective buffer entry.
    Type: Grant
    Filed: April 19, 2001
    Date of Patent: July 12, 2005
    Assignee: International Business Machines Corporation
    Inventors: Wilhelm E. Haller, Jens Leenstra, Rolf Sautter, Dieter Wendel, Friedrich-Christian Wernicke
  • Patent number: 6895589
    Abstract: A manager component for managing input from legacy and non-legacy devices in a similar manner is disclosed. An inventive manager component receives input from both non-legacy input drivers for non-legacy input devices, and legacy input drivers for legacy input devices. The manager component provides the input to application programs that desirably have previously registered to receive input from one or more types of input devices. The application programs receive this input without directly communicating with the drivers.
    Type: Grant
    Filed: June 4, 2001
    Date of Patent: May 17, 2005
    Assignee: Microsoft Corporation
    Inventors: Gerardo Bermudez, Hirofumi Yamamoto, Jason A. Schroeder, Firdosh K. Bhesania, Jay Senior, Doron J. Holan
  • Patent number: 6874036
    Abstract: A data processing network and an associated method of transmitting protocol data units (PDU) is disclosed. The network includes a first server including a first network interface card (NIC) that connects the first server to a central switch. The network further includes a second server including a second network interface card (NIC) that connects the second server to the central switch. The first NIC is configured to store a first PDU in a buffer upon determining that the first PDU is of a first type and to combine the first PDU stored in the buffer with a second PDU of a second type upon determining that the first and second PDU share a common target. The combined PDU is then forwarded to the common target as a single PDU thereby reducing the number of PDUs traversing the network.
    Type: Grant
    Filed: February 8, 2001
    Date of Patent: March 29, 2005
    Assignee: International Business Machines Corporation
    Inventor: Freeman Leigh Rawson, III
  • Patent number: 6829649
    Abstract: A method, a system and a computer program product are disclosed for allocating bandwidth of a limited bandwidth link to dataflows containing packets. In the method, the number of buckets is adaptively adjusted dependent upon the number of active dataflows. Each bucket has a number of tokens allocated to the bucket for use by the corresponding dataflow. The number of tokens is dependent upon a weighted value for the corresponding dataflow. Queueing of the packets for utilization of the limited bandwidth link is dependent upon the tokens. Tokens are then adaptively-reallocated to one or more buckets in accordance with a weighted value for each of the dataflows.
    Type: Grant
    Filed: November 10, 2000
    Date of Patent: December 7, 2004
    Assignee: International Business Machines Corporation
    Inventors: Rajev Shorey, Huzur Saran, Abhinav Kamra, Sundeep Kapila, Varun Khurana, Vikas Yadav
  • Patent number: 6823526
    Abstract: A system for connecting an external device and a host system includes an input/output code element on a host system linked with the external device. The input/output code element generates a device identification string. The device identification string includes an optional feature component associated with the external device. The optional feature component indicates at least one extra feature that is included with a particular external device, such as an envelope feeder for a printer or an audio component for a wireless Internet appliance. The system further includes an installer linked with the host system. The installer receives the device identification string and parses the string for the optional feature component. The installer creates an add-on identifier key in the host system's registry based on the optional feature component.
    Type: Grant
    Filed: July 5, 2001
    Date of Patent: November 23, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Dennis Wayne Howard, Brent Jay Blazek, Dean R. VandeWater, Keith O. Johnson
  • Patent number: 6807666
    Abstract: Methods and arrangements are provided for use in multiple user computing environments. These methods and arrangements can be configured to allow for a plurality of separate and concurrent desktops and workspaces within the shared computing environment. One method includes creating a separate desktop thread for each user that is authenticated during a logon process, creating a separate desktop associated with each desktop thread, and maintaining a list of desktop threads that are created. In this manner, several users can be logged on simultaneously. In certain implementations, the method further includes establishing a separate user environment associated with each desktop and launching a separate user shell associated with each desktop. The list of desktop threads allows for selective and/or automatic switching from a first desktop to a second desktop without terminating a desktop thread associated with the first desktop. The methods and arrangements are also applicable to remote process logon and switching.
    Type: Grant
    Filed: May 17, 2000
    Date of Patent: October 19, 2004
    Assignee: Microsoft Corporation
    Inventors: Christopher A. Evans, Giampiero M. Sierra, Victor Tan, Praerit Garg, David Andrew Matthews, Reiner Fink, Paul S. Hellyar
  • Patent number: 6802066
    Abstract: A software buffer is implemented without using notoriously slow locking mechanisms by employing a so-called atomic microprocessor operation to increment a counter tracking the total number of messages inserted into the buffer by various processes. In this manner, a unique slot is guaranteed to be assigned to each respective message to be inserted. Additionally, a count of the total number of removed messages is used to handle situations where two messages are assigned the same slot due to buffer overflow.
    Type: Grant
    Filed: July 22, 1999
    Date of Patent: October 5, 2004
    Assignee: Unisys Corporation
    Inventors: Robert Clinton Carden, IV, Michael James Irving
  • Patent number: 6802062
    Abstract: A virtual machine system is constructed between a plurality of real machines of a multiprocessor system. In order to move a virtual machine operating in a virtual machine system on a given real machine to a virtual machine system on another real machine, each virtual machine system is managed by attaching a common logic name to the real machine resources. The origin of the virtual machine (VM) is notified of the logic name of the real resource corresponding to the VM configuration information. The destination VM includes a device for generating an identical VM configuration according to the logic name received thereby to realize the movement of the VM configuration. Also, the origin VM holds a new asynchronous operation request for the VM to be moved, and suspends the operation of the VM. The VM resource information and the asynchronous operation hold information are transferred to the destination. The destination VM restarts the VM operation in accordance with the received information.
    Type: Grant
    Filed: May 10, 2000
    Date of Patent: October 5, 2004
    Assignee: Hitachi, Ltd.
    Inventors: Kenichi Oyamada, Masaru Sato
  • Patent number: 6785892
    Abstract: An inventive protocol for communicating between a management processor and host processors allows for the cooperative management of resources among host processors within a partition and also among a set of partitions in a computer system, wherein each partition may function under an instantiation of an operating system with a group of host processors. The protocol employs a message passing system using mailbox pairs in fixed but moveable or relocatable locations within the computer system shared memory. The messages share a format having specific codes or descriptors that act as codes for coordination of message interpretation. These codes include at least a validity flag and a sequence enumerator, and in a response message of a request/response message pair, a status indicator. Additionally, routing codes and function codes and code modifiers may be provided. Specific implementation details and messages are described to enable the smooth functioning of complex multiprocessor systems.
    Type: Grant
    Filed: June 23, 2000
    Date of Patent: August 31, 2004
    Assignee: Unisys
    Inventors: John A. Miller, Penny L. Svenkeson, Brett W. Tucker, Philip J. Erickson, Peter C. Wilson
  • Patent number: 6769122
    Abstract: A multithreaded layered-code processing method includes: passing through the layered code to discover each layer of the layered code, acquiring a lock when a layer is discovered, determining whether to spawn a thread to process the discovered layer, and, if it is so determined, spawning a thread to process the discovered layer. The method may further include: releasing the lock once the new thread is either spawned or aborted, and, if spawned, proceeding with execution of the thread concurrently with other threads. Other embodiments include a processor for carrying out the method and a computer-readable medium having stored thereon instructions to cause a computer to execute the method.
    Type: Grant
    Filed: July 2, 1999
    Date of Patent: July 27, 2004
    Assignee: Silicon Graphics, Inc.
    Inventor: Jeffrey L. Daudel
  • Patent number: 6757901
    Abstract: A method for generating notification based expressions includes identifying notifications supported by an agent and specifying objects for at least one of the notifications. One or more expressions are defined based on objects specified for the notification. The method further includes sending a list of objects and expressions to the agent to configure the notifications received at a management station upon occurrence of an event at the agent.
    Type: Grant
    Filed: December 21, 2000
    Date of Patent: June 29, 2004
    Assignee: Cisco Technology, Inc.
    Inventors: Keith McCloghrie, Ramanathan Kavasseri, Sandra Durham
  • Patent number: 6751796
    Abstract: A systems management subsystem provides resources for managing components and allows components to be manageable. In particular, state information about managed components is encapsulated into objects that are visible in the global name space. The state of a single component may be partitioned into subcomponents that are stored in separate objects. These objects may, in turn, be encapsulated into a single container object that is associated with the managed component. By placing the state information in the global name space, local processes and remote processes may both gain access to internal state information and properly manage the component.
    Type: Grant
    Filed: August 29, 2000
    Date of Patent: June 15, 2004
    Assignee: Microsoft Corporation
    Inventors: Michael R. C. Seaman, Anirudh A. Sahni, Mark S. Blanford, Isaac J. Heizer
  • Patent number: 6745225
    Abstract: A method for user processes, each having a unique user identification code, to intercommunicate within a communication management system even if one of the user processes is unavailable, comprises the following steps: associating an agent process with a particular user identification code in order to correspond to a user process having the particular user identification code; determining whether the user process is available in the communication management system; causing the agent process to log into the communication management system with the particular user identification code when the user process is unavailable; and enabling the agent process to intercommunicate with user processes within the communication management system instead of the unavailable user process by using the particular user identification code of the unavailable user process.
    Type: Grant
    Filed: April 10, 2001
    Date of Patent: June 1, 2004
    Assignee: Hewlett-Packard Development Company, LP.
    Inventors: Thiam Wah Loh, Yih Yeong Chong
  • Patent number: 6728788
    Abstract: A client process resides on a host computer within a distributed data processing system, and the client process requests a remote procedure call for a service procedure. A binding handle of a server process is obtained; a determination is made as to whether the binding handle of the server process points to the client process; and in response to a determination that the binding handle of the server process points to the client process, a positive indication is generated that the service procedure is provided by the client process. In response to a determination that the service procedure is provided by the client process, the service procedure is called using a local procedure call after obtaining a local address for the function within the client process by looking up the service procedure in an interface registry.
    Type: Grant
    Filed: December 16, 1999
    Date of Patent: April 27, 2004
    Assignee: International Business Machines Corporation
    Inventors: Spencer James Ainsworth, David Werner Bachmann, Jayakumar Nagarajarao, James Dean Wade, Yi-Hsiu Wei
  • Patent number: 6725457
    Abstract: A process of coordinating access to a shared resource by a plurality of execution units is provided. Channel control units are used to coordinate access to a shared resource. Each channel control unit reads semaphore values of a semaphore storage unit. In response to synchronization commands and semaphore values, the channel control unit manages the flow of execution instructions to the execution units in order to manage access to the shared resource.
    Type: Grant
    Filed: May 17, 2000
    Date of Patent: April 20, 2004
    Assignee: Nvidia Corporation
    Inventors: Curtis Priem, Rick M. Iwamoto