Dynamic Linking, Late Binding Patents (Class 719/331)
  • Patent number: 7577997
    Abstract: Tampering with pieces of software is inhibited. Software obfuscation inhibits reverse engineering by hackers by manipulating names of functions and adding jump instructions into various pieces of software. The obfuscation of a software image so as to becloud the comprehension of hackers in reverse engineering pieces of software comprising the software image is provided. Image verification ensures the originality of the pieces of software to be installed.
    Type: Grant
    Filed: February 17, 2005
    Date of Patent: August 18, 2009
    Assignee: Microsoft Corporation
    Inventors: Frank Nian-Tzu Chu, Wei Wu, Julie D. Bennett, Mohammed El-Gammal
  • Patent number: 7577964
    Abstract: In accordance with an embodiment of the present invention, a web-services interface for a web-service comprises a message binding extension element operable to specify a format for a message requesting the web-service and a binding details extension element operable to specify an availability status of at least one receipt for the message.
    Type: Grant
    Filed: February 28, 2003
    Date of Patent: August 18, 2009
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Dorothea Beringer, Guillaume Vambenepe
  • Patent number: 7571445
    Abstract: A system and method for dynamic device driver support in an open source operating system is disclosed in which a device driver includes one or more driver modules in executable format and a service layer provided to the user of the computer system in an open source format. The open source service layer can be compiled against the kernel of the operating system, causing the compiled service layer to be compatible with the kernel of the operating system, including any naming conventions followed by function calls of the kernel of the operating system. Because the executable driver modules are not easily accessible, proprietary information concerning the hardware architecture may be included in these modules.
    Type: Grant
    Filed: November 29, 2001
    Date of Patent: August 4, 2009
    Assignee: Dell Products L.P.
    Inventors: Chieng-Hwa Lin, Sanjay Rao
  • Patent number: 7571448
    Abstract: A hooking control manager hooks kernel level operations. The kernel level hooking control manager identifies a kernel level component for which to filter outgoing kernel level system calls. For each of a select set of outgoing kernel level system calls imported by the kernel level component, the kernel level hooking control manager locates the address of the system call in the kernel level component, stores the address, and patches the kernel level component with an address of alternative code to execute when the kernel level component makes the outgoing system call. Upon the unloading of the kernel level hooking control manager, for each call of the select set, the kernel level hooking control manager locates the address of the system call in the kernel level component, and patches the kernel level component so as to restore the stored address.
    Type: Grant
    Filed: July 28, 2004
    Date of Patent: August 4, 2009
    Assignee: Symantec Corporation
    Inventor: Ahmed S. Sallam
  • Publication number: 20090193444
    Abstract: Various technologies and techniques are disclosed for creating and managing extensions. An extension manager is operable to interact with and manage extensions in at least two categories, such as operative extensions and cooperative extensions. The extension manager loads zero or more extensions from a first set of extensions into a host application. The extension manager loads zero or more extensions from a second set of extensions into the host application based upon an analysis of one or more declarations of compatibility. An extension manager framework is described that has a language syntax for describing the operation of extensions. The language syntax enables a cooperative extension to declare compatibility with operative extensions, so that the cooperative extension is only loaded into a host application in situations where the cooperative extension has been pre-defined as being compatible. A process for loading extensions in a host application using declarations of compatibility is described.
    Type: Application
    Filed: January 29, 2008
    Publication date: July 30, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Jason Clark, Liangxiao Zhu
  • Patent number: 7568035
    Abstract: Aspects of the subject matter described herein relate to generating and propagating commands. In aspects, elements of a graphical user interface may include an input binding which associates a gesture with a command. When a gesture is received, the command is generated depending on which element has focus. In addition, elements of the graphic user interface may also define methods to call when commands are received. When an event or a command is received, a hierarchical data structure of elements representable on the graphical user interface may be traversed to respond to the event or command.
    Type: Grant
    Filed: August 30, 2005
    Date of Patent: July 28, 2009
    Assignee: Microsoft Corporation
    Inventors: Namita Gupta, Michael J. Hillberg, Jeffrey L. Bogdan
  • Patent number: 7568188
    Abstract: A method for testing a software shim is provided, in which a skeleton executable file is altered so that it mimics the executable file for which the shim is intended. The alterations made to the skeleton executable file may include one or more of the following: changing the file name, padding the file and changing the calculated checksum of the file.
    Type: Grant
    Filed: March 7, 2003
    Date of Patent: July 28, 2009
    Assignee: Microsoft Corporation
    Inventor: Diaa Fathalla
  • Patent number: 7568197
    Abstract: In general, the invention relates to a method for loading a kernel module. The method involves loading a preload module into a kernel. Loading the preload module includes creating a dynamic dependency list. Loading the kernel module further includes loading the kernel module comprising a static dependency list into the kernel, and triggering a hook when the static dependency list is reviewed. The module information associated with the kernel is obtained using the hook. Loading the kernel module further includes searching for a dynamic dependency associated with the kernel module in the dynamic dependency list using the module information, and updating the static dependency list with the dynamic dependency to obtain an updated static dependency list if the dynamic dependency associated with the kernel module is present in the dynamic dependency list.
    Type: Grant
    Filed: March 12, 2004
    Date of Patent: July 28, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Chris J. Kiick, Michael T. Clayton, Michael S. Walker
  • Patent number: 7565665
    Abstract: A method of producing an executable image from an object file without shared library support from the operating system, wherein the executable image requires a shared library file in order to resolve at least one of the symbols called for in the object file. A method of optimizing the loading of a previously linked file into working memory in a computer for executing in a single address space of the working memory, the file containing an instruction to make an indirect jump to a location in a shared library through an import section of the file. A method for optimizing the loading of a previously linked file into working memory in a computer for executing in a single address space of the working memory, the file containing plural sections with number-filled padding between the end of each section and a succeeding page boundary. A method of optimizing the loading of a previously linked file into working memory in a computer for executing in a memory sharable with other executables.
    Type: Grant
    Filed: May 23, 2005
    Date of Patent: July 21, 2009
    Assignee: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes V. Helander
  • Patent number: 7562369
    Abstract: A computer implemented method of activating a process. The method includes the steps of generating one or more first plug-ins each configured to activate a target process, dynamically registering the first plug-ins with a second plug-in, and permanently storing information relating to each registered first plug-in. A server computer in a client-server computer system that includes one or more first plug-ins each configured to activate a target process, and a second plug-in configured to dynamically register the first plug-ins and to permanently store information relating to the registered first plug-ins.
    Type: Grant
    Filed: January 28, 2000
    Date of Patent: July 14, 2009
    Assignee: IONA Technologies, PLC
    Inventors: Julie Salamone, Alan Clarke, Paul Kiely, Ronald C Witham, Jr., Kevin Sullivan
  • Patent number: 7559091
    Abstract: Tampering with pieces of software is inhibited. Software obfuscation inhibits reverse engineering by hackers by manipulating names of functions and adding jump instructions into various pieces of software. Profiles are stored in a central hierarchical database and such profiles are protected from tampering. The obfuscation of a software image so as to becloud the comprehension of hackers in reverse engineering pieces of software comprising the software image is provided.
    Type: Grant
    Filed: February 17, 2005
    Date of Patent: July 7, 2009
    Assignee: Microsoft Corporation
    Inventors: Frank Nian-Tzu Chu, Wei Wu, Julie D Bennett, Mohammed El-Gammal
  • Publication number: 20090172713
    Abstract: Methods and apparatuses enable on-demand instruction emulation via user-level exception handling. A non-supported instruction triggers an exception during runtime of a program. In response to the exception, a user-level or application-level exception handler is launched, instead of a kernel-level handler. Then the exception handler can execute at the application layer instead of the kernel level. The handler identifies the instruction and emulates the instruction, where emulation of the instruction is supported by the handler. Emulating the instructions enables the program to continue execution. Repeated instruction emulation is amortized via dynamic binary translation of hot code.
    Type: Application
    Filed: December 31, 2007
    Publication date: July 2, 2009
    Inventors: Ho-Seop Kim, Mauricio Breternitz, JR., Youfeng Wu
  • Publication number: 20090172715
    Abstract: Generally described, the present invention is directed to a network operating system that provides more effective ways of leveraging the connectivity of computer networks. In one embodiment, an XML virtual machine is implemented that accepts high-level application code written in an XML programming language as input. Functionality is provided to interpret or translate the application code written in an XML programming language into code that is suitable for execution across computer platforms. Moreover, the XML virtual machine supports the Model View Controller (MVC) design paradigm that facilitates true data abstraction from applications to a common data model. Multi-instance applications, with each instance potentially supporting multiple views, may be created and executed.
    Type: Application
    Filed: September 29, 2008
    Publication date: July 2, 2009
    Applicant: XCERION AB
    Inventors: Daniel Arthursson, Marcus Bristav
  • Publication number: 20090172712
    Abstract: A method and article of manufacture for accessing at least one unexposed runtime service.
    Type: Application
    Filed: December 29, 2007
    Publication date: July 2, 2009
    Inventors: Michael A. Rothman, Vincent J. Zimmer
  • Publication number: 20090172714
    Abstract: Text that appears in sessions presented on a computer screen is indexed to enable future text-based search of the session content. During the recording, a text capture algorithm is used to capture any text data presented on any window on the computer screen, either in a selective or in an all-encompassing manner. Data captured are indexed to the capture time because a timestamp must be known to allow for a search that can provide temporal relevance. The interval used to capture the window data is modifiable, based on the needs of the application. Once the window is scanned, a comparison is done with the results of previous captures to determine if there is a need to update the metadata database with new results.
    Type: Application
    Filed: March 11, 2008
    Publication date: July 2, 2009
    Inventors: Harel Gruia, Maxim Romanov, Daniel Shimoff, Tsakhi Segal
  • Patent number: 7552337
    Abstract: Tampering with pieces of software is inhibited. Service protection inhibits tampering by allowing various unauthorized services to execute. Profiles are stored in a central hierarchical database and such profiles are protected from tampering. The obfuscation of a software image so as to becloud the comprehension of hackers in reverse engineering pieces of software comprising the software image is provided.
    Type: Grant
    Filed: February 17, 2005
    Date of Patent: June 23, 2009
    Assignee: Microsoft Corporation
    Inventors: Frank Nian-Tzu Chu, Wei Wu, Julie D Bennett, Mohammed El-Gammal, Simon D Earnshaw
  • Patent number: 7552444
    Abstract: A method in a data processing system for attaching an informational dialog to a program. The program is morphed to extend an existing interface to the program to become a dippable program. A dip is created, wherein the dip modifies runtime behavior of the existing interface of the dippable program to include an informational dialog. The dip is added to the dippable program, wherein the informational dialog is attached to the dippable program. The dialog is displayed just before the dippable program is displayed.
    Type: Grant
    Filed: May 21, 2004
    Date of Patent: June 23, 2009
    Assignee: International Business Machines Corporation
    Inventors: John William Alcorn, James Irwin Knutson
  • Patent number: 7552452
    Abstract: Embodiments of the present invention relate to methods, systems and computer-readable media for external localization of a software product. This external localization involves loading a base product having one or more calls to an operating system (or an API) to load language specific data. The calls are intercepted after the resource is loaded into a Resource loader, and queried whether the resource is identified in a restricted resource list such as a code signed dynamic linked library. If so, the translated resource is loaded from a specified language package. The loaded, and translated, resource is then checked against validation rules (which are also protected in a code signed resource list) to see if it is safe to use. If the resource is not on the list or the translated resource is not safe to use, the original resource is simply transferred to the application without modification from the resource loader, i.e., loaded from the base language file.
    Type: Grant
    Filed: January 20, 2005
    Date of Patent: June 23, 2009
    Assignee: Microsoft Corporation
    Inventors: Barry McHugh, Jan-Roelof Falkena, Robert Grimes, Terry Farrell, David Ahs, Alexei Soloveitchik
  • Patent number: 7543309
    Abstract: Methods of optimizing the loading of a previously linked file into working memory in a computer for executing in a memory sharable with other executables, and converting an image which has been previously linked for executing in an unshared memory into an image optimized for use with virtual memory.
    Type: Grant
    Filed: August 20, 2004
    Date of Patent: June 2, 2009
    Assignee: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes V. Helander
  • Publication number: 20090133042
    Abstract: The present invention is directed to a loadable virtual memory manager, and generally to a computer operating system capable of supporting application programs running in a computer having a working memory, the computer operating system including a kernel resident in the working memory at run time, and a loadable virtual memory manager resident at link time outside of the working memory and dynamically loadable into the working memory at run time upon demand of one of the application programs. The kernel includes a loader for loading the virtual memory manager into the working memory in response to a demand from one of the application programs. The computer is able to access a storage memory separate from the working memory, the loadable virtual memory manager residing at link time in the storage memory. The loader loads the virtual memory manager from the storage memory to the working memory.
    Type: Application
    Filed: January 23, 2009
    Publication date: May 21, 2009
    Applicant: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes V. Helander
  • Patent number: 7533389
    Abstract: System and method for dynamic loading of remote classes. Using embodiments, remote classes may be loaded dynamically by a default class loader without the use of separate, custom class loaders. The remote class loader mechanism may locate on remote systems classes needed by code executing on the local system but not locally stored, and which therefore cannot be located and loaded by the default class loader. After locating the classes, the remote class loader mechanism may obtain copies of the classes and save them to a location indicated by the class path of the default class loader. The default class loader can then locate and load the classes from the location indicated by the class path.
    Type: Grant
    Filed: June 20, 2003
    Date of Patent: May 12, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Jerome M. Verbeke, Neelakanth M. Nadgir
  • Patent number: 7530081
    Abstract: A system for creating a dynamic client side service proxy framework using meta-data and introspection capabilities of Open Grid Services Architecture (OGSA) service data is disclosed. The system includes defining an Open Grid Service Invocation Factory configured to create a service proxy and introspecting an Open Grid Service Infrastructure (OGSI) service based on information exposed by the service. An OGSI Service Invocation Proxy is created defining a set of dynamic interfaces based on service introspection and a meta-data inspection interface of the Service Invocation Proxy. The Service Invocation Proxy exposes both static port type interfaces and dynamic interfaces to support more flexibility of the client.
    Type: Grant
    Filed: June 19, 2008
    Date of Patent: May 5, 2009
    Assignee: International Business Machines Corporation
    Inventor: Joshy Joseph
  • Patent number: 7523471
    Abstract: A main module of an object oriented computer program is independent of the software domain and can be dynamically configured or reconfigured at runtime by domain specific dynamic link libraries. This main module is a generic main which is configured by a service configurator. A framework connector is provided as are a communications component and a asynchronous/asychronous management component.
    Type: Grant
    Filed: December 18, 1998
    Date of Patent: April 21, 2009
    Assignee: Siemens Aktiengesellschaft
    Inventors: Karlheinz Dorn, Dietrich Quehl, Detlef Becker, Christian Scharf, Douglas C. Schmidt
  • Patent number: 7523472
    Abstract: Methods, systems and data structure are described for implementing local isolated DLL and/or COM components. A version of a shared component is stored in a local directory with an application that uses that particular version. Another version of the shared component exists on the system and is useable by any number of other computer programs. A local file is created in the local directory that indicates the presence of an isolated version of the shared component. When the application calls the shared component, the system uses the isolated version of the shared component stored locally with the application program. Thus, specific versions of components may be provided to a calling application without making any code changes to the calling application or to the component to which the calling application is bound.
    Type: Grant
    Filed: October 26, 2004
    Date of Patent: April 21, 2009
    Assignee: Microsoft Corporation
    Inventors: David J. D'Souza, Seetharaman Harikrishnnan, Peter M. Wilson, RoseMarie FitzSimons
  • Patent number: 7519976
    Abstract: A plug-in framework can be used in an integration system to extend business process management functionality. A plug-in manager, which can be part of an integration process engine, is used to support configuration, design, and run-time management of the plug-ins. A plug-in API is used to provide support for configuration, design, and run-time interactions between the process engine and a deployed plug-in. The plug-in API can consist of components such as session beans, run-time management classes, and packages. This description is not intended to be a complete description of, or limit the scope of, the invention. Other features, aspects, and objects of the invention can be obtained from a review of the specification, the figures, and the claims.
    Type: Grant
    Filed: April 1, 2003
    Date of Patent: April 14, 2009
    Assignee: Bea Systems, Inc.
    Inventor: Mike Blevins
  • Publication number: 20090094624
    Abstract: A computer implemented method, apparatus, and computer program product for transferring a privilege to a module. In one embodiment, a set of privileges required to initiate execution of code associated with the software module is identified to form enhanced privileges. The application is frozen. The enhanced privileges are unassigned to the application and the application has insufficient privileges to initiate execution of code associated with the software module. The software module is loaded into available application address space associated with the application. The enhanced privileges are transferred to the application. Execution of the application is unsuspended and the code associated with the software module is executed within the application.
    Type: Application
    Filed: October 4, 2007
    Publication date: April 9, 2009
    Inventors: David Jones Craft, Matthew Douglas Dirba, Vinit Jain
  • Patent number: 7516460
    Abstract: Described is a system and method for creating a runtime connection interface for attributes and element tags defined declaratively in a subclass within a markup document. These subclass attributes may define an event, and the element tags scoped inside a subclass may define a resource, and the like, associated with the subclass being defined within the markup document. During runtime, the runtime connection interface allows a parser to make direct calls to connect the subclass attribute with an associated instance of the subclass. The system and method include identifying an attribute or element tag defined within a markup document. The attribute or element tag is associated with a target element being declaratively defined within the markup document. The attribute may define an event, and an element tag resource, and the like, associated with a target element that is also declared within the subclass in the markup. An identifier for the target element is determined.
    Type: Grant
    Filed: February 28, 2003
    Date of Patent: April 7, 2009
    Assignee: Microsoft Corporation
    Inventor: Sundaram Ramani
  • Patent number: 7512696
    Abstract: A Web Part connection runtime framework provides the architecture for Web Parts to connect and pass data between each other. The runtime framework provides a series of interfaces that a Web Part can implement to send or receive information from other connected Web Parts. The interfaces provided by the runtime framework allow for the connection of Web Parts on a server or client. A first Web Part is retrieved and connected to a second Web Part in response to a user selecting information to be passed from the first Web Part to the second Web Part. Subroutines of the connected Web Parts are fired signaling the Web Parts to pass data from one to another. Once the data is passed, the Web Part receiving data can be rendered while containing the passed data on the server or the client.
    Type: Grant
    Filed: June 13, 2003
    Date of Patent: March 31, 2009
    Assignee: Microsoft Corporation
    Inventors: B. Scott Ruble, Daniel Cheung, Kelsey Allen Pedersen, Greg S. Lindhorst
  • Patent number: 7509637
    Abstract: A method for automatically registering resources required for an application program module to execute. After the application program module is booted, a registration cache, which is stored in association with the application program module, is examined to determine its status. It indicates whether a registry on the computer system needs to be updated, e.g., after the user has moved files or renamed files. If so, a search is made through a predetermined directory to look for an application file or a dynamic link library file. If either is found, a resource fork in association with the file is opened, and it is determined whether there is a self-registration resource or an Object Linking and Embedded (OLE) Type Library (OTLB) in the resource fork. If found, any self-registration resource is registered by initiating a self-registration dynamic link library, and any OTLB resource is registered by initiating an OLE call.
    Type: Grant
    Filed: November 10, 2004
    Date of Patent: March 24, 2009
    Assignee: Microsoft Corporation
    Inventor: Thomas E. Hussey
  • Patent number: 7509429
    Abstract: Systems and methods for message endpoint activation are disclosed. Under an embodiment of the invention, a method includes identifying an active resource adapter for a server; identifying a message listener type that is supported by the active computer resource adapter; establishing a message subscription to provide messages from a message provider to a server component, a subscription request from the server component comprising the active resource adapter and the supported message listener type; and transferring messages from the message provider to a message listener component for the server component utilizing the active resource adapter.
    Type: Grant
    Filed: May 28, 2004
    Date of Patent: March 24, 2009
    Assignee: SAP AG
    Inventors: Nikolai D. Tankov, Violeta G. Georgieva, Svilen M. Dikov
  • Patent number: 7496850
    Abstract: An architectural software framework is provided for creating Web-style application software incorporating protocols and means for expansion and interfacing with other Web-style programs, as well as a reusable basic programming structure, including abstract and concrete data types, that assist in building Web-style applications. The architectural software framework includes a page function and frame. Each Web-style application includes one or more page functions which communicate via the frame.
    Type: Grant
    Filed: March 31, 2005
    Date of Patent: February 24, 2009
    Assignee: Microsoft Corporation
    Inventors: Jan Thomas Miksovsky, David Joel Sheldon
  • Publication number: 20090049459
    Abstract: Technologies, systems and methods for converting symbolic links from one file system format to another. In particular, presented are example technologies that operate in conjunction with NTFS file systems and that determine the need and convert NFS symbolic links to be compatible with NTFS.
    Type: Application
    Filed: August 14, 2007
    Publication date: February 19, 2009
    Applicant: Microsoft Corporation
    Inventors: Roopesh C. Battepati, Michael C. Johnson
  • Patent number: 7493616
    Abstract: A system and method of pre-linking classes for use by one or more applications. The system and method may also be used where the runtime processing is split between a host system and a target system. At the host system at least several classes are loaded and linked. At least one host-linked module is generated from the linked classes. The host-linked module is made available for use by the one or more applications operating on the target system.
    Type: Grant
    Filed: May 30, 2002
    Date of Patent: February 17, 2009
    Assignee: Research In Motion Limited
    Inventors: David P. Yach, John F. A. Dahms
  • Publication number: 20090044172
    Abstract: In a method for generating program code in a load format for a portable data carrier, a pseudo library is used, which differs from the library located on the data carrier in such a way that at least some of the internal workings of the library located on the data carrier are absent or hidden or masked in the pseudo library. In a method for providing executable program code in the portable data carrier, the program code in load format is linked relative to the library located on the data carrier. A device and a computer program product have corresponding features. The invention provides secure, privacy-safeguarding technology, which allows the generation of program code in a load format for a portable data carrier and the provision of executable program code in the portable data carrier.
    Type: Application
    Filed: December 1, 2005
    Publication date: February 12, 2009
    Inventors: Ulrich Kolzenburg, Stephan Spitz, Wolfgang Effing
  • Publication number: 20090037930
    Abstract: An information processing terminal enables, during the execution of a predetermined application program, the addition of an additional program and the execution of the additional program in a predetermined memory. The information processing terminal includes a management device, an acquisition device, an execution device, and a deletion device. The management device manages the additional program and a plug-in point included in the application program by associating the additional program with the plug-in point. The acquisition device acquires, upon execution of the application program up to the plug-in point, the additional program associated with the plug-in point from a predetermined storage device. The execution device executes the acquired additional program in the memory. The deletion device deletes, upon completion of the execution of the additional program, the additional program from the memory.
    Type: Application
    Filed: July 30, 2008
    Publication date: February 5, 2009
    Inventor: Kouichi SHIONO
  • Patent number: 7487500
    Abstract: The invention features a system and method for installing and configuring a common software load in optical network elements. In brief overview, a configurable hardware abstraction layer (HAL) is interposed between the application software and the drivers in the common software load. With the use of a configurable HAL, network elements embodying the invention can use the same common software load for each type of card. Hence, an installer updating or originally configuring the cards in a plurality of network elements can accommodate all of the cards with the transmission of one software load. Instead of centrally tracking and organizing card specific software loads, the common software load in combination with the HAL manages the installation and upgrading process on the local card level.
    Type: Grant
    Filed: October 8, 2004
    Date of Patent: February 3, 2009
    Assignee: Nortel Networks Limited
    Inventors: David McCracken, Paul Crossey, Helen Cassidy
  • Patent number: 7478409
    Abstract: Method and system for interface checking and interface method dispatching for wireless devices. Relationships between classes and object-oriented interfaces are analyzed and certain properties are exploited for use in performing interface checking and/or interface method dispatching.
    Type: Grant
    Filed: March 28, 2003
    Date of Patent: January 13, 2009
    Assignee: Research in Motion Limited
    Inventors: Anthony F. Scian, David P. Yach
  • Publication number: 20090013337
    Abstract: A device, method, and system for switching library managers of a data library while maintaining data library storage devices online. A library manager accepts and executes data transaction commands for access to data residing on the storage devices of the data library. A transition manager module receives a directive to transition library management functions from a first library manager to a second library manager. The transition manager module stops the first library manager from accepting new data transaction commands while maintaining the storage devices online. The first library manager may execute previously accepted data transaction commands. The transition manager module suspends the library management functions of the first library manager and activates the library management functions of the second library manager. The storage devices of the data library may complete data transaction commands throughout the library manager transition.
    Type: Application
    Filed: September 22, 2008
    Publication date: January 8, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James Arthur Fisher, Anthony Andrew Lambert, Dennis Paul Martinez, Tom Owen Pringle, Timothy Clyde Sample, Christine Lynette Telford
  • Publication number: 20090007162
    Abstract: Access to resources on a computer may be provided by using a first namespace of resources and a second namespace of resources, where one or more names are common to both namespaces and those names refer to different respective instances of resources. A request is received for a first resource name from an application, where the first resource name exists in the first resource namespace and in the second resource namespace. In response to the request, whether to obtain a resource from the first namespace or from the second namespace is determined by applying one or more resource policies to the first resource namespace and to the second resource namespace.
    Type: Application
    Filed: June 29, 2007
    Publication date: January 1, 2009
    Applicant: Microsoft Corporation
    Inventor: John M. Sheehan
  • Publication number: 20090007161
    Abstract: In a virtualization environment, there is often a need for an application to access different resources (e.g., files, configuration settings, etc.) on a computer by name. The needed resources can potentially come from any one of a plurality of discrete namespaces or containers of resources on the computer. A resource name can identify one resource in one namespace and another resource in another namespace, and the namespaces may have different precedence relative to one another. The resources needed by the application can be accessed by enumerating names in a logical merger of the namespaces such that as new names in the logical merger are needed they are dynamically chosen from among the namespaces. When two resources in different namespaces have a same name, the resource in the higher precedence namespace can be chosen.
    Type: Application
    Filed: June 29, 2007
    Publication date: January 1, 2009
    Applicant: MICROSOFT CORPORATION
    Inventor: John M. Sheehan
  • Patent number: 7472391
    Abstract: A resource loader provides resource lookup and redirection to computer software applications. The resource loader allows applications to be written using relative Uniform Resource Identifier (“URI”) rather than hard-coded URI that includes a protocol identified at the beginning of the URI and further indicates the location of the resource in a fully qualified path. During execution, applications may initiate execution of the resource loader that in turn locates and returns the resource to the application. In this way, applications may be written that are agnostic as to how their resources are packaged. That is, a change of resource packaging does not necessitate a re-write of the application source code. In some cases, the resource loader may be accessed by one or more applications through an Application Program Interface (API) provided by the resource loader. The applications may also pass a resource identifier for the desired resource to the resource loader.
    Type: Grant
    Filed: February 20, 2004
    Date of Patent: December 30, 2008
    Assignee: Microsoft Corporation
    Inventors: Mark Alcazar, WeiBing Zhan, Sundaram Ramani
  • Patent number: 7472384
    Abstract: On-the-fly patching of executable code includes placing a block of modified instructions in memory, identifying a block of code to be patched, storing instructions to be patched from the block of code to be patched in a storage location, change the instructions to be patched to mark instructions, and adding a jump to the block of modified instructions in the block of code. Prior to the placing and the identifying steps, a write flag for a page in memory where the block of code to be patched is located is set to allow writes, and interrupts are masked. The instructions are replaced in reverse order. The mark instructions are the same length, in bytes, as the instructions to be patched. The modified instructions include a resolver to determine a number of instructions of the block of code to be patched that had already been executed.
    Type: Grant
    Filed: December 2, 2003
    Date of Patent: December 30, 2008
    Assignee: SWsoft Holdings, Ltd.
    Inventors: Serguei M Beloussov, Stanislav S Protassov, Alexander G Tormasov, Alexey V Kostyushko
  • Publication number: 20080307446
    Abstract: Managed and unmanaged code may operate in a document environment by enabling managed code to be called by unmanaged code. The managed code may make functions available to unmanaged code by creating a type library and loading the type library into a running object table using a filename identifier. The filename identifier may be used by the unmanaged code to locate the type library and thereby call managed code functions.
    Type: Application
    Filed: June 8, 2007
    Publication date: December 11, 2008
    Applicant: MICROSOFT CORPORATION
    Inventor: Iouri B Simernitski
  • Patent number: 7464386
    Abstract: Systems and methods for data controls architecture are described. In one aspect, a data source control exposes an interface for generic access to a data store. A data-bound control implements the interface to automatically databind to the data store at an appropriate time during runtime operations of the data-bound control.
    Type: Grant
    Filed: May 17, 2004
    Date of Patent: December 9, 2008
    Assignee: Microsoft Corporation
    Inventors: Brad Millington, Nikhil Kothari, Eilon Lipton, Polita Huff
  • Publication number: 20080301719
    Abstract: A remapping component is provided for facilitating a link between an executable and a function held in a new dynamic link library (DLL) in a computing device. The remapping component is provided with a relocation instruction arranged to update, upon loading, an export data table entry for the remapping component with the address location of the function in the new dynamic link library. In this way, the executable, when calling for the function at an address location in a known DLL, will automatically jump to the address location for the function in the new DLL. The additional subroutines usually associated with remapping DLLs can therefore be avoided, providing improved operation for the computing device.
    Type: Application
    Filed: October 28, 2004
    Publication date: December 4, 2008
    Applicant: SYMBIAN SOFTWARE LIMITED
    Inventor: William Roberts
  • Patent number: 7461386
    Abstract: Apparatus and processes, including computer implemented processes, for managing exceptions throwable during execution of methods in one or more classes by a machine. Each method includes an exception handler array defining exception handlers associated with the method. The method includes combining the exception handler arrays for all methods into a single exception handler table.
    Type: Grant
    Filed: December 23, 2004
    Date of Patent: December 2, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Judith E. Schwabe, Joshua B. Susser
  • Patent number: 7461228
    Abstract: Processes are monitored as components are loaded into memory. Relocation of a component to an alternate base address instead of its preferred base address, causes an alternate component to be created corresponding to the relocated component. The alternate component is a copy of the relocated component, but the preferred base address of the alternate component is reset to be the alternate base address of the relocated component. Additional alternate components may be created for each relocated component, with each additional alternate component being optimized in a different manner. Alternate components may be implemented as alternate data stream of the corresponding relocated components. In response to subsequent requests to load a selected component into memory, it is determined whether the selected component has at least one corresponding alternate component. If so, one of the corresponding alternate components is loaded into memory instead of the selected component.
    Type: Grant
    Filed: March 15, 2006
    Date of Patent: December 2, 2008
    Assignee: RTO Software, Inc.
    Inventor: Kevin Goodman
  • Publication number: 20080294764
    Abstract: A storage medium bears a program which controls a plurality of HBA drivers for controlling operations of a plurality of HBAs connected to a few storage devices through a SAN, a plurality of specific libraries in an SNIA HBA API, each having a function of acquiring information on the corresponding HBA, from the corresponding HBA driver as HBA information, and a common library in the SNIA HBA API, having a function of acquiring HBA information from the respective specific libraries, thereby to acquire the HBA information items and to provide them to a SAN management manager.
    Type: Application
    Filed: May 21, 2008
    Publication date: November 27, 2008
    Applicant: FUJITSU LIMITED
    Inventor: Toshinori Wakako
  • Patent number: 7458073
    Abstract: A development and build environment creates information used by the master node and nodes in a network of nodes to perform software loading and evaluation during boot and normal runtime. The invention creates metadata and dependency data for packages and modules. Module metadata are created and inserted into the package that includes information such as the module's: binary signature, name, directory path, characteristics, and API dependency information. Packages are formed based on features/characteristics or purpose. A package contains one or more modules. Metadata are created for each package and inserted into the package that includes information such as the package's: name, build date, and characteristics.
    Type: Grant
    Filed: December 3, 2003
    Date of Patent: November 25, 2008
    Assignee: Cisco Technology, Inc.
    Inventors: Glen Darling, Matthew Balint, Badari Kakumani, Mala Devlin
  • Patent number: 7454764
    Abstract: A computer method and system provides on-demand transformation between objects of a source programming model and corresponding objects in a target programming model. For different source objects in the source programming model, the invention creates respective target objects. For every created target object, the invention system and method create a respective proxy object. Where a source object has multiple features, the proxy object triggers transformation of a feature only upon access of that feature and the corresponding target object. The present invention operates transparently to a client. Thus, clients do not have to call transform on the feature (children and references) of the source object before accessing any feature of the target object.
    Type: Grant
    Filed: June 29, 2005
    Date of Patent: November 18, 2008
    Assignee: International Business Machines Corporation
    Inventors: Maneesh Goyal, Daniel D. Leroux