Patents Represented by Attorney Law Offices of Albert S. Michalik, PLLC
-
Patent number: 7143156Abstract: 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: GrantFiled: October 9, 2001Date of Patent: November 28, 2006Assignee: Microsoft CorporationInventors: Steven J. Menzies, Syed N. Ahmed, Kenneth M. Osborne, Rajeev Byrisetty
-
Patent number: 7126606Abstract: 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: GrantFiled: March 27, 2003Date of Patent: October 24, 2006Assignee: Microsoft CorporationInventors: Joseph S. Beda, Gerhard A. Schneider, Kevin T. Gallo, Adam M. Smith, Eric Vandenberg, Don Curtis
-
Patent number: 7116822Abstract: 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: GrantFiled: June 30, 2003Date of Patent: October 3, 2006Assignee: Microsoft CorporationInventors: Lloyd Frink, Bryon Dean Bishop
-
Patent number: 7111307Abstract: 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: GrantFiled: November 23, 1999Date of Patent: September 19, 2006Assignee: Microsoft CorporationInventor: Landy Wang
-
Patent number: 7103890Abstract: 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: GrantFiled: March 24, 2003Date of Patent: September 5, 2006Assignee: Microsoft CorporationInventor: Eric N. Bush
-
Patent number: 7103527Abstract: 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: GrantFiled: December 20, 2000Date of Patent: September 5, 2006Assignee: Microsoft CorporationInventors: Vij Rajarajan, Casey L. Kiernan, Stewart P. MacLeod, Shawn E. Oberst
-
Patent number: 7088374Abstract: 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: GrantFiled: March 27, 2003Date of Patent: August 8, 2006Assignee: Microsoft CorporationInventors: Paul C. David, Gerhard A. Schneider, Matthew W. Calkins, Oreste Dorin Ungureanu, Ashraf Michail, Andrey E. Arsov, Leonardo E. Blanco
-
Patent number: 7089284Abstract: 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: GrantFiled: June 28, 2004Date of Patent: August 8, 2006Assignee: Microsoft CorporationInventors: Shishir Pardikar, Joseph L. Linn, Balan Sethu Raman, Robert E. Corrington
-
Patent number: 7073173Abstract: 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: GrantFiled: July 26, 2001Date of Patent: July 4, 2006Assignee: Microsoft CorporationInventor: Bryan M. Willman
-
Patent number: 7073172Abstract: 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: GrantFiled: August 27, 2002Date of Patent: July 4, 2006Assignee: Microsoft CorporationInventor: Benjamin C. Chamberlain
-
Patent number: 7073170Abstract: 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: GrantFiled: March 21, 2005Date of Patent: July 4, 2006Assignee: Microsoft CorporationInventors: Michael J. Grier, Sanjay G. Shenoy, RoseMarie FitzSimons, David D'Souza, Srivatsan Parthasarathy, Michael Dunn, Alan Shi
-
Patent number: 7064766Abstract: 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: GrantFiled: June 27, 2002Date of Patent: June 20, 2006Assignee: Microsoft CorporationInventors: Joseph S. Beda, Adam M. Smith, Gerhard A. Schneider, Kevin T. Gallo, Ashraf A. Michail
-
Patent number: 7062750Abstract: 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: GrantFiled: July 16, 2001Date of Patent: June 13, 2006Assignee: Microsoft CorporationInventors: Mark David Whidby, Pat Styles, Barbara Lynne Kess, Andre F. Vachon, Mohammad Jazayeri, Danial George Neault, Douglas Seth Laundry
-
Patent number: 7057615Abstract: 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: GrantFiled: June 28, 2001Date of Patent: June 6, 2006Assignee: Microsoft CorporationInventors: Jian Wang, Liyong Chen, Yu Zou, Siwei Lyu
-
Patent number: 7039234Abstract: 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: GrantFiled: July 19, 2001Date of Patent: May 2, 2006Assignee: Microsoft CorporationInventors: Erik M. Geidl, Robert A. Dain, Donald D. Karlov
-
Patent number: 6993603Abstract: 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: GrantFiled: December 9, 2002Date of Patent: January 31, 2006Assignee: Microsoft CorporationInventors: Ravisankar Pudipeddi, Eileen C. Brown, Neal Christiansen, Ravinder Thind, Brian K. Dewey, David P. Golds, Mark J. Zbikowski
-
Patent number: 6986043Abstract: 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: GrantFiled: May 29, 2001Date of Patent: January 10, 2006Assignee: Microsoft CorporationInventors: Brian Andrew, Jianrong Gu, Mark J. Zbikowski, Praerit Garg, Mike K. Lai, Wesley Witt, Klaus U. Schutz
-
Patent number: 6980993Abstract: 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: GrantFiled: March 14, 2002Date of Patent: December 27, 2005Assignee: Microsoft CorporationInventors: Eric J. Horvitz, Paul A. Steckler, Shaun D. Pierce, Lijiang Fang, Mark H. Lucovsky, Winnie C. Wu
-
Patent number: 6980944Abstract: 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: GrantFiled: March 17, 2000Date of Patent: December 27, 2005Assignee: Microsoft CorporationInventors: Jacob Oshins, Stephane G. Plante, Vincent J. Geglia II
-
Automatic and transparent synchronization of server-side state information with a client application
Patent number: 6976077Abstract: 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: GrantFiled: July 6, 1999Date of Patent: December 13, 2005Assignee: Microsoft CorporationInventors: Christian R. Lehew, Michael L. Waterston, Robert A. Kleewein, Ian V. Hollier