Patents Represented by Attorney Law Offices of Albert S. Michalik, PLLC
  • Patent number: 7143156
    Abstract: A method and system to provide management information of network devices by mapping between SNMP MIB module schema and Common Information Model (CIM) schema. MIB modules are tree-structured lists of objects for describing SNMP network device information, whereas CIM schema employs user-intuitive, object-oriented classes to model such information. A mapping process enumerates the MIB objects and then maps the objects into CIM Managed Object Format (MOF) classes using defined mapping tables. A correlation mechanism is further provided to efficiently determine in real time which MIBs (or portions thereof) and corresponding CIM classes a network device supports.
    Type: Grant
    Filed: October 9, 2001
    Date of Patent: November 28, 2006
    Assignee: Microsoft Corporation
    Inventors: Steven J. Menzies, Syed N. Ahmed, Kenneth M. Osborne, Rajeev Byrisetty
  • Patent number: 7126606
    Abstract: A method and system implemented in an application programming interface (API) and an object model allows program code developers to interface in a consistent manner with a scene graph data structure to output graphics. Via the interfaces, program code writes drawing primitives such as geometry data, image data, animation data and other data to visuals that represent a drawing surface, including validation visual objects, drawing visual objects and surface visual objects. The code can also specify transform, clipping and opacity properties on visuals, and add child visuals to other visuals to build up a hierarchical scene graph. A visual manager traverses the scene graph to provide rich graphics data to lower-level graphics components.
    Type: Grant
    Filed: March 27, 2003
    Date of Patent: October 24, 2006
    Assignee: Microsoft Corporation
    Inventors: Joseph S. Beda, Gerhard A. Schneider, Kevin T. Gallo, Adam M. Smith, Eric Vandenberg, Don Curtis
  • Patent number: 7116822
    Abstract: A method and system for data entry of handwritten text into a computer program that is not designed to accept handwritten text is provided. In preferred embodiments, the computer program is designed to operate in a windowing environment. A data entry program receives handwritten data, recognizes the data, and sends the recognized data to the computer program. The computer program processes the recognized data as if it had been entered from the keyboard. According to the present invention, the data entry program overlaps the window of the computer program with an invisible window. To the user, it looks as if the computer program is accepting handwritten data directly.
    Type: Grant
    Filed: June 30, 2003
    Date of Patent: October 3, 2006
    Assignee: Microsoft Corporation
    Inventors: Lloyd Frink, Bryon Dean Bishop
  • Patent number: 7111307
    Abstract: A method and system for verifying computer system drivers such as kernel mode drivers. A driver verifier sets up tests for specified drivers and monitors the driver's behavior for selected violations that cause system crashes. In one test, the driver verifier allocates a driver's memory pool allocations from a special pool bounded by inaccessible memory space for testing the driver's accessing memory outside of the allocation. The driver verifier also marks the space as inaccessible when it is deallocated, detecting a driver that accesses deallocated space. The driver verifier may also provide extreme memory pressure on a specific driver, or randomly fail requests for pool memory. The driver verifier also checks call parameters for violations, performs checks to ensure a driver cleans up timers when deallocating memory and cleans up memory and other resources when unloaded. An I/O verifier is also described for verifying drivers use of I/O request packets.
    Type: Grant
    Filed: November 23, 1999
    Date of Patent: September 19, 2006
    Assignee: Microsoft Corporation
    Inventor: Landy Wang
  • 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: 7103527
    Abstract: Described is a method and system that enables open, non-proprietary and extensible visualization and modeling tools by providing multiple-way negotiations between model element end points (nodes) and a connecting model element (arc). Based on these negotiations, a user is guided to make appropriate interconnections between model elements. A protocol is provided for intelligent model elements (objects) to communicate their information to one another, e.g., an arc communicates its capabilities and requirements to a node, and vice-versa, whereby the model element objects themselves decide whether they can interconnect, and if so, how they need to interconnect. The objects themselves enforce semantics and rules. According to the protocol, either object can reject the interconnection (break off the negotiation) with the other object if it determines it is not compatible with the other object, or is otherwise unable to connect to it.
    Type: Grant
    Filed: December 20, 2000
    Date of Patent: September 5, 2006
    Assignee: Microsoft Corporation
    Inventors: Vij Rajarajan, Casey L. Kiernan, Stewart P. MacLeod, Shawn E. Oberst
  • Patent number: 7088374
    Abstract: A visual tree structure as specified by a program is constructed and maintained by a visual system's user interface thread. As needed, the tree structure is traversed on the UI thread, with changes compiled into change queues. A secondary rendering thread that handles animation and graphical composition takes the content from the change queues, to construct and maintain a condensed visual tree. Static visual subtrees are collapsed, leaving a condensed tree with only animated attributes such as transforms as parent nodes, such that animation data is managed on the secondary thread, with references into the visual tree. When run, the rendering thread processes the change queues, applies changes to the condensed trees, and updates the structure of the animation list as necessary by resampling animated values at their new times. Content in the condensed visual tree is then rendered and composed. Animation and a composition communication protocol are also provided.
    Type: Grant
    Filed: March 27, 2003
    Date of Patent: August 8, 2006
    Assignee: Microsoft Corporation
    Inventors: Paul C. David, Gerhard A. Schneider, Matthew W. Calkins, Oreste Dorin Ungureanu, Ashraf Michail, Andrey E. Arsov, Leonardo E. Blanco
  • Patent number: 7089284
    Abstract: An improved method and system for client-side caching that transparently caches suitable network files for offline use. A cache mechanism in a network redirector transparently intercepts requests to access server files, and if the requested file is locally cached, satisfies the request from the cache when possible. Otherwise the cache mechanism creates a local cache file and satisfies the request from the server, and also fills in a sparse cached file as reads for data in ranges that are missing in the cached file are requested and received from the server. A background process also fills in local files that are sparse, using the existing handle of already open server files, or opening, reading from and closing other server files. Security is also provided by maintaining security information received from the server for files that are in the cache, and using that security information to determine access to the file when offline.
    Type: Grant
    Filed: June 28, 2004
    Date of Patent: August 8, 2006
    Assignee: Microsoft Corporation
    Inventors: Shishir Pardikar, Joseph L. Linn, Balan Sethu Raman, Robert E. Corrington
  • Patent number: 7073173
    Abstract: Described is a system and method whereby processes may have multiple memory maps associated therewith to provide curtained memory and overcome other memory-related problems. Multiple maps are used to restrict memory access of existing code such as drivers, without changing that code, and without changing existing microprocessors. A thread of a process is associated with one memory map at a time, which by mapping to different memory locations, provides memory isolation without requiring a process switch. Memory isolation may be combined with controlled, closed memory map switching performed only by trusted code, to ensure that some protected memory is inaccessible to all but the trusted code (curtained memory). Map switching among multiple maps eliminates the need to change a process in order to access different memory, thereby allowing expanded memory addressing in a single process and isolating untrusted code run in process from certain memory of that process.
    Type: Grant
    Filed: July 26, 2001
    Date of Patent: July 4, 2006
    Assignee: Microsoft Corporation
    Inventor: Bryan M. Willman
  • Patent number: 7073172
    Abstract: A method and mechanism for automatically patching software implementations such as applications as they are installed from an external source. A patch program is run for a software implementation that is advertised as available, or is otherwise available, though not yet installed (or fully installed). The mechanism maintains the patch information for that software implementation. Whenever the software implementation is installed, the mechanism determines that the software implementation has the patch information maintained therefor. The mechanism automatically applies the patch as part of the on-demand installation process. The patch may change the files, the values of registry entries and/or the installation logic associated with the software implementation.
    Type: Grant
    Filed: August 27, 2002
    Date of Patent: July 4, 2006
    Assignee: Microsoft Corporation
    Inventor: Benjamin C. Chamberlain
  • Patent number: 7073170
    Abstract: A method, system and infrastructure that allow an application to run with specified versions of assemblies bound thereto, while allowing the application author, assembly publisher and/or an administrator to change the originally-specified version as desired. Each assembly may exist and run side-by-side on the system with other versions of the same assembly being used by other applications. An application manifest specifies any desired assembly versions, which may be redirected to another version (overridden) by an application configuration. A publisher configuration provided by an assembly publisher can similarly override the specified version. Lastly, an administrator configuration is capable of overriding other configuration versioning information. A table built from the manifest and any configuration redirection may be accessed during execution to quickly locate the appropriate version.
    Type: Grant
    Filed: March 21, 2005
    Date of Patent: July 4, 2006
    Assignee: Microsoft Corporation
    Inventors: Michael J. Grier, Sanjay G. Shenoy, RoseMarie FitzSimons, David D'Souza, Srivatsan Parthasarathy, Michael Dunn, Alan Shi
  • Patent number: 7064766
    Abstract: An intelligent caching data structure and mechanisms for storing visual information via objects and data representing graphics information. The data structure is generally associated with mechanisms that intelligently control how the visual information therein is populated and used. The cache data structure can be traversed for direct rendering, or traversed for pre-processing the visual information into an instruction stream for another entity. Much of the data typically has no external reference to it, thereby enabling more of the information stored in the data structure to be processed to conserve resources. A transaction/batching-like model for updating the data structure enables external modifications to the data structure without interrupting reading from the data structure, and such that changes received are atomically implemented. A method and mechanism are provided to call back to an application program in order to create or re-create portions of the data structure as needed, to conserve resources.
    Type: Grant
    Filed: June 27, 2002
    Date of Patent: June 20, 2006
    Assignee: Microsoft Corporation
    Inventors: Joseph S. Beda, Adam M. Smith, Gerhard A. Schneider, Kevin T. Gallo, Ashraf A. Michail
  • Patent number: 7062750
    Abstract: A system and method in which a remote network source maintains source code and symbol files for debugging purposes with automatic downloading of the correct files when they are needed. Files are remotely maintained based on unique data associated with that file (unique parameters) that are independent of the product name, release and/or build number. Such data includes time / date stamp information and file size, or signature and age data. When a given file is needed, such as to debug an executable code module, a symbol server at the client constructs a path (e.g., URL) to the needed file based on the unique information from the corresponding executable file, whereby the correct symbol file is accessed. Via that symbol file, the correct source file may be located and accessed. Security via authentication and access control lists may control access to the files, and authentication may be automatic.
    Type: Grant
    Filed: July 16, 2001
    Date of Patent: June 13, 2006
    Assignee: Microsoft Corporation
    Inventors: Mark David Whidby, Pat Styles, Barbara Lynne Kess, Andre F. Vachon, Mohammad Jazayeri, Danial George Neault, Douglas Seth Laundry
  • Patent number: 7057615
    Abstract: A method and system for compressing and displaying a digital ink trace. Raw ink data is smoothed, and sharp points of the smoothed line are found. Curve-fitting is then used to generate a mathematical expression that defines the line segments between adjacent sharp points. The ink trace then is represented by a backbone spline that includes the sharp points and the mathematical expressions for the line segments. Thickness information, such as pressure or acceleration information, is combined with the backbone spline to provide a compressed ink file that represents a contour curve of the original ink trace. A display module uses an algorithm to separate the contour curve into a sequence of straight lines. A set of pixels is then generated for the display of each straight line using a novel antialiasing method. The pixels at the ends of adjacent straight lines are aligned using a weighting algorithm.
    Type: Grant
    Filed: June 28, 2001
    Date of Patent: June 6, 2006
    Assignee: Microsoft Corporation
    Inventors: Jian Wang, Liyong Chen, Yu Zou, Siwei Lyu
  • Patent number: 7039234
    Abstract: Described is electronic ink maintained as a software object, thereby associating ink functionality with electronic ink data. The ink may be separated into words or characters, with one object per word or character. By the associated functionality, applications that deal with embedded objects in general can automatically benefit from electronic ink, including having the object's functionality render the ink data as part the application's document. Further, because the ink data is maintained as an object, the data is automatically persisted in association with the document into which it is embedded. Ink-aware applications may call on methods of the electronic ink object to adjust formatting, search recognized ink along with text, and perform other functions. Via the electronic ink object, electronic ink substantially approaches much of the behavior normally available with text data, without requiring applications to interpret the ink data.
    Type: Grant
    Filed: July 19, 2001
    Date of Patent: May 2, 2006
    Assignee: Microsoft Corporation
    Inventors: Erik M. Geidl, Robert A. Dain, Donald D. Karlov
  • Patent number: 6993603
    Abstract: A model in which filter drivers are managed to receive callbacks for I/O requests in which the filter drivers have registered an interest. Per-volume instances of filter drivers register with a filter manager for pre-callbacks (for I/O to the file system) and post-callbacks (for I/O from the file system), and identify which I/O requests (e.g., create, read, write) they are registering to receive callbacks. The filter manager orders the instances for callbacks. When an I/O request is received, the filter manager converts the I/O request to callback data and calls the interested filters in the callback order, whereby the filter instances can process the I/O data. As the request returns from the file system, filters desiring post callbacks are called in the reverse order. Efficient context management for the filters and other functions, such as non-reentrant file I/O, are also provided by the model.
    Type: Grant
    Filed: December 9, 2002
    Date of Patent: January 31, 2006
    Assignee: Microsoft Corporation
    Inventors: Ravisankar Pudipeddi, Eileen C. Brown, Neal Christiansen, Ravinder Thind, Brian K. Dewey, David P. Golds, Mark J. Zbikowski
  • Patent number: 6986043
    Abstract: A system and method for encryption and decryption of files. The system and method operate in conjunction with the file system to transparently encrypt and decrypt files in using a public key-private key pair encryption scheme. When a user puts a file in an encrypted directory or encrypts a file, data writes to the disk for that file are encrypted with a random file encryption key generated from a random number and encrypted with the public key of a user and the public key of at least one recovery agent. The encrypted key information is stored with the file, whereby the user or a recovery agent can decrypt the file data using a private key. With a correct private key, encrypted reads are decrypted transparently by the file system and returned to the user. One or more selectable encryption and decryption algorithms may be provided via interchangeable cryptographic modules.
    Type: Grant
    Filed: May 29, 2001
    Date of Patent: January 10, 2006
    Assignee: Microsoft Corporation
    Inventors: Brian Andrew, Jianrong Gu, Mark J. Zbikowski, Praerit Garg, Mike K. Lai, Wesley Witt, Klaus U. Schutz
  • Patent number: 6980993
    Abstract: Described is a schema-based notification platform that provides regularized notification handling including user control and normalization of the operation of policies across different information types and contexts. Information-service schemas and services are combined to build a content-sensitive and context-sensitive information service to communicate information to recipient devices of users that subscribe to those services. An information agent service collects the information, and based on various criteria, determines if, when, and how to send and render the information, and to which subscribing client device or devices. The set of schemas include a notification schema that represents the subscription of a service to an information source and details about that information, and a device schema that represents information about user devices.
    Type: Grant
    Filed: March 14, 2002
    Date of Patent: December 27, 2005
    Assignee: Microsoft Corporation
    Inventors: Eric J. Horvitz, Paul A. Steckler, Shaun D. Pierce, Lijiang Fang, Mark H. Lucovsky, Winnie C. Wu
  • Patent number: 6980944
    Abstract: A mechanism for simulating the existence of hardware in a configuration and power management system is described. In one aspect, a simulator interfaces with the configuration and power management system to generate simulated events. In another aspect, accesses to hardware registers are simulated by registering the simulator with the configuration and power management system to handle accesses to a simulated hardware device. A component within the configuration and power management system may define the simulated hardware device such that accesses to the simulated hardware device occur with respect to a defined I/O space.
    Type: Grant
    Filed: March 17, 2000
    Date of Patent: December 27, 2005
    Assignee: Microsoft Corporation
    Inventors: Jacob Oshins, Stephane G. Plante, Vincent J. Geglia II
  • Patent number: 6976077
    Abstract: A method and system via which a client application hosting a browser notifies a server of its existence, whereby the server provides enhanced operating functionality, such as state synchronization, to the client. Instead of requesting a server's normally-accessible website, a client application provides a URL to a hosted browser to access a hidden web page. The hidden web page returns awareness information (e.g., a “cookie”) identifying the client as an enhanced client, and also automatically forwards the client to the server's normally-accessible website. Based on the awareness data, the server distinguishes enhanced clients from ordinary clients, and modifies its behavior accordingly. For example, the server and client application may communicate in the background, such as to synchronize the client application's data with server state information. To synchronize, the server data may be written into a client storage mechanism, or the server data may be passed in a page.
    Type: Grant
    Filed: July 6, 1999
    Date of Patent: December 13, 2005
    Assignee: Microsoft Corporation
    Inventors: Christian R. Lehew, Michael L. Waterston, Robert A. Kleewein, Ian V. Hollier