US20080256090A1 - Dynamic directory service - Google Patents

Dynamic directory service Download PDF

Info

Publication number
US20080256090A1
US20080256090A1 US12/144,508 US14450808A US2008256090A1 US 20080256090 A1 US20080256090 A1 US 20080256090A1 US 14450808 A US14450808 A US 14450808A US 2008256090 A1 US2008256090 A1 US 2008256090A1
Authority
US
United States
Prior art keywords
directory
directory service
network
nodes
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/144,508
Inventor
Daniel J. Dietterich
Robert S. Phillips
John B. Carter
Scott H. Davis
Steven J. Frank
William Abraham
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Mangosoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25034985&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US20080256090(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US08/850,137 external-priority patent/US6647393B1/en
Application filed by Mangosoft Corp filed Critical Mangosoft Corp
Priority to US12/144,508 priority Critical patent/US20080256090A1/en
Publication of US20080256090A1 publication Critical patent/US20080256090A1/en
Assigned to GOOGLE INC. reassignment GOOGLE INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MANGOSOFT INTELLECTUAL PROPERTY INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1425Reconfiguring to eliminate the error by reconfiguration of node membership
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/182Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1072Decentralised address translation, e.g. in distributed shared memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/964Database arrangement
    • Y10S707/966Distributed
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Definitions

  • the present invention relates in general to directory services and, more specifically, to a dynamic directory service that maintains a directory in which is stored both (1) directory information and (2) information identifying the physical layout or structure of the directory.
  • Computer-based structured storage systems such as computer file systems and database systems
  • Structured storage systems have allowed businesses to generate and maintain enormous stores of persistent data that the company can modify and update over the course of years.
  • This persistent data is a valuable capital asset that is employed each day to perform the company's core operations.
  • the data can be, for example, computer files (e.g., source code, wordprocessing documents, etc.), database records and information (e.g., information on employees, customers, and/or products), and/or Web pages.
  • a typical computer based structured storage system includes a central server that provides centralized control over the structured store of data.
  • the structured store of data is the information that is being maintained by the system, such as information in the files and directories of a file system or within the records of a database system.
  • the central server provides system services to a plurality of interconnected network client nodes, and each of the client nodes employs the central server to access and manipulate the structured store of data.
  • a directory service i.e., a specialized hierarchical database of network, user, and other computer system configuration information.
  • This information typically includes operating system configuration information, application program configuration information, network configuration information, network-accessible resources, exported devices and services, network printers, and user account records.
  • Network user account records are what allow network-wide, unified “log on,” and they allow sophisticated application programs to obtain broader, coherent name spaces (e.g., electronic mail system application programs).
  • Novell's Directory Server available from Novell, Inc. of Provo, Utah, is one example of software that implements a directory service and that runs on a central server to allow maintenance of and access to directory information.
  • central server directory services such as NDS generally work, problems arise from relying on centralized control. For example, the operation of the network is dependent upon the proper functioning of the central server. Any failure of the server to maintain proper operation, such as a power failure, hardware failure, or other such system failure, will disable the entire network and generally prevent users from obtaining access to the network and its resources. Additionally, a flood of client requests (e.g., access of user account records) can overload the central server and slow down or crash the network. Accordingly, reliance on a centralized, server-based directory service can result in slow operation or total network failure during periods of heavy use.
  • An additional problem with a client-server network system is that it provides a static operating environment that is set for optimal performance at a certain level of network activity. Consequently, the network fails to exploit available resources to improve system performance. In particular, as the system activity rises above or drops below the expected level of network activity, the static operating environment lacks any ability to reconfigure dynamically the allocation of network resources to one providing better performance for the present level of activity.
  • This technology has been developed to improve the reliability and operation of a centralized server directory service. This technology involves employing a plurality of central servers. Each of the servers provides a directory service. Whenever the directory information changes, all of the redundant servers are updated so that requests can be made to any of the centralized servers without impacting the correctness of the response.
  • Examples of this centralized, statically replicated, hierarchical directory service technology include Microsoft's Active Directory (NT 5.0), NDS, Banyan's Streetalk, and X.500 directory services.
  • Lightweight Directory Access Protocol (LDAP) is a “common” protocol that can be used to access data from any compatible directory server such as NDS.
  • directory information e.g., network configuration information, organizational information, user configuration information, and network-accessible resources such as exported devices and services, network printers, and user account records
  • the directory service of the invention maintains both the physical location information and the directory information itself in the same data structure. That data structure is distributed around the network, and all of the directory information is homeless (except, usually, a root record).
  • the distributed directory service of the invention allows network nodes to locate copies of records to which the nodes want access.
  • a globally unique identifier (GUID) is associated with each record as a unique index key that can be used to identify the record on the network. It contains no location information, and a given record can be physically located anywhere on the network.
  • Each of the records also can migrate from physical location (node) to physical location (node) around the network.
  • the invention provides automatic migration and/or replication of directory information among the network nodes without reconfiguring the network nodes and in a manner transparent to users at the nodes.
  • An example of a mechanism that can be used to keep replicated records consistent is a single-writer, multiple-reader, write-invalidate protocol.
  • the directory service of the invention can, in some specific embodiments, employ a globally-addressable unstructured memory system to maintain simultaneously both the directory information and layout information in accordance with the invention.
  • the directory service can employ the distributed shared memory (DSM) system described in the above-identified, incorporated-by-reference patent applications, which DSM system distributes the storage of data across some or all of the storage devices connected to a network.
  • Storage devices that may be connected to the network and accessible to the network nodes by address via the DSM system include, for example, RAM, hard disk drives, tape drives, floppy disk drives, and CD-ROM drives.
  • the dynamic directory service is a computer program that interfaces to a DSM system to operate the DSM system as a memory device that provides storage of and access to the directory information.
  • the directory service program can direct the DSM system to map directory information into the shared memory space.
  • the DSM system can include functionality to share, migrate, and replicate data coherently.
  • the DSM system provides memory device services to the directory service program. These services can include read, write, allocate, flush, or any other similar or additional service suitable for providing low level control of a storage device.
  • the directory service program employs these DSM system services to allocate and access portions of the shared memory space for creating and manipulating the directory information.
  • a system and related method for accessing directory information includes a computer network, a globally addressable data storage system, and a plurality of computers coupled to the network and the data storage system.
  • the globally addressable data storage system provides persistent storage of data and contains directory information.
  • the plurality of computers access the data storage system to obtain directory information. Based on the access patterns by the computers and/or the available network resources, the data storage system replicates and migrates directory information among two or more of the computers.
  • the invention relates to a method comprising the steps of providing a plurality of nodes interconnected by a network and storing on one or more of the nodes a directory containing both the directory information and information about the layout of the directory (i.e., where to find the directory information).
  • the invention in another aspect, relates to a method comprising the steps of providing a plurality of nodes interconnected by a network, providing a directory service on the network by installing on each of the nodes a directory service program that allows directory information to be accessed by each of the nodes and that stores on one or more of the nodes a directory including both the directory information and information about the location of the directory information on the network, and obtaining both the physical location of directory information of interest and the directory information of interest itself by accessing the directory service.
  • FIG. 1 is a conceptual block diagram of a dynamic directory service according to the invention.
  • FIG. 2 is a diagram of the types of directory information that can be maintained by a dynamic directory service of the invention.
  • FIG. 3 is a diagram of a directory record used by a dynamic directory service according to the invention.
  • FIG. 4A is a flowchart of the steps a directory service of the invention takes to service a request from a network node for directory information.
  • FIG. 4B is a flowchart disclosing additional detail of the steps taken by the directory service to service the network node's request for directory information.
  • FIG. 5 is a diagram showing an example of directory records of a distributed dynamic directory service according to the invention.
  • a computer network system 10 includes a plurality of network nodes that access a common directory service.
  • the directory service is a specialized hierarchical structured database. Examples of the types of information that can be stored and maintained by the directory service include operating system configuration information, application program configuration information, network configuration information, network-accessible resources, exported devices and services, network printers, and network user account records.
  • Each of the nodes on the network includes at least a directory service program that accesses and manages the directory service.
  • the directory service may be stored in an addressable shared memory or it may be stored in a more traditional fashion. For example, each node may be responsible for storing a particular element or elements of the directory service.
  • the directory service program can access a desired portion of the structured store using a globally-unique tag or identifier.
  • the underlying system would translate the tag or identifier into one or more commands for accessing the desired data, including network transfer commands.
  • the directory service is stored in an addressable shared memory space, which allows the network nodes transparently to access portions of the structured store using standard memory access commands.
  • the tag or identifier is an address into an addressable memory space such as a 128-bit address space.
  • the system 10 can be a file system, a database system a Web server, an object repository system, or any other structured storage system that maintains an organized set of data.
  • the system 10 is a directory service that maintains various directory information.
  • the network system 10 includes a plurality of network nodes 12 a - 12 d and a common directory service subsystem 20 that provides a dynamic directory service 22 according to the invention.
  • the dynamic directory service 22 maintains and provides access to data including both the directory information itself and the physical layout of the directory on the network.
  • Each of the nodes 12 a - 12 d can include several sub-elements.
  • node 12 a includes a processor 30 a and a directory service program 32 a for accessing the directory service 22 .
  • One or more of the nodes can include a monitor for displaying graphically ( 40 , 42 ) the directory service 22 .
  • a system 10 according to the invention can provide, among other things, each network node 12 a - 12 d with shared control over the directory service 22 and, therefore, the system 10 can distribute control of the directory information across the nodes of the network.
  • each node of the system 10 such as node 12 a , includes a directory service program 32 a that operates as a structured directory service adapted to maintain directory information and to employ all of the network nodes for storing and allowing access to the directory information.
  • These cooperating elements provide a structured storage system that has a distributed architecture and thereby achieves greater fault tolerance, reliability, and flexibility than known directory services that rely on centralized control and one or more centralized servers. Accordingly, the invention provides computer networks with distributively controlled and readily scaled directory services.
  • the system 10 maintains a directory service 22 within a globally addressable unstructured storage system.
  • Each of the nodes 12 a - 12 d can access that storage system and the directory service 22 through the directory service programs 32 a - 32 d .
  • At least a portion of the globally addressable unstructured storage system is supported by a physical memory system that provides persistent storage of data.
  • a portion of the storage system can be assigned or mapped to one or more hard disk drives that are on the network or associated with one or more of the network nodes 12 a - 12 d as local hard disk storage for those particular nodes. Accordingly, FIG.
  • FIG. 1 illustrates one possible system that provides the network nodes with access to a globally addressable unstructured storage system, wherein at least a portion of the storage space of that system is assigned to at least a portion of one or more of the persistent storage devices (e.g., hard disks) to allow the nodes addressably to store and retrieve data to and from the one or more persistent storage devices.
  • the globally addressable storage system is described in the above-identified, incorporated-by-reference applications.
  • Each of the directory service programs 32 a - 32 d is a software module that couples to the directory service.
  • the directory service program 32 a can stream data to, and collect data from, the directory service subsystem.
  • Each of the directory service programs 32 a - 32 d can be a peer incarnation (i.e., an instance) residing on a different one of the network nodes 12 a - 12 d.
  • One or more of the directory service programs 32 a - 32 d can provide a graphical user interface 42 that graphically depicts the directory service 22 .
  • the graphical user interface 42 could allow a user at a node, for example at node 12 a , to insert directory information graphically within the directory service 22 .
  • the directory service program 32 a can generate a set of commands that will present a stream of data that will result in directory information being stored within the directory service 22 .
  • that node (which includes a graphical user interface 40 ) reflects the change to the directory service 22 affected by the directory service program 32 a of the node 12 a .
  • the graphical user interface 40 of the node 12 c can depict to a user that certain directory information is being placed within the directory service 22 .
  • a system user at node 12 a can direct item 50 a to be inserted at a set location within the directory service 22 .
  • the directory service program 32 a then places the item 50 a within the directory service 22 at the proper location.
  • node 12 c detects the change within the directory service 22 and reflects that change within its graphical user interface 40 .
  • a structured dynamic directory service looks to all network nodes like a coherent, single directory service system when in fact it spans all participating nodes coupled to the network.
  • the directory service of the invention differs from known directory services in a variety of ways.
  • the directory service of the invention maintains data coherence among network nodes; automatically replicates directory information for redundancy and fault tolerance; automatically and dynamically migrates directory information to account for varying network usage and traffic patterns; and provides a variety of other advantages and advances, some of which are disclosed in the above-identified, incorporated-by-reference applications.
  • the replication and migration can be done on the basis of node accesses and/or on the basis of the availability of network resources.
  • a directory service includes a structured store of data organized as a directory information set 66 .
  • the set 66 is a tree structure starting at a root 80 and ending at a leaf (for example, leaf 82 ). Each leaf represents a particular piece of directory information (e.g., user name or password).
  • the set 66 thus is a collection of directory information organized hierarchically, for example as a tree structure or as a graph, rooted in the root 80 .
  • the non-leaf nodes in the tree are the entries 90 , 92 , 94 , 100 , 102 , 200 , 202 , and 204 , and the leaves in the tree are particular pieces of directory information 91 , 82 , 84 , 86 , 201 , and 205 - 212 (e.g., a password or a network printer identifier) or empty entries.
  • Sub-trees within a set can overlap by linking a leaf or a non-leaf to multiple entries.
  • the directory service of the invention can, as an option, employ more than one set.
  • a benefit of breaking up the directory service 60 into a plurality of sets is that it may provide more flexible management for users of the directory service.
  • the directory service grows into very large sizes (e.g., hundreds of nodes with thousands of gigabits of storage), it may be desirable to have the directory information organized into groups of management entities such that management actions can be independently applied to individual groups without affecting the operation of the others.
  • the root (e.g., the root 80 ) provides the starting point to locate the directory information maintained by the directory service of the invention.
  • the root can be, and preferably is, stored in a static and well-known location on the network (e.g., at a particular address or on one or more network nodes).
  • a node When a node is accessing a set for the first time, it first looks up the root to determine the key associated with the set. Once it has determined the key, the node can access the root of the set. From the root, it then can traverse the set's entire tree to locate the desired piece of directory information.
  • a network node requesting the password of a user named Jones might pass the following string to the directory service: /USERS/JONES/PASSWORD.
  • the directory service would then reference the set 66 and might find that the root 80 contains a list of all users, the non-leaf node 90 contains information about the user Jones, and the leaf 82 contains user Jones' password.
  • all of this information can reside physically on different network nodes and in fact can migrate from node to node and can be replicated on a plurality of network nodes.
  • FIGS. 3 , 4 A, 4 B, and 5 further and more particularly illustrate the structure of a hierarchical distributed dynamic directory service according to the invention.
  • a directory record 320 includes a record header 322 and one or more directory entries (two are shown, 324 and 326 ). Each directory entry includes a key field 330 and one or more data fields 332 .
  • the key field 330 could be, for example, “company name,” and the associated data field 332 could be “Acme Corporation.” Note that for GUID tree records (described below), there preferably are two data fields, namely “GUID of next record” identifying the identifier of the next record to be referenced by the directory service and “GUID responsible node” identifying the node responsible for the “GUID of next record.”
  • the key field 330 could also be a globally unique identifier (GUID).
  • the data field 332 can include actual directory information (for example, “Acme Corporation”), information about where to go to locate the directory information of interest or additional information about where to go to locate it (for example, a globally unique identifier or GUID), or information about what nodes have copies of the directory information of interest.
  • actual directory information for example, “Acme Corporation”
  • additional information about where to go to locate it for example, a globally unique identifier or GUID
  • GUID globally unique identifier
  • directory record 320 can be a page of a global address space that spans both persistent (e.g., hard disks) and volatile (e.g., RAM) storage devices.
  • the page can be a 4 kilobyte portion of the shared address space described in the above-identified, incorporated-by-reference applications.
  • the GUIDs are unique addresses of the global address space such as 128-bit addresses in a huge 2 128 address space.
  • each directory record 320 includes a record header 322 that includes attribute information for that record, and that attribute information typically is metadata for the directory record.
  • the record 320 further includes one or more directory entries, such as the depicted directory entries 324 and 326 , that provide an index into a portion of the directory service (non-leaf entries) or actual directory information (leaf entries).
  • the non-leaf directory entries subdivide the directory information maintained by the directory service of the invention. For example, if the directory entries 324 and 326 are entries of a GUID tree record, they can subdivide the directory into two sub-portions, with the first portion referencing one-half of the directory and the second portion referencing the other half of the directory.
  • the directory entry 324 provides an index for half of the directory, and in complement thereto the directory entry 326 provides an index for the other half.
  • each of these directory entries 324 , 326 can, via the data fields, point to other records and responsible nodes in which directory entries have data fields that point to still other records and responsible nodes and so on until the actual directory information of interest is located in some data field of some entry of some record by the directory service (a so-called leaf entry).
  • the directory service then provides that directory information to the requesting node.
  • the directory service of the invention provides both (1) location information for directory information maintained by the directory service and (2) the actual directory information itself, all in the same directory structure.
  • GUIDs globally unique identifiers
  • a GUID subtree within the directory provides a map or assignment of GUIDs to network nodes that have a copy of certain directory information. It is the leaf nodes of the GUID subtree that identify the one or more nodes that have a copy of desired directory information. Once these nodes are identified by the directory service, the directory service accesses one or more of them (typically just one of the identified nodes) to obtain the directory information and then pass it to the requesting node.
  • the directory system can choose which node to contact to obtain the directory information based on the state of the global system such as the current load on the various nodes or the quality of the network service between the local node and the node(s) that have copies of the desired directory record.
  • a network node passes an appropriate key to the directory service (step 500 ).
  • the node might pass the following key to the directory service: /USERS/JONES/PASSWORD.
  • the directory service receives the key and either locates the desired directory information and passes it to the requesting node or returns an error if the desired directory information cannot be found (step 600 ). More specifically, in attempting to satisfy the request from the node, the directory service of the invention first determines if the key corresponds to directory information that is stored on the node itself in, for example, the node's RAM or on the node's hard disk (step 602 ).
  • the directory service performs step 602 by accessing a lookup table (such as a hash table) maintained by each of the network nodes. This table identifies the directory records that are locally cached on the node. If the requested directory information is stored locally on the requesting node, the directory service retrieves the requested directory information from the node's local cache and then provides that directory information to the node (step 604 ). If the requested directory information is not stored locally on the requesting node, the directory service recursively invokes itself to access the directory record(s) that have the GUID tree structure, and the directory service descends or walks the GUID tree by accessing the various records until the desired directory entry is located.
  • a lookup table such as a hash table
  • the leaf node in the GUID tree contains the mapping from GUID to the set of nodes caching the record associated with that GUID.
  • the directory service uses this information to select a node from which it acquires a copy of the desired record (step 606 ).
  • the directory service then obtains the requested directory information and provides it to the node (step 608 ).
  • the directory service first always checks to see if entries indexed by a GUID are cached locally before the directory service invokes recursively the GUID tree to locate a copy of the record remotely.
  • the directory service can store a copy of (replicate) this directory information (e.g., user Jones' password) on the requesting node.
  • this directory information e.g., user Jones' password
  • all or a portion of the record that contains this directory information is replicated on the requesting node.
  • the directory service decides to replicate this record on the requesting node, the directory service adds the requesting node's identifier (e.g., a number) to the leaf node in the GUID tree that stores the list of nodes caching the record associated with the GUID, and the directory service then updates or invalidates the local caches of all of the other network nodes that also have that directory record cached locally.
  • the directory service makes the decision on whether or not to replicate based on node access patterns and/or on the availability of certain network resources. For example, if a node has requested a certain record a certain number of times, the directory service will replicate that record on that node.
  • the directory service monitors and records a variety of network information, including node access patterns and network resource availability, and some or all of this network information is used to determine what records should be replicated on what nodes.
  • this replication feature of the directory service results in certain records being replicated on the nodes that most often access those records and not being replicated on (and/or removed from) nodes that access those records less often or not at all.
  • the directory service of the invention provides this replication feature dynamically during normal operation, and thus, as access patterns change, the records and the copies of the records move or migrate among the various network nodes to accommodate the changing patterns.
  • This replication/migration feature of the invention points up an important aspect of the invention, and that is that all of the directory records are homeless (except possibly the root directory record which, while it typically will be replicated, typically is placed at fixed locations on the network).
  • the directory records contain, according to the invention, both the GUID tree structure (i.e., the information about where directory information is located) and the actual directory information, the directory structure (i.e., the GUID tree) is dynamically moved and replicated among the network nodes just as is the directory information itself.
  • networks utilizing the directory service of the invention can be expanded (i.e., additional nodes can be added to the network and/or other networks can be interconnected to the network) without substantially impacting the performance and speed realized by the nodes as they access directory information via the directory service. That is, the directory service scales very well. This is because, once the network is up and running, all nodes generally will have cached locally the records they most often access, and access times for these nodes for the directory information that is cached locally will be the same (very fast) regardless of the size of or the traffic on the network.
  • Step 606 includes the following substeps that are performed by the directory service.
  • the directory service first locates the root directory record (step 610 ), and it indexes into that record using the key (e.g., /USERS/JONES/PASSWORD) passed to it by the requesting node.
  • the directory service then checks to see if a portion of the key (e.g., /USERS) matches a directory entry in the root directory (step 612 ). If it does not match, the directory service returns an error message to the requesting node (step 614 ).
  • the key e.g., /USERS/JONES/PASSWORD
  • the directory service next determines if that directory entry contains the requested directory information in its data field (step 616 ). If so, the directory service retrieves the requested directory information from that data field and provides it to the requesting node ( 618 ).
  • a root directory record 400 could be the root record referred to in step 612 . If directory 402 contains the requested directory information in its data field (step 616 ), the directory service need only to index into that entry 402 using the key and retrieve the requested directory information from the data field. Note that, as indicated in FIG. 5 , the root directory record 400 could be replicated ( 401 , 403 , 405 ) on three other network nodes in accordance with the replication feature of the directory service of the invention. In fact, it may be that the root directory record 400 is replicated on all network nodes. This could be reasonable in light of the fact that every network node will likely refer to the root directory record when the node first invokes the directory service of the invention, and frequently thereafter.
  • the directory service determines whether the entry's data field contains a GUID (step 620 ). If it does contain a GUID, this means that the GUID tree must be navigated by the directory service to located the requested directory information.
  • the directory service thus follows the GUID in the root directory record's entry's data field to a new directory record (step 628 ), possibly the GUID tree root directory record ( 404 in FIG. 5 ).
  • the GUID thus is a logical link to a record that will provide more information about the GUID tree structure and ultimately allow the directory service to locate the requested directory information.
  • the GUID in the root directory record's entry's data field can be a logical link or pointer to a record that is the GUID tree root directory record 404 .
  • the GUID tree root directory record 404 is likely to be replicated on many or all of the network nodes.
  • two replicas ( 405 , 407 ) of the record 404 are depicted.
  • the loop defined by steps 628 , 630 , and 634 in FIG. 4B illustrates the recursive nature of the directory service. That is, once the GUID tree records are entered via the GUID tree root directory record 404 ( FIG. 5 ), and if the data fields of the appropriate directory entries in the GUID tree records contain GUIDs, the directory service will enter a recursive loop whereby it accesses a plurality of records (identified by the ellipsis 410 in FIG. 5 ) until it reaches a record that has a directory entry with one or more nodes listed its data field (step 622 ). Such a record is a leaf of the GUID tree structure, and is indicated as record 412 in FIG. 5 .
  • this record 412 can be replicated ( 413 ) on at least one other network node. Also, while not presently preferred, in general it is possible at any point during this recursive GUID tree walk to encounter a directory entry having the requested directory information in its data field (step 630 of FIG. 4B ), and in such a case the directory service would retrieve from the data field the requested directory information and provide it to the requesting node ( 632 ).
  • the cache of locally stored directory entries can be indexed so that at any stage of the GUID tree walk operation it is possible to obtain the desired record from the local cache instead of the tree structure. For example, if record 398 is cached on the node attempting to lookup “/USERS/JONES/PASSWORD,” the directory service will be able to find the locally cached record via a hash lookup for either /USERS/JONES/PAS SWORD or the corresponding GUID. Similarly, while traversing the GUID subtree, the directory service first always checks to see if entries indexed by a GUID are cached locally before the directory service invokes recursively the GUID tree to locate a copy of the record remotely.
  • the various records that the directory service accesses lead the directory service to the leaf record 412 .
  • the directory service first always checks to see if entries indexed by a GUID are cached locally before the directory service invokes recursively the GUID tree to locate a copy of the record remotely.
  • the directory service uses the responsible node information in the data fields of the GUID tree records in the location process.
  • the data field in the entry 411 of the GUID leaf record 412 contains a list of nodes. This is a list of nodes that have a copy of the record that contains the requested directory information.
  • the directory service can now access any one of those listed nodes to obtain the requested directory information (step 624 ).
  • the directory service of the invention will find an entry in the root directory record 400 that provides a logical link (e.g., GUID “12540”) in its data field directly to an entry 399 in a record 398 that has the requested directory information in its data field. It also is possible, as mentioned hereinabove, that an entry 402 in the root directory record 400 itself will have the requested directory information in its data field.
  • GUID logical link
  • a typical situation is when the GUID tree is walked by the directory service via the GUID tree records in order to locate and return the requested directory information to the requesting network node.
  • the directory service tracks ownership and responsibility for directory information thereby providing a level of indirection between the actual directory information itself and the physical location of that directory information on the network.
  • the directory service of the invention comprises a hierarchical structured storage mechanism for directory information.
  • the directory service of the invention provides a structure that continually subdivides itself into smaller and smaller sections. Further, each section is represented by directory records of the same structure, but each section indexes different amounts (sizes) of directory information.
  • directory records will migrate to those nodes that access them most, providing a degree of self-organization that reduces network traffic.
  • all of the functionality of the directory service of the invention can be implemented in software.
  • an instance of a directory service program resides and executes on each of the network nodes and provides all of the directory service features and functionality described herein. It is possible to perform one or more of the various functions of the directory service with dedicated electronics or a combination of hardware and software, and this hardware might be added to a general purpose computer to implement the directory service of the invention.

Abstract

In a network of computer nodes, a directory service provides both the physical location of directory information around the network and the directory information itself in a single data structure. This single data structure is distributed throughout the network, and continuously redistributed, so as to create a directory service that is both more flexible, and more robust, than prior art directory services.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation-in-part of co-pending U.S. patent applications Ser. No. 08/754,481, filed Nov. 22, 1996, and Ser. No. ______ filed Mar. 28, 1997 and bearing attorney docket number CLC-002. The entirety of both of these applications is incorporated herein by reference.
  • TECHNICAL FIELD
  • The present invention relates in general to directory services and, more specifically, to a dynamic directory service that maintains a directory in which is stored both (1) directory information and (2) information identifying the physical layout or structure of the directory.
  • BACKGROUND INFORMATION
  • Computer-based structured storage systems, such as computer file systems and database systems, have been remarkably successful at providing users with quick and facile access to enormous amounts of data Structured storage systems have allowed businesses to generate and maintain enormous stores of persistent data that the company can modify and update over the course of years. For many companies, this persistent data is a valuable capital asset that is employed each day to perform the company's core operations. The data can be, for example, computer files (e.g., source code, wordprocessing documents, etc.), database records and information (e.g., information on employees, customers, and/or products), and/or Web pages.
  • A typical computer based structured storage system includes a central server that provides centralized control over the structured store of data. The structured store of data is the information that is being maintained by the system, such as information in the files and directories of a file system or within the records of a database system. The central server provides system services to a plurality of interconnected network client nodes, and each of the client nodes employs the central server to access and manipulate the structured store of data.
  • It is common to use the central network server to provide a directory service, i.e., a specialized hierarchical database of network, user, and other computer system configuration information. This information typically includes operating system configuration information, application program configuration information, network configuration information, network-accessible resources, exported devices and services, network printers, and user account records. Network user account records are what allow network-wide, unified “log on,” and they allow sophisticated application programs to obtain broader, coherent name spaces (e.g., electronic mail system application programs). Novell's Directory Server (NDS), available from Novell, Inc. of Provo, Utah, is one example of software that implements a directory service and that runs on a central server to allow maintenance of and access to directory information.
  • Although central server directory services such as NDS generally work, problems arise from relying on centralized control. For example, the operation of the network is dependent upon the proper functioning of the central server. Any failure of the server to maintain proper operation, such as a power failure, hardware failure, or other such system failure, will disable the entire network and generally prevent users from obtaining access to the network and its resources. Additionally, a flood of client requests (e.g., access of user account records) can overload the central server and slow down or crash the network. Accordingly, reliance on a centralized, server-based directory service can result in slow operation or total network failure during periods of heavy use.
  • An additional problem with a client-server network system is that it provides a static operating environment that is set for optimal performance at a certain level of network activity. Consequently, the network fails to exploit available resources to improve system performance. In particular, as the system activity rises above or drops below the expected level of network activity, the static operating environment lacks any ability to reconfigure dynamically the allocation of network resources to one providing better performance for the present level of activity.
  • Technology has been developed to improve the reliability and operation of a centralized server directory service. This technology involves employing a plurality of central servers. Each of the servers provides a directory service. Whenever the directory information changes, all of the redundant servers are updated so that requests can be made to any of the centralized servers without impacting the correctness of the response.
  • While this statically replicated technology improves upon the single server arrangement, it generally performs poorly or fails as the size of the network increases. As client nodes are added to the network and more directory servers are added to the network to handle the corresponding increased network load, the sustainable update rate of information managed by the servers decreases because the overhead and complexity of propagating updates (i.e., changes to the data stored in and replicated across the directory servers) increases with the increased network size. Thus, known directory services are inherently read-mostly repositories, and that is the way they are designed and used. That is, known directory services are used only for infrequently-updated directory information.
  • Examples of this centralized, statically replicated, hierarchical directory service technology include Microsoft's Active Directory (NT 5.0), NDS, Banyan's Streetalk, and X.500 directory services. Lightweight Directory Access Protocol (LDAP) is a “common” protocol that can be used to access data from any compatible directory server such as NDS.
  • SUMMARY OF THE INVENTION
  • It is an object of the invention to provide a dynamic directory service that is an improvement over centralized, statically replicated, hierarchical database directory services.
  • It is also an object of the invention to provide a dynamic directory service that maintains a directory in which is stored both (1) directory information and (2) the physical layout of the directory itself. That is, the invention involves the use of a directory having both information about where to find the directory information of interest as well as the actual directory information.
  • It is a further object of the invention to provide a dynamic directory service that is more reliable and provides improved fault tolerant operation over existing directory services, and that has the ability to replicate and move data dynamically in response to network activity levels and access patterns. This ability optimizes performance and minimizes the time required, to provide directory information (e.g., network configuration information, organizational information, user configuration information, and network-accessible resources such as exported devices and services, network printers, and user account records) to requesting network nodes.
  • It is yet another object of the invention to provide a dynamic directory service that provides distributed control over a structured store of directory information and that allows that information to be changed and/or updated with higher frequency than generally possible with existing directory services without adversely effecting network performance or network node access times.
  • It is still another object of the invention to provide a dynamic directory service that maintains and allows access to frequently-changing, as well as infrequently-changed, directory information.
  • The directory service of the invention maintains both the physical location information and the directory information itself in the same data structure. That data structure is distributed around the network, and all of the directory information is homeless (except, usually, a root record). The distributed directory service of the invention allows network nodes to locate copies of records to which the nodes want access. A globally unique identifier (GUID) is associated with each record as a unique index key that can be used to identify the record on the network. It contains no location information, and a given record can be physically located anywhere on the network. Each of the records also can migrate from physical location (node) to physical location (node) around the network. The invention provides automatic migration and/or replication of directory information among the network nodes without reconfiguring the network nodes and in a manner transparent to users at the nodes. An example of a mechanism that can be used to keep replicated records consistent is a single-writer, multiple-reader, write-invalidate protocol.
  • The directory service of the invention can, in some specific embodiments, employ a globally-addressable unstructured memory system to maintain simultaneously both the directory information and layout information in accordance with the invention. For example, the directory service can employ the distributed shared memory (DSM) system described in the above-identified, incorporated-by-reference patent applications, which DSM system distributes the storage of data across some or all of the storage devices connected to a network. Storage devices that may be connected to the network and accessible to the network nodes by address via the DSM system include, for example, RAM, hard disk drives, tape drives, floppy disk drives, and CD-ROM drives. In some embodiments, the dynamic directory service is a computer program that interfaces to a DSM system to operate the DSM system as a memory device that provides storage of and access to the directory information. The directory service program can direct the DSM system to map directory information into the shared memory space. The DSM system can include functionality to share, migrate, and replicate data coherently. In one embodiment, the DSM system provides memory device services to the directory service program. These services can include read, write, allocate, flush, or any other similar or additional service suitable for providing low level control of a storage device. The directory service program employs these DSM system services to allocate and access portions of the shared memory space for creating and manipulating the directory information. In connection with these embodiments, a system and related method for accessing directory information includes a computer network, a globally addressable data storage system, and a plurality of computers coupled to the network and the data storage system. The globally addressable data storage system provides persistent storage of data and contains directory information. The plurality of computers access the data storage system to obtain directory information. Based on the access patterns by the computers and/or the available network resources, the data storage system replicates and migrates directory information among two or more of the computers.
  • In one aspect, the invention relates to a method comprising the steps of providing a plurality of nodes interconnected by a network and storing on one or more of the nodes a directory containing both the directory information and information about the layout of the directory (i.e., where to find the directory information).
  • In another aspect, the invention relates to a method comprising the steps of providing a plurality of nodes interconnected by a network, providing a directory service on the network by installing on each of the nodes a directory service program that allows directory information to be accessed by each of the nodes and that stores on one or more of the nodes a directory including both the directory information and information about the location of the directory information on the network, and obtaining both the physical location of directory information of interest and the directory information of interest itself by accessing the directory service.
  • The foregoing and other objects, aspects, features, and advantages of the invention will become more apparent from the following description and from the claims.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • In the drawings, like reference characters generally refer to the same parts throughout the different views. Also, the drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention.
  • FIG. 1 is a conceptual block diagram of a dynamic directory service according to the invention.
  • FIG. 2 is a diagram of the types of directory information that can be maintained by a dynamic directory service of the invention.
  • FIG. 3 is a diagram of a directory record used by a dynamic directory service according to the invention.
  • FIG. 4A is a flowchart of the steps a directory service of the invention takes to service a request from a network node for directory information.
  • FIG. 4B is a flowchart disclosing additional detail of the steps taken by the directory service to service the network node's request for directory information.
  • FIG. 5 is a diagram showing an example of directory records of a distributed dynamic directory service according to the invention.
  • DESCRIPTION
  • According to the invention, a computer network system 10 includes a plurality of network nodes that access a common directory service. The directory service is a specialized hierarchical structured database. Examples of the types of information that can be stored and maintained by the directory service include operating system configuration information, application program configuration information, network configuration information, network-accessible resources, exported devices and services, network printers, and network user account records. Each of the nodes on the network includes at least a directory service program that accesses and manages the directory service. The directory service may be stored in an addressable shared memory or it may be stored in a more traditional fashion. For example, each node may be responsible for storing a particular element or elements of the directory service. In such an embodiment, the directory service program can access a desired portion of the structured store using a globally-unique tag or identifier. The underlying system would translate the tag or identifier into one or more commands for accessing the desired data, including network transfer commands. In another embodiment, the directory service is stored in an addressable shared memory space, which allows the network nodes transparently to access portions of the structured store using standard memory access commands. In a preferred embodiment, the tag or identifier is an address into an addressable memory space such as a 128-bit address space.
  • The system 10 can be a file system, a database system a Web server, an object repository system, or any other structured storage system that maintains an organized set of data. In the disclosed embodiment, the system 10 is a directory service that maintains various directory information.
  • Referring to FIG. 1, in one embodiment, the network system 10 includes a plurality of network nodes 12 a-12 d and a common directory service subsystem 20 that provides a dynamic directory service 22 according to the invention. The dynamic directory service 22 maintains and provides access to data including both the directory information itself and the physical layout of the directory on the network. Each of the nodes 12 a-12 d can include several sub-elements. For example, node 12 a includes a processor 30 a and a directory service program 32 a for accessing the directory service 22. One or more of the nodes can include a monitor for displaying graphically (40, 42) the directory service 22.
  • A system 10 according to the invention can provide, among other things, each network node 12 a-12 d with shared control over the directory service 22 and, therefore, the system 10 can distribute control of the directory information across the nodes of the network. To this end, each node of the system 10, such as node 12 a, includes a directory service program 32 a that operates as a structured directory service adapted to maintain directory information and to employ all of the network nodes for storing and allowing access to the directory information. These cooperating elements provide a structured storage system that has a distributed architecture and thereby achieves greater fault tolerance, reliability, and flexibility than known directory services that rely on centralized control and one or more centralized servers. Accordingly, the invention provides computer networks with distributively controlled and readily scaled directory services.
  • Still referring to FIG. 1, in one embodiment, the system 10 maintains a directory service 22 within a globally addressable unstructured storage system. Each of the nodes 12 a-12 d can access that storage system and the directory service 22 through the directory service programs 32 a-32 d. At least a portion of the globally addressable unstructured storage system is supported by a physical memory system that provides persistent storage of data. For example, a portion of the storage system can be assigned or mapped to one or more hard disk drives that are on the network or associated with one or more of the network nodes 12 a-12 d as local hard disk storage for those particular nodes. Accordingly, FIG. 1 illustrates one possible system that provides the network nodes with access to a globally addressable unstructured storage system, wherein at least a portion of the storage space of that system is assigned to at least a portion of one or more of the persistent storage devices (e.g., hard disks) to allow the nodes addressably to store and retrieve data to and from the one or more persistent storage devices. The globally addressable storage system is described in the above-identified, incorporated-by-reference applications.
  • Each of the directory service programs 32 a-32 d is a software module that couples to the directory service. The directory service program 32 a can stream data to, and collect data from, the directory service subsystem. Each of the directory service programs 32 a-32 d can be a peer incarnation (i.e., an instance) residing on a different one of the network nodes 12 a-12 d.
  • One or more of the directory service programs 32 a-32 d can provide a graphical user interface 42 that graphically depicts the directory service 22. The graphical user interface 42 could allow a user at a node, for example at node 12 a, to insert directory information graphically within the directory service 22. To this end, the directory service program 32 a can generate a set of commands that will present a stream of data that will result in directory information being stored within the directory service 22. As shown in FIG. 1, for node 12 c only for simplicity, that node (which includes a graphical user interface 40) reflects the change to the directory service 22 affected by the directory service program 32 a of the node 12 a. In particular, the graphical user interface 40 of the node 12 c can depict to a user that certain directory information is being placed within the directory service 22. As illustrated, a system user at node 12 a can direct item 50 a to be inserted at a set location within the directory service 22. The directory service program 32 a then places the item 50 a within the directory service 22 at the proper location. Moreover, node 12 c detects the change within the directory service 22 and reflects that change within its graphical user interface 40.
  • A structured dynamic directory service according to the invention looks to all network nodes like a coherent, single directory service system when in fact it spans all participating nodes coupled to the network. The directory service of the invention differs from known directory services in a variety of ways. For example, the directory service of the invention: maintains data coherence among network nodes; automatically replicates directory information for redundancy and fault tolerance; automatically and dynamically migrates directory information to account for varying network usage and traffic patterns; and provides a variety of other advantages and advances, some of which are disclosed in the above-identified, incorporated-by-reference applications. The replication and migration can be done on the basis of node accesses and/or on the basis of the availability of network resources.
  • Referring to FIG. 2, a directory service according to the invention includes a structured store of data organized as a directory information set 66. The set 66 is a tree structure starting at a root 80 and ending at a leaf (for example, leaf 82). Each leaf represents a particular piece of directory information (e.g., user name or password). The set 66 thus is a collection of directory information organized hierarchically, for example as a tree structure or as a graph, rooted in the root 80. The non-leaf nodes in the tree (not including the root 80) are the entries 90, 92, 94, 100, 102, 200, 202, and 204, and the leaves in the tree are particular pieces of directory information 91, 82, 84, 86, 201, and 205-212 (e.g., a password or a network printer identifier) or empty entries. Sub-trees within a set can overlap by linking a leaf or a non-leaf to multiple entries.
  • The directory service of the invention can, as an option, employ more than one set. A benefit of breaking up the directory service 60 into a plurality of sets is that it may provide more flexible management for users of the directory service. As the directory service grows into very large sizes (e.g., hundreds of nodes with thousands of gigabits of storage), it may be desirable to have the directory information organized into groups of management entities such that management actions can be independently applied to individual groups without affecting the operation of the others.
  • In a set, the root (e.g., the root 80) provides the starting point to locate the directory information maintained by the directory service of the invention. The root can be, and preferably is, stored in a static and well-known location on the network (e.g., at a particular address or on one or more network nodes). When a node is accessing a set for the first time, it first looks up the root to determine the key associated with the set. Once it has determined the key, the node can access the root of the set. From the root, it then can traverse the set's entire tree to locate the desired piece of directory information.
  • As an example, in FIG. 2, a network node requesting the password of a user named Jones might pass the following string to the directory service: /USERS/JONES/PASSWORD. The directory service would then reference the set 66 and might find that the root 80 contains a list of all users, the non-leaf node 90 contains information about the user Jones, and the leaf 82 contains user Jones' password. In accordance with the invention, and as described more fully below, all of this information can reside physically on different network nodes and in fact can migrate from node to node and can be replicated on a plurality of network nodes.
  • FIGS. 3, 4A, 4B, and 5 further and more particularly illustrate the structure of a hierarchical distributed dynamic directory service according to the invention.
  • Referring to FIG. 3, a directory record 320 includes a record header 322 and one or more directory entries (two are shown, 324 and 326). Each directory entry includes a key field 330 and one or more data fields 332. The key field 330 could be, for example, “company name,” and the associated data field 332 could be “Acme Corporation.” Note that for GUID tree records (described below), there preferably are two data fields, namely “GUID of next record” identifying the identifier of the next record to be referenced by the directory service and “GUID responsible node” identifying the node responsible for the “GUID of next record.” The key field 330 could also be a globally unique identifier (GUID). The data field 332 can include actual directory information (for example, “Acme Corporation”), information about where to go to locate the directory information of interest or additional information about where to go to locate it (for example, a globally unique identifier or GUID), or information about what nodes have copies of the directory information of interest.
  • In one particular embodiment, directory record 320 can be a page of a global address space that spans both persistent (e.g., hard disks) and volatile (e.g., RAM) storage devices. For example, the page can be a 4 kilobyte portion of the shared address space described in the above-identified, incorporated-by-reference applications. In this embodiment, the GUIDs are unique addresses of the global address space such as 128-bit addresses in a huge 2128 address space.
  • Referring still to FIG. 3, each directory record 320 includes a record header 322 that includes attribute information for that record, and that attribute information typically is metadata for the directory record. The record 320 further includes one or more directory entries, such as the depicted directory entries 324 and 326, that provide an index into a portion of the directory service (non-leaf entries) or actual directory information (leaf entries). Accordingly, the non-leaf directory entries subdivide the directory information maintained by the directory service of the invention. For example, if the directory entries 324 and 326 are entries of a GUID tree record, they can subdivide the directory into two sub-portions, with the first portion referencing one-half of the directory and the second portion referencing the other half of the directory. Accordingly, in this example, the directory entry 324 provides an index for half of the directory, and in complement thereto the directory entry 326 provides an index for the other half. Continuing with this example, each of these directory entries 324, 326 can, via the data fields, point to other records and responsible nodes in which directory entries have data fields that point to still other records and responsible nodes and so on until the actual directory information of interest is located in some data field of some entry of some record by the directory service (a so-called leaf entry). The directory service then provides that directory information to the requesting node. In this way, the directory service of the invention provides both (1) location information for directory information maintained by the directory service and (2) the actual directory information itself, all in the same directory structure.
  • In accordance with the invention, directory records are indexed by globally unique identifiers (GUIDs), such as 128-bit values. In the directory records, these GUIDs can appear in the data fields or the key fields of various of the directory entries. As described in more detail below, a GUID subtree within the directory provides a map or assignment of GUIDs to network nodes that have a copy of certain directory information. It is the leaf nodes of the GUID subtree that identify the one or more nodes that have a copy of desired directory information. Once these nodes are identified by the directory service, the directory service accesses one or more of them (typically just one of the identified nodes) to obtain the directory information and then pass it to the requesting node. Optionally, the directory system can choose which node to contact to obtain the directory information based on the state of the global system such as the current load on the various nodes or the quality of the network service between the local node and the node(s) that have copies of the desired directory record.
  • Referring to FIG. 4A, to obtain certain desired directory information (e.g., the password of a user named Jones), a network node passes an appropriate key to the directory service (step 500). For example, the node might pass the following key to the directory service: /USERS/JONES/PASSWORD. The directory service receives the key and either locates the desired directory information and passes it to the requesting node or returns an error if the desired directory information cannot be found (step 600). More specifically, in attempting to satisfy the request from the node, the directory service of the invention first determines if the key corresponds to directory information that is stored on the node itself in, for example, the node's RAM or on the node's hard disk (step 602). In the disclosed embodiment, the directory service performs step 602 by accessing a lookup table (such as a hash table) maintained by each of the network nodes. This table identifies the directory records that are locally cached on the node. If the requested directory information is stored locally on the requesting node, the directory service retrieves the requested directory information from the node's local cache and then provides that directory information to the node (step 604). If the requested directory information is not stored locally on the requesting node, the directory service recursively invokes itself to access the directory record(s) that have the GUID tree structure, and the directory service descends or walks the GUID tree by accessing the various records until the desired directory entry is located. The leaf node in the GUID tree contains the mapping from GUID to the set of nodes caching the record associated with that GUID. The directory service uses this information to select a node from which it acquires a copy of the desired record (step 606). The directory service then obtains the requested directory information and provides it to the node (step 608).
  • It is important to note that, while traversing the GUID tree, the directory service first always checks to see if entries indexed by a GUID are cached locally before the directory service invokes recursively the GUID tree to locate a copy of the record remotely.
  • At this point, the directory service can store a copy of (replicate) this directory information (e.g., user Jones' password) on the requesting node. Actually, if replication is performed by the directory service, all or a portion of the record that contains this directory information is replicated on the requesting node. If the directory service decides to replicate this record on the requesting node, the directory service adds the requesting node's identifier (e.g., a number) to the leaf node in the GUID tree that stores the list of nodes caching the record associated with the GUID, and the directory service then updates or invalidates the local caches of all of the other network nodes that also have that directory record cached locally.
  • In one embodiment, the directory service makes the decision on whether or not to replicate based on node access patterns and/or on the availability of certain network resources. For example, if a node has requested a certain record a certain number of times, the directory service will replicate that record on that node. The directory service monitors and records a variety of network information, including node access patterns and network resource availability, and some or all of this network information is used to determine what records should be replicated on what nodes. In accordance with the invention, this replication feature of the directory service results in certain records being replicated on the nodes that most often access those records and not being replicated on (and/or removed from) nodes that access those records less often or not at all. The directory service of the invention provides this replication feature dynamically during normal operation, and thus, as access patterns change, the records and the copies of the records move or migrate among the various network nodes to accommodate the changing patterns. This replication/migration feature of the invention points up an important aspect of the invention, and that is that all of the directory records are homeless (except possibly the root directory record which, while it typically will be replicated, typically is placed at fixed locations on the network).
  • Because the directory records contain, according to the invention, both the GUID tree structure (i.e., the information about where directory information is located) and the actual directory information, the directory structure (i.e., the GUID tree) is dynamically moved and replicated among the network nodes just as is the directory information itself.
  • These dynamic replication and migration features provide tremendous benefits to networks utilizing the directory service of the invention. For example networks utilizing the directory service of the invention can be expanded (i.e., additional nodes can be added to the network and/or other networks can be interconnected to the network) without substantially impacting the performance and speed realized by the nodes as they access directory information via the directory service. That is, the directory service scales very well. This is because, once the network is up and running, all nodes generally will have cached locally the records they most often access, and access times for these nodes for the directory information that is cached locally will be the same (very fast) regardless of the size of or the traffic on the network.
  • Referring to FIG. 4B, the recursive invocations identified in step 606 (FIG. 4A) are now described in more detail. Step 606 includes the following substeps that are performed by the directory service. The directory service first locates the root directory record (step 610), and it indexes into that record using the key (e.g., /USERS/JONES/PASSWORD) passed to it by the requesting node. The directory service then checks to see if a portion of the key (e.g., /USERS) matches a directory entry in the root directory (step 612). If it does not match, the directory service returns an error message to the requesting node (step 614). If there is a corresponding entry in the root directory, the directory service next determines if that directory entry contains the requested directory information in its data field (step 616). If so, the directory service retrieves the requested directory information from that data field and provides it to the requesting node (618).
  • Referring now to FIGS. 4B and 5, a root directory record 400 could be the root record referred to in step 612. If directory 402 contains the requested directory information in its data field (step 616), the directory service need only to index into that entry 402 using the key and retrieve the requested directory information from the data field. Note that, as indicated in FIG. 5, the root directory record 400 could be replicated (401, 403, 405) on three other network nodes in accordance with the replication feature of the directory service of the invention. In fact, it may be that the root directory record 400 is replicated on all network nodes. This could be reasonable in light of the fact that every network node will likely refer to the root directory record when the node first invokes the directory service of the invention, and frequently thereafter.
  • If the entry in the root directory record does not contain the requested directory information in the entry's data field (step 616 of FIG. 4B), the directory service determines whether the entry's data field contains a GUID (step 620). If it does contain a GUID, this means that the GUID tree must be navigated by the directory service to located the requested directory information. The directory service thus follows the GUID in the root directory record's entry's data field to a new directory record (step 628), possibly the GUID tree root directory record (404 in FIG. 5). The GUID thus is a logical link to a record that will provide more information about the GUID tree structure and ultimately allow the directory service to locate the requested directory information.
  • As shown in FIG. 5, the GUID in the root directory record's entry's data field can be a logical link or pointer to a record that is the GUID tree root directory record 404. As with the root directory record 400, the GUID tree root directory record 404 is likely to be replicated on many or all of the network nodes. In the example of FIG. 5, two replicas (405, 407) of the record 404 are depicted.
  • The loop defined by steps 628, 630, and 634 in FIG. 4B illustrates the recursive nature of the directory service. That is, once the GUID tree records are entered via the GUID tree root directory record 404 (FIG. 5), and if the data fields of the appropriate directory entries in the GUID tree records contain GUIDs, the directory service will enter a recursive loop whereby it accesses a plurality of records (identified by the ellipsis 410 in FIG. 5) until it reaches a record that has a directory entry with one or more nodes listed its data field (step 622). Such a record is a leaf of the GUID tree structure, and is indicated as record 412 in FIG. 5. As with all records maintained by the directory service of the invention, this record 412 can be replicated (413) on at least one other network node. Also, while not presently preferred, in general it is possible at any point during this recursive GUID tree walk to encounter a directory entry having the requested directory information in its data field (step 630 of FIG. 4B), and in such a case the directory service would retrieve from the data field the requested directory information and provide it to the requesting node (632).
  • It is important to note that the cache of locally stored directory entries can be indexed so that at any stage of the GUID tree walk operation it is possible to obtain the desired record from the local cache instead of the tree structure. For example, if record 398 is cached on the node attempting to lookup “/USERS/JONES/PASSWORD,” the directory service will be able to find the locally cached record via a hash lookup for either /USERS/JONES/PAS SWORD or the corresponding GUID. Similarly, while traversing the GUID subtree, the directory service first always checks to see if entries indexed by a GUID are cached locally before the directory service invokes recursively the GUID tree to locate a copy of the record remotely.
  • In the course of the recursion, the various records that the directory service accesses lead the directory service to the leaf record 412. This happens by the directory service beginning at the GUID tree root directory record 404 and examining the key field of each of the directory entries in the record 404 (or one of the copies 405, 407 of the record 405 on other nodes in the network) to determine the range in which the GUID logical link from the record 400 falls. If the GUID logical link from the record 400 falls within the range identified by the key field of directory entry 409, the GUID in the data field of the entry 409 is used as the logical link or pointer to the next record. This process continues until the ranges in the key fields of the directory entries of the subsequent records reduce to a single GUID such as the GUID “12540” in the key field of a directory entry 411 in the GUID leaf record 412.
  • Again, while traversing the GUID subtree, the directory service first always checks to see if entries indexed by a GUID are cached locally before the directory service invokes recursively the GUID tree to locate a copy of the record remotely. In referencing the GUID tree, the directory service uses the responsible node information in the data fields of the GUID tree records in the location process.
  • It is important to realize that all of these records that the directory service accesses in this recursive loop (and, in general, even when it is not in the recursive loop) can, and in many instances will, be located on different network nodes. This is because the directory service of the invention is distributed, and in general the records that make up the directory and that contain the various pieces of the directory information maintained by the directory service are located on different nodes all over the network. As the GUID tree is walked in the manner described herein, the directory service can replicate the accessed GUID tree records and make them local on the requesting node. This replication is optional and is accomplished as described hereinabove.
  • It also is important to realize that the records that describe the structure of the directory layout (i.e., the GUID tree records) are stored by the directory service in the same manner as it stores the records having the actual directory information and also maintained by the directory service in the same way that it maintains the records with the actual directory information.
  • Referring to step 622 of FIG. 4B and record 412 of FIG. 5, the data field in the entry 411 of the GUID leaf record 412 contains a list of nodes. This is a list of nodes that have a copy of the record that contains the requested directory information. The directory service can now access any one of those listed nodes to obtain the requested directory information (step 624).
  • Instead of going from the root directory record 400 (or any one of its copies 401, 403, 405) to walking the GUID tree to obtain the requested directory information, it is possible that the directory service of the invention will find an entry in the root directory record 400 that provides a logical link (e.g., GUID “12540”) in its data field directly to an entry 399 in a record 398 that has the requested directory information in its data field. It also is possible, as mentioned hereinabove, that an entry 402 in the root directory record 400 itself will have the requested directory information in its data field. A typical situation, however, is when the GUID tree is walked by the directory service via the GUID tree records in order to locate and return the requested directory information to the requesting network node.
  • In accordance with the invention, the directory service tracks ownership and responsibility for directory information thereby providing a level of indirection between the actual directory information itself and the physical location of that directory information on the network.
  • It should be appreciated that the directory service of the invention comprises a hierarchical structured storage mechanism for directory information. To this end, the directory service of the invention provides a structure that continually subdivides itself into smaller and smaller sections. Further, each section is represented by directory records of the same structure, but each section indexes different amounts (sizes) of directory information.
  • In accordance with the invention, more frequently accessed directory information is copied and distributed among various network nodes, and rarely used directory information generally will appear on only a few network nodes. Also, directory records will migrate to those nodes that access them most, providing a degree of self-organization that reduces network traffic.
  • In general, all of the functionality of the directory service of the invention can be implemented in software. In one embodiment, an instance of a directory service program resides and executes on each of the network nodes and provides all of the directory service features and functionality described herein. It is possible to perform one or more of the various functions of the directory service with dedicated electronics or a combination of hardware and software, and this hardware might be added to a general purpose computer to implement the directory service of the invention.
  • Variations, modifications, and other implementations of what is described herein will occur to those of ordinary skill in the art without departing from the spirit and the scope of the invention as claimed. Accordingly, the invention is to be defined not by the preceding illustrative description but instead by the spirit and scope of the following claims.

Claims (7)

1-10. (canceled)
11. At least one computer-readable medium containing a set of executable instructions for causing programmable apparatus to perform a method of obtaining directory information, said method being operable on a plurality of nodes interconnected by a network, said method comprising the steps of:
providing a distributed directory service on the network by installing on each of the nodes a directory service program that allows directory parts to be selectively and dynamically migrated between ones of said plurality of nodes, without requiring restructuring the directory, storing on said plurality of nodes the directory that includes both the directory information and information about the location of the directory information on the network, such that said directory is not statically replicated to all nodes of said plurality of nodes; and
obtaining both the location information and the directory information by accessing the distributed directory service.
12. The at least one computer-readable medium of claim 11 wherein the directory service providing step further comprises the step of utilizing the directory service program on each of the plurality of nodes to replicate said directory parts.
13. The at least one computer-readable medium of claim 12 wherein the directory service providing step further comprises the step of utilizing the directory service program on each of the plurality of nodes to selectively and dynamically replicate said directory parts based on the number of accesses of the directory service by each of said nodes.
14. The at least one computer-readable medium of claim 12 wherein the directory service providing step further comprises the step of utilizing the directory service program on each of the plurality of nodes to selectively and dynamically replicate said directory parts based on available resources on the network.
15. The at least one computer-readable medium of claim 11 wherein the distributed directory service providing step further comprises the step of utilizing the directory service program on each of the plurality of nodes to selectively and dynamically migrate said directory parts based on the number of accesses of the distributed directory service by the nodes.
16. The at least one computer-readable medium of claim 11 wherein the distributed directory service providing step further comprises the step of utilizing the directory service program on each of the plurality of nodes to selectively and dynamically migrate said directory parts based on available resources on the network.
US12/144,508 1996-11-22 2008-06-23 Dynamic directory service Abandoned US20080256090A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/144,508 US20080256090A1 (en) 1996-11-22 2008-06-23 Dynamic directory service

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US08/754,481 US6148377A (en) 1996-11-22 1996-11-22 Shared memory computer networks
US08/827,534 US5918229A (en) 1996-11-22 1997-03-28 Structured data storage using globally addressable memory
US08/850,137 US6647393B1 (en) 1996-11-22 1997-05-02 Dynamic directory service
US10/704,327 US20040117410A1 (en) 1996-11-22 2003-11-07 Dynamic directory service
US12/144,508 US20080256090A1 (en) 1996-11-22 2008-06-23 Dynamic directory service

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/704,327 Continuation US20040117410A1 (en) 1996-11-22 2003-11-07 Dynamic directory service

Publications (1)

Publication Number Publication Date
US20080256090A1 true US20080256090A1 (en) 2008-10-16

Family

ID=25034985

Family Applications (3)

Application Number Title Priority Date Filing Date
US08/754,481 Expired - Lifetime US6148377A (en) 1996-11-22 1996-11-22 Shared memory computer networks
US08/827,534 Expired - Lifetime US5918229A (en) 1996-11-22 1997-03-28 Structured data storage using globally addressable memory
US12/144,508 Abandoned US20080256090A1 (en) 1996-11-22 2008-06-23 Dynamic directory service

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US08/754,481 Expired - Lifetime US6148377A (en) 1996-11-22 1996-11-22 Shared memory computer networks
US08/827,534 Expired - Lifetime US5918229A (en) 1996-11-22 1997-03-28 Structured data storage using globally addressable memory

Country Status (8)

Country Link
US (3) US6148377A (en)
EP (2) EP0844559A3 (en)
JP (2) JPH10254761A (en)
AT (1) ATE243336T1 (en)
AU (2) AU7303598A (en)
CA (1) CA2221874C (en)
DE (1) DE69722962T2 (en)
WO (2) WO1998022874A1 (en)

Cited By (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030191842A1 (en) * 1998-02-26 2003-10-09 Sun Microsystems Inc. Dynamic lookup service in a distributed system
US20080147787A1 (en) * 2005-12-19 2008-06-19 Wilkinson Anthony J Method and system for providing load balancing for virtualized application workspaces
US20090313449A1 (en) * 2006-08-01 2009-12-17 Massachusetts Institute Of Technology eXtreme Virtual Memory
US20120131038A1 (en) * 2010-11-19 2012-05-24 International Business Machines Corporation Facilitation of search, list, and retrieval operations on persistent data set using distributed shared memory
WO2012145541A3 (en) * 2011-04-19 2013-03-21 Seven Networks, Inc. Social caching for device resource sharing and management
US8412675B2 (en) 2005-08-01 2013-04-02 Seven Networks, Inc. Context aware data presentation
US8417823B2 (en) 2010-11-22 2013-04-09 Seven Network, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US8468126B2 (en) 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8494510B2 (en) 2008-06-26 2013-07-23 Seven Networks, Inc. Provisioning applications for a mobile device
US8561086B2 (en) 2005-03-14 2013-10-15 Seven Networks, Inc. System and method for executing commands that are non-native to the native environment of a mobile device
US8621075B2 (en) 2011-04-27 2013-12-31 Seven Metworks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8700728B2 (en) 2010-11-01 2014-04-15 Seven Networks, Inc. Cache defeat detection and caching of content addressed by identifiers intended to defeat cache
US8738050B2 (en) 2007-12-10 2014-05-27 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US8761756B2 (en) 2005-06-21 2014-06-24 Seven Networks International Oy Maintaining an IP connection in a mobile network
US8774844B2 (en) 2007-06-01 2014-07-08 Seven Networks, Inc. Integrated messaging
US8775631B2 (en) 2012-07-13 2014-07-08 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8799410B2 (en) 2008-01-28 2014-08-05 Seven Networks, Inc. System and method of a relay server for managing communications and notification between a mobile device and a web access server
US8811952B2 (en) 2002-01-08 2014-08-19 Seven Networks, Inc. Mobile device power management in data synchronization over a mobile network with or without a trigger notification
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US8832228B2 (en) 2011-04-27 2014-09-09 Seven Networks, Inc. System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8861354B2 (en) 2011-12-14 2014-10-14 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US8868753B2 (en) 2011-12-06 2014-10-21 Seven Networks, Inc. System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8903954B2 (en) 2010-11-22 2014-12-02 Seven Networks, Inc. Optimization of resource polling intervals to satisfy mobile device requests
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US8909202B2 (en) 2012-01-05 2014-12-09 Seven Networks, Inc. Detection and management of user interactions with foreground applications on a mobile device in distributed caching
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
US8984581B2 (en) 2011-07-27 2015-03-17 Seven Networks, Inc. Monitoring mobile application activities for malicious traffic on a mobile device
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US9009250B2 (en) 2011-12-07 2015-04-14 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US9021021B2 (en) 2011-12-14 2015-04-28 Seven Networks, Inc. Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system
US9043433B2 (en) 2010-07-26 2015-05-26 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US9055102B2 (en) 2006-02-27 2015-06-09 Seven Networks, Inc. Location-based operations and messaging
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
WO2015138693A1 (en) * 2014-03-12 2015-09-17 Silicon Graphics International Corp. Apparatus and method of resolving protocol conflicts in an unordered network
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US9173128B2 (en) 2011-12-07 2015-10-27 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9203864B2 (en) 2012-02-02 2015-12-01 Seven Networks, Llc Dynamic categorization of applications for network access in a mobile network
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
US9251193B2 (en) 2003-01-08 2016-02-02 Seven Networks, Llc Extending user relationships
US9256353B2 (en) 2006-12-19 2016-02-09 Vmware, Inc. Providing application and device management using entitlements
US9307493B2 (en) 2012-12-20 2016-04-05 Seven Networks, Llc Systems and methods for application management of mobile device radio state promotion and demotion
US9325662B2 (en) 2011-01-07 2016-04-26 Seven Networks, Llc System and method for reduction of mobile network traffic used for domain name system (DNS) queries
US9326189B2 (en) 2012-02-03 2016-04-26 Seven Networks, Llc User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US9473914B2 (en) 2008-01-11 2016-10-18 Seven Networks, Llc System and method for providing a network service in a distributed fashion to a mobile device
US20170116257A1 (en) * 2015-10-26 2017-04-27 International Business Machines Corporation Dynamic directory of objects based on logical attributes
CN106952085A (en) * 2016-01-06 2017-07-14 阿里巴巴集团控股有限公司 A kind of method and device of data storage and Business Processing
US9832095B2 (en) 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
US10263899B2 (en) 2012-04-10 2019-04-16 Seven Networks, Llc Enhanced customer service for mobile carriers using real-time and historical mobile application and traffic or optimization data associated with mobile devices in a mobile network
CN109661650A (en) * 2016-09-30 2019-04-19 英特尔公司 Object consistency in Distributed Shared Memory System
US11327889B2 (en) 2017-12-27 2022-05-10 Bull Sas Multi-access to a data file stored in a data-storage system related to a buffer memory
US11487707B2 (en) * 2012-04-30 2022-11-01 International Business Machines Corporation Efficient file path indexing for a content repository
US11836105B2 (en) 2018-11-30 2023-12-05 Nec Corporation Communication device, information processing system, and communication method

Families Citing this family (630)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3661235B2 (en) * 1995-08-28 2005-06-15 株式会社日立製作所 Shared memory system, parallel processor and memory LSI
US6412017B1 (en) 1996-07-01 2002-06-25 Microsoft Corporation Urgent replication facility
JP3747525B2 (en) * 1996-08-28 2006-02-22 株式会社日立製作所 Parallel database system search method
US8392285B2 (en) 1996-11-12 2013-03-05 Syncada Llc Multi-supplier transaction and payment programmed processing approach with at least one supplier
US20070055582A1 (en) * 1996-11-12 2007-03-08 Hahn-Carlson Dean W Transaction processing with core and distributor processor implementations
US8396811B1 (en) 1999-02-26 2013-03-12 Syncada Llc Validation approach for auditing a vendor-based transaction
US20080172314A1 (en) 1996-11-12 2008-07-17 Hahn-Carlson Dean W Financial institution-based transaction processing system and approach
GB2319705B (en) * 1996-11-21 2001-01-24 Motorola Ltd Arrangement for encryption/decryption of data and data carrier incorporating same
US7058696B1 (en) 1996-11-22 2006-06-06 Mangosoft Corporation Internet-based shared file service with native PC client access and semantics
US6647393B1 (en) * 1996-11-22 2003-11-11 Mangosoft Corporation Dynamic directory service
US5950228A (en) * 1997-02-03 1999-09-07 Digital Equipment Corporation Variable-grained memory sharing for clusters of symmetric multi-processors using private and shared state tables
US6424988B2 (en) * 1997-02-19 2002-07-23 Unisys Corporation Multicomputer system
EP0874368A3 (en) * 1997-04-25 2003-03-19 Sony Corporation Information recording apparatus and method, and information reproducing apparatus and method
US6151686A (en) * 1997-06-06 2000-11-21 Fmr Corp. Managing an information retrieval problem
US6163806A (en) * 1997-06-30 2000-12-19 Sun Microsystems, Inc. System and method for transparent, global access to physical devices on a computer cluster
US6092155A (en) * 1997-07-10 2000-07-18 International Business Machines Corporation Cache coherent network adapter for scalable shared memory processing systems
US6295584B1 (en) * 1997-08-29 2001-09-25 International Business Machines Corporation Multiprocessor computer system with memory map translation
US6785888B1 (en) * 1997-08-29 2004-08-31 International Business Machines Corporation Memory allocator for a multiprocessor computer system
US6279032B1 (en) 1997-11-03 2001-08-21 Microsoft Corporation Method and system for quorum resource arbitration in a server cluster
JPH11149481A (en) * 1997-11-19 1999-06-02 Sharp Corp Information processor
US7509280B1 (en) * 1997-11-24 2009-03-24 Clinlcomp International, Inc. Enterprise healthcare management system and method of using same
US6219672B1 (en) * 1997-12-11 2001-04-17 Kabushiki Kaisha Toshiba Distributed shared memory system and method of controlling distributed shared memory
US7010532B1 (en) * 1997-12-31 2006-03-07 International Business Machines Corporation Low overhead methods and apparatus for shared access storage devices
JPH11212774A (en) * 1998-01-23 1999-08-06 Fujitsu Ltd Application management method and information processor using it
US6029168A (en) * 1998-01-23 2000-02-22 Tricord Systems, Inc. Decentralized file mapping in a striped network file system in a distributed computing environment
US6567774B1 (en) * 1998-01-30 2003-05-20 Compaq Computer Corporation Method and system for configuring and updating networked client stations using a virtual disk and a snapshot disk
US7930278B2 (en) * 1998-02-13 2011-04-19 Oracle International Corporation Methods to perform disk writes in a distributed shared disk system needing consistency across failures
US7200623B2 (en) * 1998-11-24 2007-04-03 Oracle International Corp. Methods to perform disk writes in a distributed shared disk system needing consistency across failures
US6094663A (en) * 1998-03-31 2000-07-25 Apple Computer, Inc. Method and apparatus for implementing atomic queues
US6173413B1 (en) * 1998-05-12 2001-01-09 Sun Microsystems, Inc. Mechanism for maintaining constant permissions for multiple instances of a device within a cluster
US6338086B1 (en) * 1998-06-11 2002-01-08 Placeware, Inc. Collaborative object architecture
US6442663B1 (en) * 1998-06-19 2002-08-27 Board Of Supervisors Of Louisiana University And Agricultural And Mechanical College Data collection and restoration for homogeneous or heterogeneous process migration
WO2000004483A2 (en) * 1998-07-15 2000-01-27 Imation Corp. Hierarchical data storage management
US6516342B1 (en) * 1998-07-17 2003-02-04 International Business Machines Corporation Method and apparatus for extending memory using a memory server
US7392234B2 (en) * 1999-05-18 2008-06-24 Kom, Inc. Method and system for electronic file lifecycle management
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US6360220B1 (en) * 1998-08-04 2002-03-19 Microsoft Corporation Lock-free methods and systems for accessing and storing information in an indexed computer data structure having modifiable entries
US6594701B1 (en) 1998-08-04 2003-07-15 Microsoft Corporation Credit-based methods and systems for controlling data flow between a sender and a receiver with reduced copying of data
US6321276B1 (en) 1998-08-04 2001-11-20 Microsoft Corporation Recoverable methods and systems for processing input/output requests including virtual memory addresses
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
US6405217B1 (en) * 1998-09-21 2002-06-11 Microsoft Corporation State-based implementation of transactions on a file system
US6489954B1 (en) 1998-10-13 2002-12-03 Prophet Financial Systems, Inc. System and method for permitting a software routine having restricted local access to utilize remote resources to generate locally usable data structure
JP3976432B2 (en) * 1998-12-09 2007-09-19 エヌイーシーコンピュータテクノ株式会社 Data processing apparatus and data processing method
US6178519B1 (en) * 1998-12-10 2001-01-23 Mci Worldcom, Inc. Cluster-wide database system
JP3481485B2 (en) * 1999-01-28 2003-12-22 エヌイーシーコンピュータテクノ株式会社 Multiprocessor system
US6980962B1 (en) 1999-03-02 2005-12-27 Quixtar Investments, Inc. Electronic commerce transactions within a marketing system that may contain a membership buying opportunity
US7353194B1 (en) 1999-03-02 2008-04-01 Alticor Investments, Inc. System and method for managing recurring orders in a computer network
US7082462B1 (en) * 1999-03-12 2006-07-25 Hitachi, Ltd. Method and system of managing an access to a private logical unit of a storage system
JP3837953B2 (en) 1999-03-12 2006-10-25 株式会社日立製作所 Computer system
US6295571B1 (en) * 1999-03-19 2001-09-25 Times N Systems, Inc. Shared memory apparatus and method for multiprocessor systems
US6453426B1 (en) 1999-03-26 2002-09-17 Microsoft Corporation Separately storing core boot data and cluster configuration data in a server cluster
US7774469B2 (en) * 1999-03-26 2010-08-10 Massa Michael T Consistent cluster operational data in a server cluster using a quorum of replicas
US6401120B1 (en) * 1999-03-26 2002-06-04 Microsoft Corporation Method and system for consistent cluster operational data in a server cluster using a quorum of replicas
US6484185B1 (en) * 1999-04-05 2002-11-19 Microsoft Corporation Atomic operations on data structures
US6654772B1 (en) * 1999-04-28 2003-11-25 Emc Corporation Multi-volume extent based file system
US6895418B1 (en) * 1999-04-28 2005-05-17 Emc Corporation Versatile indirection in an extent based file system
US6222529B1 (en) 1999-05-05 2001-04-24 Shareware, Inc. Method and apparatus for providing multiple sessions on a single user operating system
US6505382B1 (en) 1999-05-14 2003-01-14 Apple Computer, Inc. Hinge apparatus with cam mechanism
US6760756B1 (en) * 1999-06-23 2004-07-06 Mangosoft Corporation Distributed virtual web cache implemented entirely in software
JP2001022716A (en) * 1999-07-09 2001-01-26 Nec Corp Communication service providing system
US7035880B1 (en) 1999-07-14 2006-04-25 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US7389311B1 (en) 1999-07-15 2008-06-17 Commvault Systems, Inc. Modular backup and retrieval system
US7395282B1 (en) 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
US6477544B1 (en) * 1999-07-16 2002-11-05 Microsoft Corporation Single instance store for file systems
US6513051B1 (en) 1999-07-16 2003-01-28 Microsoft Corporation Method and system for backing up and restoring files stored in a single instance store
US6834386B1 (en) * 1999-07-16 2004-12-21 Microsoft Corporation Method and system for regulating background tasks using performance measurements
US6389433B1 (en) 1999-07-16 2002-05-14 Microsoft Corporation Method and system for automatically merging files into a single instance store
US6542970B1 (en) 1999-08-23 2003-04-01 International Business Machines Corporation Method, system and program products for copying coupling facility list structures
US6546466B1 (en) 1999-08-23 2003-04-08 International Business Machines Corporation Method, system and program products for copying coupling facility cache structures
US6609214B1 (en) 1999-08-23 2003-08-19 International Business Machines Corporation Method, system and program products for copying coupling facility structures
US6546414B1 (en) * 1999-08-23 2003-04-08 International Business Machines Corporation Method, system and program products for copying coupling facility lock structures
US7162477B1 (en) * 1999-09-03 2007-01-09 International Business Machines Corporation System and method for web or file system asset management
US7028298B1 (en) * 1999-09-10 2006-04-11 Sun Microsystems, Inc. Apparatus and methods for managing resource usage
WO2001025932A1 (en) * 1999-10-01 2001-04-12 Infraworks Corporation Back-channeling in a memory vault system
US6553466B1 (en) 1999-10-01 2003-04-22 Infraworks Corporation Shared memory blocking method and system
US6675205B2 (en) * 1999-10-14 2004-01-06 Arcessa, Inc. Peer-to-peer automated anonymous asynchronous file sharing
US7152231B1 (en) * 1999-11-01 2006-12-19 Harris-Exigent, Inc. High speed interprocess communication
US6477624B1 (en) 1999-11-08 2002-11-05 Ondotek, Inc. Data image management via emulation of non-volatile storage device
AU2037701A (en) 1999-12-08 2001-06-18 Axis Ab I/o method and apparatus for optical storage media
US6457111B1 (en) 1999-12-14 2002-09-24 International Business Machines Corporation Method and system for allocation of a persistence indicator for an object in an object-oriented environment
US6662219B1 (en) 1999-12-15 2003-12-09 Microsoft Corporation System for determining at subgroup of nodes relative weight to represent cluster by obtaining exclusive possession of quorum resource
US7376587B1 (en) 2000-07-11 2008-05-20 Western Union Financial Services, Inc. Method for enabling transfer of funds through a computer network
US7089588B2 (en) 2000-01-19 2006-08-08 Reynolds And Reynolds Holdings, Inc. Performance path method and apparatus for exchanging data among systems using different data formats
US7028071B1 (en) * 2000-01-28 2006-04-11 Bycast Inc. Content distribution system for generating content streams to suit different users and facilitating e-commerce transactions using broadcast content metadata
GB0002019D0 (en) * 2000-01-29 2000-03-22 Ibm Data migration tool
US6658436B2 (en) 2000-01-31 2003-12-02 Commvault Systems, Inc. Logical view and access to data managed by a modular data and storage management system
US7003641B2 (en) 2000-01-31 2006-02-21 Commvault Systems, Inc. Logical view with granular access to exchange data managed by a modular data and storage management system
US7155481B2 (en) 2000-01-31 2006-12-26 Commvault Systems, Inc. Email attachment management in a computer system
US7441014B1 (en) * 2000-02-09 2008-10-21 Tvworks, Llc Broadcast distribution using low-level objects and locator tables
US20010044879A1 (en) * 2000-02-18 2001-11-22 Moulton Gregory Hagan System and method for distributed management of data storage
US7509420B2 (en) * 2000-02-18 2009-03-24 Emc Corporation System and method for intelligent, globally distributed network storage
US20020029207A1 (en) * 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
US6542930B1 (en) * 2000-03-08 2003-04-01 International Business Machines Corporation Distributed file system with automated file management achieved by decoupling data analysis and movement operations
US9736209B2 (en) 2000-03-17 2017-08-15 Facebook, Inc. State change alerts mechanism
AU2001249239A1 (en) * 2000-03-17 2001-10-03 America Online, Inc. Shared groups rostering system
US7624172B1 (en) 2000-03-17 2009-11-24 Aol Llc State change alerts mechanism
US20040148336A1 (en) * 2000-03-30 2004-07-29 Hubbard Edward A Massively distributed processing system architecture, scheduling, unique device identification and associated methods
US6963897B1 (en) * 2000-03-30 2005-11-08 United Devices, Inc. Customer services and advertising based upon device attributes and associated distributed processing system
US6891802B1 (en) 2000-03-30 2005-05-10 United Devices, Inc. Network site testing method and associated system
US7039670B2 (en) * 2000-03-30 2006-05-02 United Devices, Inc. Massively distributed processing system with modular client agent and associated method
US20010027467A1 (en) * 2000-03-30 2001-10-04 Anderson David P. Massively distributed database system and associated method
US6847995B1 (en) 2000-03-30 2005-01-25 United Devices, Inc. Security architecture for distributed processing systems and associated method
USRE42153E1 (en) * 2000-03-30 2011-02-15 Hubbard Edward A Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures
US20010039497A1 (en) * 2000-03-30 2001-11-08 Hubbard Edward A. System and method for monitizing network connected user bases utilizing distributed processing systems
US6654783B1 (en) 2000-03-30 2003-11-25 Ethergent Corporation Network site content indexing method and associated system
US20090222508A1 (en) * 2000-03-30 2009-09-03 Hubbard Edward A Network Site Testing
US7254607B2 (en) * 2000-03-30 2007-08-07 United Devices, Inc. Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures
US8010703B2 (en) 2000-03-30 2011-08-30 Prashtama Wireless Llc Data conversion services and associated distributed processing system
US20090216641A1 (en) 2000-03-30 2009-08-27 Niration Network Group, L.L.C. Methods and Systems for Indexing Content
US7003547B1 (en) 2000-03-30 2006-02-21 United Devices, Inc. Distributed parallel processing system having capability-based incentives and associated method
US7020678B1 (en) 2000-03-30 2006-03-28 United Devices, Inc. Machine generated sweepstakes entry model and associated distributed processing system
US7092985B2 (en) * 2000-03-30 2006-08-15 United Devices, Inc. Method of managing workloads and associated distributed processing system
US7082474B1 (en) 2000-03-30 2006-07-25 United Devices, Inc. Data sharing and file distribution method and associated distributed processing system
US20070033252A1 (en) * 2000-03-30 2007-02-08 Combest Ricky F Dynamic virtual network and method
US20040103139A1 (en) * 2000-03-30 2004-05-27 United Devices, Inc. Distributed processing system having sensor based data collection and associated method
US6981027B1 (en) * 2000-04-10 2005-12-27 International Business Machines Corporation Method and system for memory management in a network processing system
US6687851B1 (en) 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6901481B2 (en) 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6629227B1 (en) * 2000-05-04 2003-09-30 Scientific-Atlanta, Inc. System and method for a communication terminal to manage memory and maintain a current application version for multiple applications
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US20020004835A1 (en) * 2000-06-02 2002-01-10 Inrange Technologies Corporation Message queue server system
US6745207B2 (en) * 2000-06-02 2004-06-01 Hewlett-Packard Development Company, L.P. System and method for managing virtual storage
US6553391B1 (en) * 2000-06-08 2003-04-22 International Business Machines Corporation System and method for replicating external files and database metadata pertaining thereto
US20020103907A1 (en) * 2000-06-20 2002-08-01 Erik Petersen System and method of storing data to a recording medium
US6912548B1 (en) * 2000-06-27 2005-06-28 Emc Corporation Logical volume identifier database for logical volumes in a computer storage system
US6842784B1 (en) 2000-06-27 2005-01-11 Emc Corporation Use of global logical volume identifiers to access logical volumes stored among a plurality of storage elements in a computer storage system
US7225191B1 (en) 2000-06-27 2007-05-29 Emc Corporation Method and apparatus for verifying storage access requests in a computer storage system with multiple storage elements
US6760828B1 (en) 2000-06-27 2004-07-06 Emc Corporation Method and apparatus for using logical volume identifiers for tracking or identifying logical volume stored in the storage system
US6978324B1 (en) 2000-06-27 2005-12-20 Emc Corporation Method and apparatus for controlling read and write accesses to a logical entity
US6813686B1 (en) 2000-06-27 2004-11-02 Emc Corporation Method and apparatus for identifying logical volumes in multiple element computer storage domains
US6708265B1 (en) 2000-06-27 2004-03-16 Emc Corporation Method and apparatus for moving accesses to logical entities from one storage element to another storage element in a computer storage system
US7065610B1 (en) 2000-06-27 2006-06-20 Emc Corporation Method and apparatus for maintaining inventory of logical volumes stored on storage elements
US20030115167A1 (en) * 2000-07-11 2003-06-19 Imran Sharif Web browser implemented in an Internet appliance
US7249098B2 (en) 2000-07-11 2007-07-24 First Data Corporation Subscription-based payment
US7245291B2 (en) 2000-07-11 2007-07-17 Imran Sharif System and method for internet appliance data entry and navigation
EP1312012A4 (en) 2000-07-11 2006-09-06 First Data Corp Wide area network person-to-person payment
US6980313B2 (en) * 2000-07-11 2005-12-27 Imran Sharif Fax-compatible internet appliance
US20020078445A1 (en) * 2000-07-11 2002-06-20 Imran Sharif Internet appliance for interactive audio/video display using a remote control unit for user input
US6714941B1 (en) * 2000-07-19 2004-03-30 University Of Southern California Learning data prototypes for information extraction
US8751248B2 (en) * 2000-07-28 2014-06-10 Visual Telecommunications Network, Inc. Method, apparatus, and medium using a master control file for computer software interoperability between disparate operating systems
US6772153B1 (en) * 2000-08-11 2004-08-03 International Business Machines Corporation Method and apparatus to provide concurrency control over objects without atomic operations on non-shared objects
US7529750B2 (en) * 2000-08-11 2009-05-05 International Business Machines Corporation Accessing information on a network
US6981005B1 (en) * 2000-08-24 2005-12-27 Microsoft Corporation Partial migration of an object to another storage location in a computer system
US6708161B2 (en) 2000-09-26 2004-03-16 I2 Technologies Us, Inc. System and method for selective database indexing
US7590558B2 (en) * 2000-09-26 2009-09-15 I2 Technologies Us, Inc. System and method for facilitating electronic commerce transactions
US7299255B2 (en) * 2000-09-26 2007-11-20 I2 Technologies Us, Inc. System and method for migrating data in an electronic commerce system
US20020111870A1 (en) * 2000-09-26 2002-08-15 I2 Technologies, Inc. System and method for identifying a product
JP4902904B2 (en) 2000-10-06 2012-03-21 ソニー株式会社 Information processing method and medium storing program
US7328232B1 (en) * 2000-10-18 2008-02-05 Beptech Inc. Distributed multiprocessing system
US7305360B1 (en) 2000-10-25 2007-12-04 Thomson Financial Inc. Electronic sales system
US7330830B1 (en) 2000-10-25 2008-02-12 Thomson Financial Inc. Distributed commerce system
EP2056248A1 (en) * 2000-10-25 2009-05-06 Thomson Financial Inc. Electronic commerce system
US6850959B1 (en) 2000-10-26 2005-02-01 Microsoft Corporation Method and system for transparently extending non-volatile storage
FR2816090B1 (en) * 2000-10-26 2003-01-10 Schlumberger Systems & Service DEVICE FOR SHARING FILES IN AN INTEGRATED CIRCUIT DEVICE
US7073089B2 (en) * 2000-10-31 2006-07-04 Hewlett-Packard Development Company, L.P. External fault tolerant shared memory unit in a distributed multiprocessing system
US7266533B2 (en) 2000-12-15 2007-09-04 The Western Union Company Electronic gift greeting
US20070276873A1 (en) * 2001-02-13 2007-11-29 Vahdat Amin M System and method for optimizing efficiency of replicated network services
WO2002065329A1 (en) * 2001-02-14 2002-08-22 The Escher Group, Ltd. Peer-to peer enterprise storage
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) * 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
JP3704573B2 (en) * 2001-03-14 2005-10-12 東芝ソリューション株式会社 Cluster system
US8150763B2 (en) 2001-03-31 2012-04-03 The Western Union Company Systems and methods for staging transactions, payments and collections
CA2443220A1 (en) 2001-03-31 2002-10-10 First Data Corporation Electronic identifier payment system and methods
US9853759B1 (en) 2001-03-31 2017-12-26 First Data Corporation Staged transaction system for mobile commerce
US7117183B2 (en) 2001-03-31 2006-10-03 First Data Coroporation Airline ticket payment and reservation system and methods
US7184989B2 (en) 2001-03-31 2007-02-27 First Data Corporation Staged transactions systems and methods
EP1390854A4 (en) * 2001-05-01 2006-02-22 Rhode Island Education Distributed raid and location independence caching system
US20040158687A1 (en) * 2002-05-01 2004-08-12 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Distributed raid and location independence caching system
US7349868B2 (en) * 2001-05-15 2008-03-25 I2 Technologies Us, Inc. Pre-qualifying sellers during the matching phase of an electronic commerce transaction
US6983276B2 (en) * 2001-05-15 2006-01-03 I2 Technologies Us, Inc. Facilitating electronic commerce transactions using buyer profiles
US7475030B1 (en) 2001-05-16 2009-01-06 I2 Technologies Us, Inc. Facilitating electronic commerce transactions using a shared product data repository
TW523667B (en) * 2001-05-31 2003-03-11 Taiwan Semiconductor Mfg Shared directory management system and method of the same
US7617292B2 (en) 2001-06-05 2009-11-10 Silicon Graphics International Multi-class heterogeneous clients in a clustered filesystem
US8010558B2 (en) 2001-06-05 2011-08-30 Silicon Graphics International Relocation of metadata server with outstanding DMAPI requests
US7640582B2 (en) 2003-04-16 2009-12-29 Silicon Graphics International Clustered filesystem for mix of trusted and untrusted nodes
US20040139125A1 (en) 2001-06-05 2004-07-15 Roger Strassburg Snapshot copy of data volume during data access
US6732104B1 (en) * 2001-06-06 2004-05-04 Lsi Logic Corporatioin Uniform routing of storage access requests through redundant array controllers
DE10128475A1 (en) * 2001-06-12 2003-01-02 Siemens Ag Multiprocessor system with a shared memory associated with a priority processor allowing high frequency access to the memory thus ensuring high data processing rates
US7263515B1 (en) * 2001-06-18 2007-08-28 I2 Technologies Us, Inc. Content enhancement in an electronic marketplace
US6714953B2 (en) * 2001-06-21 2004-03-30 International Business Machines Corporation System and method for managing file export information
US7330829B1 (en) 2001-06-26 2008-02-12 I2 Technologies Us, Inc. Providing market feedback associated with electronic commerce transactions to sellers
US7809672B1 (en) 2001-06-28 2010-10-05 I2 Technologies Us, Inc. Association of data with a product classification schema
US8086643B1 (en) 2001-06-28 2011-12-27 Jda Software Group, Inc. Translation between product classification schemas
US7346560B1 (en) 2001-06-29 2008-03-18 I2 Technologies Us, Inc. Protecting content from unauthorized reproduction
US7162453B1 (en) 2001-06-29 2007-01-09 I2 Technologies Us, Inc. Protecting content from unauthorized reproduction
US7194513B2 (en) * 2001-07-08 2007-03-20 Imran Sharif System and method for using an internet appliance to send/receive digital content files as E-mail attachments
US7383315B2 (en) 2001-08-02 2008-06-03 National Instruments Corporation System and method for a delta page protocol for caching, replication, and client/server networking
US6745175B2 (en) * 2001-08-02 2004-06-01 National Instruments Corporation System and method for a shared memory architecture for high speed logging and trending
US6721677B2 (en) 2001-08-02 2004-04-13 National Instruments Corporation System and method for modular storage of measurement streams using a hierarchy of stream-processing objects
US6931408B2 (en) 2001-08-17 2005-08-16 E.C. Outlook, Inc. Method of storing, maintaining and distributing computer intelligible electronic data
US7290017B1 (en) * 2001-09-20 2007-10-30 Emc Corporation System and method for management of data replication
US7552056B2 (en) * 2001-09-25 2009-06-23 Emc Corporation Scalable storage service registration application
US6877108B2 (en) * 2001-09-25 2005-04-05 Sun Microsystems, Inc. Method and apparatus for providing error isolation in a multi-domain computer system
US8055555B2 (en) * 2001-09-25 2011-11-08 Emc Corporation Mediation device for scalable storage service
US7277952B2 (en) * 2001-09-28 2007-10-02 Microsoft Corporation Distributed system resource protection via arbitration and ownership
US7430593B2 (en) * 2001-10-05 2008-09-30 International Business Machines Corporation Storage area network for topology rendering
US8244632B2 (en) 2001-10-26 2012-08-14 First Data Corporation Automated transfer with stored value
US8374962B2 (en) 2001-10-26 2013-02-12 First Data Corporation Stored value payouts
US20030097445A1 (en) * 2001-11-20 2003-05-22 Stephen Todd Pluggable devices services and events for a scalable storage service architecture
US8549048B2 (en) * 2001-12-19 2013-10-01 Emc Corporation Workflow database for scalable storage service
US7177868B2 (en) * 2002-01-02 2007-02-13 International Business Machines Corporation Method, system and program for direct client file access in a data management system
US7020753B2 (en) 2002-01-09 2006-03-28 Sun Microsystems, Inc. Inter-domain data transfer
US6795902B2 (en) * 2002-01-09 2004-09-21 Sun Microsystems, Inc. Inter-domain data transfer
US7281044B2 (en) * 2002-01-10 2007-10-09 Hitachi, Ltd. SAN infrastructure on demand service system
US6993520B2 (en) * 2002-01-15 2006-01-31 International Business Machines Corporation Integrated content management and block layout technique
US7243103B2 (en) * 2002-02-14 2007-07-10 The Escher Group, Ltd. Peer to peer enterprise storage system with lexical recovery sub-system
US6922757B2 (en) * 2002-02-15 2005-07-26 Exanet Inc. Flexible and adaptive read and write storage system architecture
US6993539B2 (en) 2002-03-19 2006-01-31 Network Appliance, Inc. System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
US7412424B1 (en) 2002-03-19 2008-08-12 I2 Technologies Us, Inc. Third party certification of content in electronic commerce transactions
CA2377649C (en) * 2002-03-20 2009-02-03 Ibm Canada Limited-Ibm Canada Limitee Dynamic cluster database architecture
CN1980247B (en) 2002-03-25 2010-06-23 株式会社理光 Image formation device having a web service function and method thereof
US7219230B2 (en) * 2002-05-08 2007-05-15 Hewlett-Packard Development Company, L.P. Optimizing costs associated with managing encrypted data
US7050307B2 (en) * 2002-06-28 2006-05-23 Sun Microsystems, Inc. Circuit board orientation in a computer system
US8037181B2 (en) * 2002-06-28 2011-10-11 Microsoft Corporation Re-partitioning directories
US7296106B2 (en) * 2002-06-28 2007-11-13 Sun Microsystems, Inc. Centerplaneless computer system
US6980994B2 (en) * 2002-07-08 2005-12-27 International Business Machines Corporation Method, apparatus and computer program product for mapping file handles
US7093230B2 (en) 2002-07-24 2006-08-15 Sun Microsystems, Inc. Lock management thread pools for distributed data systems
US7565406B2 (en) * 2002-07-24 2009-07-21 Sun Microsystems, Inc. Last thread lock management for multi-threaded process and distributed data systems
US20040019660A1 (en) * 2002-07-24 2004-01-29 Sandhya E. Lock holding multi-threaded processes for distibuted data systems
US8095657B2 (en) * 2002-07-24 2012-01-10 Oracle America, Inc. First thread lock management for distributed data systems
US20040024729A1 (en) * 2002-07-30 2004-02-05 Worley John S. Method and system for storing sparse data in memory and accessing stored sparse data
US7873700B2 (en) * 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US20040049520A1 (en) * 2002-09-05 2004-03-11 Heather Bowers System, method, and apparatus for sharing revision control databases
US7340486B1 (en) * 2002-10-10 2008-03-04 Network Appliance, Inc. System and method for file system snapshot of a virtual logical disk
US8041735B1 (en) * 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US8185602B2 (en) 2002-11-05 2012-05-22 Newisys, Inc. Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
US7043655B2 (en) 2002-11-06 2006-05-09 Sun Microsystems, Inc. Redundant clock synthesizer
US20040093295A1 (en) * 2002-11-13 2004-05-13 Spotware Technologies, Inc. Retail distributive computing
US8965964B1 (en) 2002-11-18 2015-02-24 Facebook, Inc. Managing forwarded electronic messages
US8122137B2 (en) 2002-11-18 2012-02-21 Aol Inc. Dynamic location of a subordinate user
US7428580B2 (en) 2003-11-26 2008-09-23 Aol Llc Electronic message forwarding
US7590696B1 (en) 2002-11-18 2009-09-15 Aol Llc Enhanced buddy list using mobile device identifiers
US8005919B2 (en) 2002-11-18 2011-08-23 Aol Inc. Host-based intelligent results related to a character stream
US8701014B1 (en) 2002-11-18 2014-04-15 Facebook, Inc. Account linking
CA2506585A1 (en) 2002-11-18 2004-06-03 Valerie Kucharewski People lists
US7899862B2 (en) 2002-11-18 2011-03-01 Aol Inc. Dynamic identification of other users to an online user
US7640306B2 (en) 2002-11-18 2009-12-29 Aol Llc Reconfiguring an electronic message to effect an enhanced notification
US7430569B2 (en) * 2002-11-27 2008-09-30 Sap Ag Computerized replication of data objects
US7464091B2 (en) * 2002-11-27 2008-12-09 Sap Ag Method and software for processing data objects in business applications
US7409412B2 (en) 2002-11-27 2008-08-05 Sap Ag Data element and structure for data processing
US7225302B2 (en) * 2002-11-27 2007-05-29 Sap Ag Method and software application for avoiding data loss
US7315862B1 (en) * 2002-12-20 2008-01-01 Nortel Networks Limited Concurrent lock-free access to a record by write and read processes
KR100507781B1 (en) * 2002-12-24 2005-08-17 한국전자통신연구원 Buffer fix procedure supporting both detection-based and avoidance-based cache coherency control scheme in a multisystem shared disk environment
US7197490B1 (en) * 2003-02-10 2007-03-27 Network Appliance, Inc. System and method for lazy-copy sub-volume load balancing in a network attached storage pool
US7809693B2 (en) * 2003-02-10 2010-10-05 Netapp, Inc. System and method for restoring data on demand for instant volume restoration
US6961733B2 (en) * 2003-03-10 2005-11-01 Unisys Corporation System and method for storing and accessing data in an interlocking trees datastore
JP4233900B2 (en) * 2003-03-19 2009-03-04 株式会社日立製作所 Data storage / reading control in mass storage devices
US20040205127A1 (en) 2003-03-26 2004-10-14 Roy Ben-Yoseph Identifying and using identities deemed to be known to a user
US7293152B1 (en) * 2003-04-23 2007-11-06 Network Appliance, Inc. Consistent logical naming of initiator groups
US7444349B1 (en) * 2003-05-23 2008-10-28 Xilinx, Inc. Control of concurrent access to a partitioned data file
US7454569B2 (en) * 2003-06-25 2008-11-18 Commvault Systems, Inc. Hierarchical system and method for performing storage operations in a computer network
US7996361B1 (en) * 2003-06-30 2011-08-09 Symantec Operating Corporation Method and system of providing replica files within a fileset
US7653693B2 (en) 2003-09-05 2010-01-26 Aol Llc Method and system for capturing instant messages
US8028130B1 (en) 2003-07-22 2011-09-27 Oracle America, Inc. Pipeline structure for a shared memory protocol
CA2534405A1 (en) * 2003-08-08 2005-02-17 Ulysses Pharmaceutical Products Inc. Halogenated quinazolinyl nitrofurans as antibacterial agents
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US20050080982A1 (en) * 2003-08-20 2005-04-14 Vasilevsky Alexander D. Virtual host bus adapter and method
US20050044301A1 (en) * 2003-08-20 2005-02-24 Vasilevsky Alexander David Method and apparatus for providing virtual computing services
US7162476B1 (en) * 2003-09-11 2007-01-09 Cisco Technology, Inc System and method for sharing global data within distributed computing systems
US8516004B2 (en) * 2003-09-19 2013-08-20 Unisys Corporation Method for processing K node count fields using an intensity variable
US20060101018A1 (en) * 2004-11-08 2006-05-11 Mazzagatti Jane C Method for processing new sequences being recorded into an interlocking trees datastore
JP2005115438A (en) * 2003-10-03 2005-04-28 Mitsubishi Electric Corp Data management apparatus
WO2005036405A1 (en) * 2003-10-08 2005-04-21 Unisys Corporation Computer system para-virtualization using a hypervisor that is implemented in a partition of the host system
US20070067366A1 (en) * 2003-10-08 2007-03-22 Landis John A Scalable partition memory mapping system
US7251822B2 (en) * 2003-10-23 2007-07-31 Microsoft Corporation System and methods providing enhanced security model
US7401093B1 (en) 2003-11-10 2008-07-15 Network Appliance, Inc. System and method for managing file data during consistency points
US7721062B1 (en) 2003-11-10 2010-05-18 Netapp, Inc. Method for detecting leaked buffer writes across file system consistency points
US7783611B1 (en) 2003-11-10 2010-08-24 Netapp, Inc. System and method for managing file metadata during consistency points
WO2005050381A2 (en) 2003-11-13 2005-06-02 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
WO2005048085A2 (en) 2003-11-13 2005-05-26 Commvault Systems, Inc. System and method for performing an image level snapshot and for restoring partial volume data
JP4376040B2 (en) * 2003-11-27 2009-12-02 株式会社日立製作所 Apparatus and method for performing information processing using a plurality of processors
JP4327585B2 (en) * 2003-12-25 2009-09-09 株式会社東芝 Storage device
US7039661B1 (en) * 2003-12-29 2006-05-02 Veritas Operating Corporation Coordinated dirty block tracking
US7340471B2 (en) 2004-01-16 2008-03-04 Unisys Corporation Saving and restoring an interlocking trees datastore
JP4141391B2 (en) * 2004-02-05 2008-08-27 株式会社日立製作所 Storage subsystem
JP2005227922A (en) * 2004-02-12 2005-08-25 Yokogawa Electric Corp Interprocess information sharing system
US20050198636A1 (en) * 2004-02-26 2005-09-08 International Business Machines Corporation Dynamic optimization of batch processing
US20050192937A1 (en) * 2004-02-26 2005-09-01 International Business Machines Corporation Dynamic query optimization
US7213103B2 (en) * 2004-04-22 2007-05-01 Apple Inc. Accessing data storage systems without waiting for read errors
US20050262513A1 (en) * 2004-04-23 2005-11-24 Waratek Pty Limited Modified computer architecture with initialization of objects
US20060253844A1 (en) * 2005-04-21 2006-11-09 Holt John M Computer architecture and method of operation for multi-computer distributed processing with initialization of objects
US7707179B2 (en) * 2004-04-23 2010-04-27 Waratek Pty Limited Multiple computer architecture with synchronization
US20050257219A1 (en) * 2004-04-23 2005-11-17 Holt John M Multiple computer architecture with replicated memory fields
US7844665B2 (en) * 2004-04-23 2010-11-30 Waratek Pty Ltd. Modified computer architecture having coordinated deletion of corresponding replicated memory locations among plural computers
US7849452B2 (en) * 2004-04-23 2010-12-07 Waratek Pty Ltd. Modification of computer applications at load time for distributed execution
US7409511B2 (en) * 2004-04-30 2008-08-05 Network Appliance, Inc. Cloning technique for efficiently creating a copy of a volume in a storage system
US7430571B2 (en) 2004-04-30 2008-09-30 Network Appliance, Inc. Extension of write anywhere file layout write allocation
US7409494B2 (en) 2004-04-30 2008-08-05 Network Appliance, Inc. Extension of write anywhere file system layout
US7240065B2 (en) * 2004-05-27 2007-07-03 Oracle International Corporation Providing mappings between logical time values and real time values
US7574386B2 (en) 2004-06-09 2009-08-11 U.S. Bank National Association Transaction accounting auditing approach and system therefor
US7925551B2 (en) * 2004-06-09 2011-04-12 Syncada Llc Automated transaction processing system and approach
US8762238B2 (en) 2004-06-09 2014-06-24 Syncada Llc Recurring transaction processing system and approach
EP1782256A4 (en) 2004-06-09 2009-05-06 Us Bancorp Licensing Inc Order-resource fulfillment and management system and approach
EP1782255A4 (en) 2004-06-09 2009-04-29 Us Bancorp Licensing Inc Transaction processing with core and distributor processor implementations
US7251660B2 (en) 2004-06-10 2007-07-31 Oracle International Corporation Providing mappings between logical time values and real time values in a multinode system
US20050278552A1 (en) * 2004-06-14 2005-12-15 Vincent Delisle Secure virtual account
JP4480479B2 (en) * 2004-06-15 2010-06-16 株式会社日立製作所 Storage system
US20050289143A1 (en) * 2004-06-23 2005-12-29 Exanet Ltd. Method for managing lock resources in a distributed storage system
US20050289098A1 (en) * 2004-06-24 2005-12-29 International Business Machines Corporation Dynamically selecting alternative query access plans
US7593923B1 (en) 2004-06-29 2009-09-22 Unisys Corporation Functional operations for accessing and/or building interlocking trees datastores to enable their use with applications software
US7693840B1 (en) * 2004-07-30 2010-04-06 Sprint Communications Company L.P. Method and system for distribution of common elements
US7213041B2 (en) * 2004-10-05 2007-05-01 Unisys Corporation Saving and restoring an interlocking trees datastore
US7734753B2 (en) * 2004-10-12 2010-06-08 International Business Machines Corporation Apparatus, system, and method for facilitating management of logical nodes through a single management module
US8152054B2 (en) 2004-10-19 2012-04-10 The Western Union Company Money transfer systems and methods
US7716241B1 (en) 2004-10-27 2010-05-11 Unisys Corporation Storing the repository origin of data inputs within a knowledge store
US7908240B1 (en) 2004-10-28 2011-03-15 Unisys Corporation Facilitated use of column and field data for field record universe in a knowledge store
US20060101048A1 (en) * 2004-11-08 2006-05-11 Mazzagatti Jane C KStore data analyzer
US7348980B2 (en) * 2004-11-08 2008-03-25 Unisys Corporation Method and apparatus for interface for graphic display of data from a Kstore
US7499932B2 (en) * 2004-11-08 2009-03-03 Unisys Corporation Accessing data in an interlocking trees data structure using an application programming interface
US20060100845A1 (en) * 2004-11-08 2006-05-11 Mazzagatti Jane C Multiple stream real time data simulation adapted for a KStore data structure
US20060129709A1 (en) * 2004-12-09 2006-06-15 International Business Machines Corporation Multipurpose scalable server communication link
US7548918B2 (en) * 2004-12-16 2009-06-16 Oracle International Corporation Techniques for maintaining consistency for different requestors of files in a database management system
US7627574B2 (en) * 2004-12-16 2009-12-01 Oracle International Corporation Infrastructure for performing file operations by a database server
US7716260B2 (en) * 2004-12-16 2010-05-11 Oracle International Corporation Techniques for transaction semantics for a database server performing file operations
US20060136508A1 (en) * 2004-12-16 2006-06-22 Sam Idicula Techniques for providing locks for file operations in a database management system
US7496787B2 (en) * 2004-12-27 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for checkpointing
US7757056B1 (en) 2005-03-16 2010-07-13 Netapp, Inc. System and method for efficiently calculating storage required to split a clone volume
JP4615344B2 (en) * 2005-03-24 2011-01-19 株式会社日立製作所 Data processing system and database management method
US20060222125A1 (en) * 2005-03-31 2006-10-05 Edwards John W Jr Systems and methods for maintaining synchronicity during signal transmission
US20060222126A1 (en) * 2005-03-31 2006-10-05 Stratus Technologies Bermuda Ltd. Systems and methods for maintaining synchronicity during signal transmission
US7409380B1 (en) 2005-04-07 2008-08-05 Unisys Corporation Facilitated reuse of K locations in a knowledge store
US20060230118A1 (en) * 2005-04-12 2006-10-12 Digi Chain Information Co., Ltd. Share memory service system and method of web service oriented applications
US20080065637A1 (en) * 2005-04-14 2008-03-13 Emc Corporation Locating last processed data
US20080065663A1 (en) * 2005-04-14 2008-03-13 Emc Corporation Reestablishing process context
US7657579B2 (en) * 2005-04-14 2010-02-02 Emc Corporation Traversing data in a repeatable manner
EP1875393B1 (en) * 2005-04-25 2015-08-05 NetApp, Inc. Architecture for supporting sparse volumes
ATE512412T1 (en) 2005-04-25 2011-06-15 Network Appliance Inc SYSTEM AND METHOD FOR CAPACING NETWORK FILE SYSTEMS
US8672220B2 (en) 2005-09-30 2014-03-18 The Western Union Company Money transfer system and method
US7392940B2 (en) 2005-05-18 2008-07-01 The Western Union Company In-lane money transfer systems and methods
US7389301B1 (en) 2005-06-10 2008-06-17 Unisys Corporation Data aggregation user interface and analytic adapted for a KStore
US7523146B2 (en) 2005-06-21 2009-04-21 Apple Inc. Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment
US8495015B2 (en) 2005-06-21 2013-07-23 Apple Inc. Peer-to-peer syncing in a decentralized environment
US7809675B2 (en) 2005-06-29 2010-10-05 Oracle International Corporation Sharing state information among a plurality of file operation servers
US20070022148A1 (en) * 2005-07-20 2007-01-25 Akers David G Reserving an area of a storage medium for a file
US7653682B2 (en) * 2005-07-22 2010-01-26 Netapp, Inc. Client failure fencing mechanism for fencing network file system data in a host-cluster environment
US20070028144A1 (en) * 2005-07-29 2007-02-01 Stratus Technologies Bermuda Ltd. Systems and methods for checkpointing
TW200707271A (en) * 2005-08-08 2007-02-16 Benq Corp Methods and systems for signal display
US7370310B1 (en) * 2005-08-08 2008-05-06 Xilinx, Inc. Static address mapping
US20070038891A1 (en) * 2005-08-12 2007-02-15 Stratus Technologies Bermuda Ltd. Hardware checkpointing system
AU2006303865B2 (en) * 2005-10-17 2011-09-08 Waratek Pty Limited Multiple machine architecture with overhead reduction
US7958322B2 (en) * 2005-10-25 2011-06-07 Waratek Pty Ltd Multiple machine architecture with overhead reduction
US7660960B2 (en) * 2005-10-25 2010-02-09 Waratek Pty, Ltd. Modified machine architecture with partial memory updating
US7761670B2 (en) * 2005-10-25 2010-07-20 Waratek Pty Limited Modified machine architecture with advanced synchronization
US8015236B2 (en) * 2005-10-25 2011-09-06 Waratek Pty. Ltd. Replication of objects having non-primitive fields, especially addresses
US20070100828A1 (en) * 2005-10-25 2007-05-03 Holt John M Modified machine architecture with machine redundancy
US7849369B2 (en) * 2005-10-25 2010-12-07 Waratek Pty Ltd. Failure resistant multiple computer system and method
US20070168720A1 (en) * 2005-11-30 2007-07-19 Oracle International Corporation Method and apparatus for providing fault tolerance in a collaboration environment
US7610304B2 (en) * 2005-12-05 2009-10-27 Oracle International Corporation Techniques for performing file operations involving a link at a database management system
KR100763526B1 (en) * 2005-12-12 2007-10-04 한국전자통신연구원 Device and method for management of application context
US8655850B2 (en) 2005-12-19 2014-02-18 Commvault Systems, Inc. Systems and methods for resynchronizing information
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US7617262B2 (en) 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
US7962709B2 (en) 2005-12-19 2011-06-14 Commvault Systems, Inc. Network redirector systems and methods for performing data replication
US7636743B2 (en) 2005-12-19 2009-12-22 Commvault Systems, Inc. Pathname translation in a data replication system
EP1974296B8 (en) 2005-12-19 2016-09-21 Commvault Systems, Inc. Systems and methods for performing data replication
US7475077B2 (en) * 2006-01-31 2009-01-06 International Business Machines Corporation System and method for emulating a virtual boundary of a file system for data management at a fileset granularity
US7627652B1 (en) * 2006-01-31 2009-12-01 Amazon Technologies, Inc. Online shared data environment
US8065499B2 (en) * 2006-02-22 2011-11-22 Oracle America, Inc. Methods and apparatus to implement parallel transactions
US8028133B2 (en) * 2006-02-22 2011-09-27 Oracle America, Inc. Globally incremented variable or clock based methods and apparatus to implement parallel transactions
US20070214153A1 (en) * 2006-03-10 2007-09-13 Mazzagatti Jane C Method for processing an input particle stream for creating upper levels of KStore
US7461289B2 (en) * 2006-03-16 2008-12-02 Honeywell International Inc. System and method for computer service security
US20070220069A1 (en) * 2006-03-20 2007-09-20 Mazzagatti Jane C Method for processing an input particle stream for creating lower levels of a KStore
US7734571B2 (en) * 2006-03-20 2010-06-08 Unisys Corporation Method for processing sensor data within a particle stream by a KStore
US20080275842A1 (en) * 2006-03-20 2008-11-06 Jane Campbell Mazzagatti Method for processing counts when an end node is encountered
US7590660B1 (en) 2006-03-21 2009-09-15 Network Appliance, Inc. Method and system for efficient database cloning
US7689571B1 (en) 2006-03-24 2010-03-30 Unisys Corporation Optimizing the size of an interlocking tree datastore structure for KStore
US8238351B2 (en) * 2006-04-04 2012-08-07 Unisys Corporation Method for determining a most probable K location
US7797670B2 (en) * 2006-04-14 2010-09-14 Apple Inc. Mirrored file system
US7676330B1 (en) 2006-05-16 2010-03-09 Unisys Corporation Method for processing a particle using a sensor structure
US20080010324A1 (en) * 2006-06-25 2008-01-10 Michael Stebner System and method for high speed device access
US20080005728A1 (en) * 2006-06-30 2008-01-03 Robert Paul Morris Methods, systems, and computer program products for enabling cross language access to an addressable entity in an execution environment
US20080005752A1 (en) * 2006-06-30 2008-01-03 Robert Paul Morris Methods, systems, and computer program products for generating application processes by linking applications
US20080005528A1 (en) * 2006-06-30 2008-01-03 Morris Robert P Methods, Systems, and Computer Program Products for Using a Structured Data Storage System to Provide Access to Addressable Entities in Virtual Address Space
US20080005719A1 (en) * 2006-06-30 2008-01-03 Morris Robert P Methods, systems, and computer program products for providing a program execution environment
US20080127220A1 (en) * 2006-06-30 2008-05-29 Robert Paul Morris Methods, systems, and computer program products for creating an input-value-specific loadable instance of an application
US20080005529A1 (en) * 2006-06-30 2008-01-03 Morris Robert P Methods, Systems, and Computer Program Products for Providing Access to Addressable Entities Using a Non-Sequential Virtual Address Space
US20080005727A1 (en) * 2006-06-30 2008-01-03 Robert Paul Morris Methods, systems, and computer program products for enabling cross language access to an addressable entity
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US7860826B2 (en) 2006-08-04 2010-12-28 Apple Inc. Method and system for using global equivalency sets to identify data during peer-to-peer synchronization
US20080151902A1 (en) * 2006-10-05 2008-06-26 Holt John M Multiple network connections for multiple computers
US20100121935A1 (en) * 2006-10-05 2010-05-13 Holt John M Hybrid replicated shared memory
US8090926B2 (en) * 2006-10-05 2012-01-03 Waratek Pty Ltd. Hybrid replicated shared memory
US20080126506A1 (en) * 2006-10-05 2008-05-29 Holt John M Multiple computer system with redundancy architecture
US7949837B2 (en) * 2006-10-05 2011-05-24 Waratek Pty Ltd. Contention detection and resolution
US20080140801A1 (en) * 2006-10-05 2008-06-12 Holt John M Multiple computer system with dual mode redundancy architecture
US20080114962A1 (en) * 2006-10-05 2008-05-15 Holt John M Silent memory reclamation
WO2008040083A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Adding one or more computers to a multiple computer system
US20080126503A1 (en) * 2006-10-05 2008-05-29 Holt John M Contention resolution with echo cancellation
US20080134189A1 (en) * 2006-10-05 2008-06-05 Holt John M Job scheduling amongst multiple computers
US20080140863A1 (en) * 2006-10-05 2008-06-12 Holt John M Multiple communication networks for multiple computers
WO2008040066A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Redundant multiple computer architecture
AU2007304895A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Advanced contention detection
US20080126372A1 (en) * 2006-10-05 2008-05-29 Holt John M Cyclic redundant multiple computer architecture
WO2008040068A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Advanced synchronization and contention resolution
US20080126572A1 (en) * 2006-10-05 2008-05-29 Holt John M Multi-path switching networks
US20100054254A1 (en) * 2006-10-05 2010-03-04 Holt John M Asynchronous data transmission
US20080140858A1 (en) * 2006-10-05 2008-06-12 Holt John M Switch protocol for network communications
WO2008040078A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Synchronization with partial memory replication
US20080140975A1 (en) * 2006-10-05 2008-06-12 Holt John M Contention detection with data consolidation
US7962697B2 (en) 2006-10-05 2011-06-14 Waratek Pty Limited Contention detection
WO2008040075A1 (en) * 2006-10-05 2008-04-10 Waratek Pty Limited Contention detection with modified message format
US20080120478A1 (en) * 2006-10-05 2008-05-22 Holt John M Advanced synchronization and contention resolution
US20080114853A1 (en) * 2006-10-05 2008-05-15 Holt John M Network protocol for network communications
US7734890B2 (en) * 2006-10-06 2010-06-08 Okralabs Llc Method and system for using a distributable virtual address space
US8712884B2 (en) 2006-10-06 2014-04-29 Syncada Llc Transaction finance processing system and approach
CN101622594B (en) 2006-12-06 2013-03-13 弗森-艾奥公司 Apparatus, system, and method for managing data in a request device with an empty data token directive
US20080148095A1 (en) * 2006-12-14 2008-06-19 Motorola, Inc. Automated memory recovery in a zero copy messaging system
US8301673B2 (en) * 2006-12-29 2012-10-30 Netapp, Inc. System and method for performing distributed consistency verification of a clustered file system
US7567992B1 (en) * 2006-12-29 2009-07-28 Unisys Corporation Replicating of plurality of instances of an object model in memory arrangement using portable object references where each object attribute assigned GUID
US7657769B2 (en) 2007-01-08 2010-02-02 Marcy M Scott N-way synchronization of data
US7933835B2 (en) 2007-01-17 2011-04-26 The Western Union Company Secure money transfer systems and methods using biometric keys associated therewith
US8818904B2 (en) 2007-01-17 2014-08-26 The Western Union Company Generation systems and methods for transaction identifiers having biometric keys associated therewith
US7814360B2 (en) * 2007-01-25 2010-10-12 Oralce International Corporation Synchronizing cluster time to a master node with a faster clock
US7890456B2 (en) * 2007-03-08 2011-02-15 Sap Ag Sharing of database objects
US8290808B2 (en) 2007-03-09 2012-10-16 Commvault Systems, Inc. System and method for automating customer-validated statement of work for a data storage environment
US8768890B2 (en) * 2007-03-14 2014-07-01 Microsoft Corporation Delaying database writes for database consistency
US8219821B2 (en) 2007-03-27 2012-07-10 Netapp, Inc. System and method for signature based data container recognition
US8504473B2 (en) 2007-03-28 2013-08-06 The Western Union Company Money transfer system and messaging system
US7925829B1 (en) * 2007-03-29 2011-04-12 Emc Corporation I/O operations for a storage array
US7970992B1 (en) * 2007-03-29 2011-06-28 Emc Corporation Asymetrical device distribution for a partitioned storage subsystem
US7945758B1 (en) * 2007-03-29 2011-05-17 Emc Corporation Storage array partitioning
US8316190B2 (en) * 2007-04-06 2012-11-20 Waratek Pty. Ltd. Computer architecture and method of operation for multi-computer distributed processing having redundant array of independent systems with replicated memory and code striping
US8219749B2 (en) * 2007-04-27 2012-07-10 Netapp, Inc. System and method for efficient updates of sequential block storage
US7882304B2 (en) * 2007-04-27 2011-02-01 Netapp, Inc. System and method for efficient updates of sequential block storage
US7827350B1 (en) 2007-04-27 2010-11-02 Netapp, Inc. Method and system for promoting a snapshot in a distributed file system
US7783571B2 (en) 2007-05-31 2010-08-24 First Data Corporation ATM system for receiving cash deposits from non-networked clients
US20080320282A1 (en) * 2007-06-22 2008-12-25 Morris Robert P Method And Systems For Providing Transaction Support For Executable Program Components
US20080320459A1 (en) * 2007-06-22 2008-12-25 Morris Robert P Method And Systems For Providing Concurrency Control For Addressable Entities
US9417934B2 (en) * 2007-08-31 2016-08-16 Core Wireless Licensing S.A.R.L. Information distribution in a dynamic multi-device environment
US9075809B1 (en) * 2007-09-29 2015-07-07 Symantec Corporation Methods and systems for application cluster virtual nodes
US9102962B2 (en) * 2007-10-16 2015-08-11 Shiu Nan Chen Production method for solid cultured active mushroom mycelium and fruit-body metabolites (AMFM) products thereof
US9152817B1 (en) 2007-10-31 2015-10-06 Symantec Corporation Methods and systems for performing data protection operations
US7996636B1 (en) 2007-11-06 2011-08-09 Netapp, Inc. Uniquely identifying block context signatures in a storage volume hierarchy
US20090150511A1 (en) 2007-11-08 2009-06-11 Rna Networks, Inc. Network with distributed shared memory
US8493888B2 (en) * 2007-11-08 2013-07-23 Nokia Corporation Connectivity architecture for service discovery
US7797501B2 (en) * 2007-11-14 2010-09-14 Dell Products, Lp Information handling system including a logical volume and a cache and a method of using the same
US20090141692A1 (en) * 2007-11-30 2009-06-04 Mika Kasslin Optimized ad hoc networking
US7921261B2 (en) * 2007-12-18 2011-04-05 International Business Machines Corporation Reserving a global address space
US7925842B2 (en) * 2007-12-18 2011-04-12 International Business Machines Corporation Allocating a global shared memory
US8751337B2 (en) 2008-01-25 2014-06-10 Syncada Llc Inventory-based payment processing system and approach
US8239879B2 (en) * 2008-02-01 2012-08-07 International Business Machines Corporation Notification by task of completion of GSM operations at target node
US8214604B2 (en) * 2008-02-01 2012-07-03 International Business Machines Corporation Mechanisms to order global shared memory operations
US8146094B2 (en) * 2008-02-01 2012-03-27 International Business Machines Corporation Guaranteeing delivery of multi-packet GSM messages
US8200910B2 (en) * 2008-02-01 2012-06-12 International Business Machines Corporation Generating and issuing global shared memory operations via a send FIFO
US8275947B2 (en) * 2008-02-01 2012-09-25 International Business Machines Corporation Mechanism to prevent illegal access to task address space by unauthorized tasks
US8893126B2 (en) * 2008-02-01 2014-11-18 International Business Machines Corporation Binding a process to a special purpose processing element having characteristics of a processor
US8255913B2 (en) * 2008-02-01 2012-08-28 International Business Machines Corporation Notification to task of completion of GSM operations by initiator node
US8484307B2 (en) * 2008-02-01 2013-07-09 International Business Machines Corporation Host fabric interface (HFI) to perform global shared memory (GSM) operations
WO2009106930A1 (en) * 2008-02-27 2009-09-03 Nokia Corporation Transport independent architecture
WO2009106932A1 (en) * 2008-02-27 2009-09-03 Nokia Corporation Buffer control for multi-transport architectures
DE102008012979A1 (en) * 2008-03-06 2009-09-10 Gip Ag Method and program for providing data coherency in networks
US8458285B2 (en) * 2008-03-20 2013-06-04 Post Dahl Co. Limited Liability Company Redundant data forwarding storage
US9203928B2 (en) 2008-03-20 2015-12-01 Callahan Cellular L.L.C. Data storage and retrieval
US8725986B1 (en) 2008-04-18 2014-05-13 Netapp, Inc. System and method for volume block number to disk block number mapping
US8041877B2 (en) * 2008-06-09 2011-10-18 International Business Machines Corporation Distributed computing utilizing virtual memory having a shared paging space
US8019966B2 (en) * 2008-06-09 2011-09-13 International Business Machines Corporation Data sharing utilizing virtual memory having a shared paging space
US8060603B2 (en) * 2008-06-18 2011-11-15 Qualcomm Incorporated Persistent personal messaging in a distributed system
US8169856B2 (en) * 2008-10-24 2012-05-01 Oracle International Corporation Time synchronization in cluster systems
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
JP4691154B2 (en) * 2008-12-22 2011-06-01 富士通株式会社 Data management apparatus, data management system, data management method, and data management program
JP5526540B2 (en) * 2008-12-25 2014-06-18 株式会社リコー Image processing apparatus, access control method, and access control program
US8930423B1 (en) * 2008-12-30 2015-01-06 Symantec Corporation Method and system for restoring encrypted files from a virtual machine image
EP2449472A1 (en) * 2009-07-03 2012-05-09 Jantsch, Axel A programmable controller
CN102597910B (en) 2009-09-09 2015-03-25 弗森-艾奥公司 Apparatus, system, and method for power reduction management in a storage device
US8510334B2 (en) * 2009-11-05 2013-08-13 Oracle International Corporation Lock manager on disk
EP2499576A2 (en) * 2009-11-13 2012-09-19 Richard S. Anderson Distributed symmetric multiprocessing computing architecture
US8386715B2 (en) * 2009-11-30 2013-02-26 Nokia Corporation Method and apparatus for tile mapping techniques
US8793288B2 (en) * 2009-12-16 2014-07-29 Sap Ag Online access to database snapshots
US8750845B2 (en) * 2010-02-24 2014-06-10 Nokia Corporation Method and apparatus for providing tiles of dynamic content
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8589347B2 (en) 2010-05-28 2013-11-19 Commvault Systems, Inc. Systems and methods for performing data replication
WO2011161685A2 (en) 2010-06-26 2011-12-29 Hcl Cleantech Ltd. Sugar mixtures and methods for production and use thereof
US9002911B2 (en) * 2010-07-30 2015-04-07 International Business Machines Corporation Fileset masks to cluster inodes for efficient fileset management
US9432408B2 (en) 2010-11-03 2016-08-30 Telefonaktiebolaget Lm Ericsson (Publ) Signalling gateway, method, computer program and computer program product for communication between HTTP and SIP
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
EP2652623B1 (en) * 2010-12-13 2018-08-01 SanDisk Technologies LLC Apparatus, system, and method for auto-commit memory
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
WO2012094330A1 (en) 2011-01-03 2012-07-12 Planetary Data LLC Community internet drive
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
US20120226855A1 (en) * 2011-03-02 2012-09-06 Cleversafe, Inc. Sharing a directory of a dispersed storage network
JP5870999B2 (en) 2011-06-28 2016-03-01 富士通株式会社 Data processing method and data processing system
US9390369B1 (en) * 2011-09-21 2016-07-12 Brain Corporation Multithreaded apparatus and methods for implementing parallel networks
US9135123B1 (en) * 2011-12-28 2015-09-15 Emc Corporation Managing global data caches for file system
US9842025B2 (en) 2012-01-16 2017-12-12 International Business Machines Corporation Efficient state tracking for clusters
JP5614419B2 (en) * 2012-02-29 2014-10-29 富士通株式会社 Information processing apparatus, control method, and control program
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
US9208432B2 (en) 2012-06-01 2015-12-08 Brain Corporation Neural network learning and collaboration apparatus and methods
US9104560B2 (en) * 2012-06-13 2015-08-11 Caringo, Inc. Two level addressing in storage clusters
US9244824B2 (en) * 2012-07-05 2016-01-26 Samsung Electronics Co., Ltd. Memory sub-system and computing system including the same
US9495301B2 (en) 2012-08-07 2016-11-15 Dell Products L.P. System and method for utilizing non-volatile memory in a cache
US9852073B2 (en) 2012-08-07 2017-12-26 Dell Products L.P. System and method for data redundancy within a cache
US9549037B2 (en) 2012-08-07 2017-01-17 Dell Products L.P. System and method for maintaining solvency within a cache
US9292569B2 (en) 2012-10-02 2016-03-22 Oracle International Corporation Semi-join acceleration
US8935800B2 (en) * 2012-12-31 2015-01-13 Intel Corporation Enhanced security for accessing virtual memory
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US9262435B2 (en) 2013-01-11 2016-02-16 Commvault Systems, Inc. Location-based data synchronization management
US9251002B2 (en) 2013-01-15 2016-02-02 Stratus Technologies Bermuda Ltd. System and method for writing checkpointing data
US9679084B2 (en) 2013-03-14 2017-06-13 Oracle International Corporation Memory sharing across distributed nodes
US9317472B2 (en) * 2013-06-07 2016-04-19 International Business Machines Corporation Processing element data sharing
US9262415B2 (en) * 2013-11-08 2016-02-16 Sybase, Inc. Cache efficiency in a shared disk database cluster
CN104750614B (en) * 2013-12-26 2018-04-10 伊姆西公司 Method and apparatus for managing memory
EP3090345B1 (en) 2013-12-30 2017-11-08 Stratus Technologies Bermuda Ltd. Method of delaying checkpoints by inspecting network packets
WO2015102875A1 (en) 2013-12-30 2015-07-09 Stratus Technologies Bermuda Ltd. Checkpointing systems and methods of using data forwarding
JP6518672B2 (en) 2013-12-30 2019-05-22 ストラタス・テクノロジーズ・バミューダ・リミテッド Dynamic check pointing system and method
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9898414B2 (en) 2014-03-28 2018-02-20 Oracle International Corporation Memory corruption detection support for distributed shared memory applications
CN104980454B (en) * 2014-04-02 2019-08-06 腾讯科技(深圳)有限公司 A kind of resource data sharing method, server and system
WO2015150976A1 (en) 2014-04-03 2015-10-08 Strato Scale Ltd. Cluster-wide memory management using similarity-preserving signatures
US9342346B2 (en) 2014-07-27 2016-05-17 Strato Scale Ltd. Live migration of virtual machines that use externalized memory pages
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9390028B2 (en) 2014-10-19 2016-07-12 Strato Scale Ltd. Coordination between memory-saving mechanisms in computers that run virtual machines
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US9524328B2 (en) 2014-12-28 2016-12-20 Strato Scale Ltd. Recovery synchronization in a distributed storage system
US9912748B2 (en) 2015-01-12 2018-03-06 Strato Scale Ltd. Synchronization of snapshots in a distributed storage system
US10061743B2 (en) 2015-01-27 2018-08-28 International Business Machines Corporation Host based non-volatile memory clustering using network mapped storage
EP3251020A4 (en) * 2015-01-30 2018-02-07 Hewlett-Packard Enterprise Development LP Memory-driven out-of-band management
CN106233265A (en) 2015-02-26 2016-12-14 斯特拉托斯卡莱有限公司 Access frequency hierarchical structure is used for evicting from the selection of target
WO2016183795A1 (en) 2015-05-19 2016-11-24 Guangzhou Ucweb Computer Technology Co., Ltd. Method, apparatus for loading a resource in a web page on a device
JP2017004469A (en) * 2015-06-16 2017-01-05 富士通株式会社 Base station device, processing method, program, radio communication system, and base station processing card
KR102397582B1 (en) * 2015-06-22 2022-05-13 삼성전자주식회사 Data storage device, data processing system having the same and method thereof
US10013551B2 (en) * 2015-08-24 2018-07-03 Accenture Global Services Limited Isolated memory space
CN106557477B (en) * 2015-09-24 2020-05-19 伊姆西Ip控股有限责任公司 Method and apparatus for locking files in memory
US11038960B1 (en) 2015-10-20 2021-06-15 Amazon Technologies, Inc. Stream-based shared storage system
WO2017087002A1 (en) * 2015-11-20 2017-05-26 Hewlett Packard Enterprise Development Lp Shared memory for distributed data
WO2017100288A1 (en) * 2015-12-08 2017-06-15 Ultrata, Llc. Memory fabric operations and coherency using fault tolerant objects
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
US9507532B1 (en) 2016-05-20 2016-11-29 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices
US10241906B1 (en) * 2016-07-30 2019-03-26 EMC IP Holding Company LLC Memory subsystem to augment physical memory of a computing system
JP2018025983A (en) * 2016-08-10 2018-02-15 ルネサスエレクトロニクス株式会社 Semiconductor device and control method of the same
US11157422B2 (en) * 2017-03-31 2021-10-26 Intel Corporation Shared memory for intelligent network interface cards
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US10642526B2 (en) 2017-08-28 2020-05-05 Vmware, Inc. Seamless fault tolerance via block remapping and efficient reconciliation
US10860334B2 (en) 2017-10-25 2020-12-08 Alibaba Group Holding Limited System and method for centralized boot storage in an access switch shared by multiple servers
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10452547B2 (en) 2017-12-29 2019-10-22 Oracle International Corporation Fault-tolerant cache coherence over a lossy network
US10467139B2 (en) 2017-12-29 2019-11-05 Oracle International Corporation Fault-tolerant cache coherence over a lossy network
US11416395B2 (en) 2018-02-05 2022-08-16 Micron Technology, Inc. Memory virtualization for accessing heterogeneous memory components
US11099789B2 (en) 2018-02-05 2021-08-24 Micron Technology, Inc. Remote direct memory access in multi-tier memory systems
US10782908B2 (en) 2018-02-05 2020-09-22 Micron Technology, Inc. Predictive data orchestration in multi-tier memory systems
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10831404B2 (en) 2018-02-08 2020-11-10 Alibaba Group Holding Limited Method and system for facilitating high-capacity shared memory using DIMM from retired servers
US10880401B2 (en) * 2018-02-12 2020-12-29 Micron Technology, Inc. Optimization of data access and communication in memory systems
US10732885B2 (en) 2018-02-14 2020-08-04 Commvault Systems, Inc. Block-level live browsing and private writable snapshots using an ISCSI server
US11379155B2 (en) 2018-05-24 2022-07-05 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10877892B2 (en) 2018-07-11 2020-12-29 Micron Technology, Inc. Predictive paging to accelerate memory access
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
US10747673B2 (en) * 2018-08-02 2020-08-18 Alibaba Group Holding Limited System and method for facilitating cluster-level cache and memory space
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
US11734192B2 (en) * 2018-12-10 2023-08-22 International Business Machines Corporation Identifying location of data granules in global virtual address space
US11016908B2 (en) 2018-12-11 2021-05-25 International Business Machines Corporation Distributed directory of named data elements in coordination namespace
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US10860420B2 (en) 2019-02-05 2020-12-08 Alibaba Group Holding Limited Method and system for mitigating read disturb impact on persistent memory
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10970212B2 (en) 2019-02-15 2021-04-06 Alibaba Group Holding Limited Method and system for facilitating a distributed storage system with a total cost of ownership reduction for multiple available zones
US11061834B2 (en) 2019-02-26 2021-07-13 Alibaba Group Holding Limited Method and system for facilitating an improved storage system by decoupling the controller from the storage medium
US10783035B1 (en) 2019-02-28 2020-09-22 Alibaba Group Holding Limited Method and system for improving throughput and reliability of storage media with high raw-error-rate
US10891065B2 (en) 2019-04-01 2021-01-12 Alibaba Group Holding Limited Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10852949B2 (en) 2019-04-15 2020-12-01 Micron Technology, Inc. Predictive data pre-fetching in a data storage device
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
WO2020214757A1 (en) * 2019-04-17 2020-10-22 John Rankin Virtual memory pool within a network which is accessible from multiple platforms
US11157184B2 (en) * 2019-04-30 2021-10-26 EMC IP Holding Company LLC Host access to storage system metadata
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US11372773B2 (en) 2019-05-28 2022-06-28 Rankin Labs, Llc Supporting a virtual memory area at a remote computing machine
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11074124B2 (en) 2019-07-23 2021-07-27 Alibaba Group Holding Limited Method and system for enhancing throughput of big data analysis in a NAND-based read source storage
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US10909033B1 (en) * 2019-08-15 2021-02-02 Nvidia Corporation Techniques for efficiently partitioning memory
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US10997019B1 (en) 2019-10-31 2021-05-04 Alibaba Group Holding Limited System and method for facilitating high-capacity system memory adaptive to high-error-rate and low-endurance media
CN111061724B (en) * 2019-11-08 2023-11-14 珠海许继芝电网自动化有限公司 High-speed real-time database management method and device for power distribution automation system
US11200159B2 (en) 2019-11-11 2021-12-14 Alibaba Group Holding Limited System and method for facilitating efficient utilization of NAND flash memory
US11119847B2 (en) 2019-11-13 2021-09-14 Alibaba Group Holding Limited System and method for improving efficiency and reducing system resource consumption in a data integrity check
US20210201392A1 (en) * 2019-12-31 2021-07-01 Snap Inc. Auction system for augmented reality experiences in a messaging system
US11042307B1 (en) 2020-01-13 2021-06-22 Alibaba Group Holding Limited System and method for facilitating improved utilization of NAND flash based on page-wise operation
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11809421B2 (en) 2020-07-23 2023-11-07 II Craig Ken Yamato System and method for data analytics
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11507512B2 (en) * 2020-12-08 2022-11-22 EMC IP Holding Company LLC Fault tolerant cluster data handling
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5437029A (en) * 1993-03-31 1995-07-25 Matsushita Electric Industrial Co., Ltd. Path name resolution method providing fixed speed of file accessing in computer network
US5689700A (en) * 1993-12-29 1997-11-18 Microsoft Corporation Unification of directory service with file system services
US5696900A (en) * 1994-06-07 1997-12-09 Fujitsu Limited Personal communication service distributed control system for a network communication system including a plurality of hardware resources
US5812773A (en) * 1996-07-12 1998-09-22 Microsoft Corporation System and method for the distribution of hierarchically structured data
US6122646A (en) * 1993-10-18 2000-09-19 Sony Corporation Method and apparatus for management of information where sub directory information in a directory identifies the relative recording location of the sub directory
US6279151B1 (en) * 1998-01-20 2001-08-21 International Business Machines Corporation Method and apparatus for remote source code inclusion
US6496865B1 (en) * 1997-03-12 2002-12-17 Novell, Inc. System and method for providing interpreter applications access to server resources in a distributed network
US7359934B1 (en) * 1999-02-04 2008-04-15 Novell, Inc. Multiple storage class distributed nametags for locating items in a distributed computing system

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4096567A (en) * 1976-08-13 1978-06-20 Millard William H Information storage facility with multiple level processors
US4426688A (en) * 1981-08-03 1984-01-17 Ncr Corporation Memory system having an alternate memory
US4868738A (en) * 1985-08-15 1989-09-19 Lanier Business Products, Inc. Operating system independent virtual memory computer system
US4710926A (en) * 1985-12-27 1987-12-01 American Telephone And Telegraph Company, At&T Bell Laboratories Fault recovery in a distributed processing system
US4933846A (en) * 1987-04-24 1990-06-12 Network Systems Corporation Network communications adapter with dual interleaved memory banks servicing multiple processors
US5226039A (en) * 1987-12-22 1993-07-06 Kendall Square Research Corporation Packet routing switch
US5341483A (en) * 1987-12-22 1994-08-23 Kendall Square Research Corporation Dynamic hierarchial associative memory
US5335325A (en) * 1987-12-22 1994-08-02 Kendall Square Research Corporation High-speed packet switching apparatus and method
US5282201A (en) * 1987-12-22 1994-01-25 Kendall Square Research Corporation Dynamic packet routing network
US5055999A (en) * 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
US5251308A (en) * 1987-12-22 1993-10-05 Kendall Square Research Corporation Shared memory multiprocessor with data hiding and post-store
US5119481A (en) * 1987-12-22 1992-06-02 Kendall Square Research Corporation Register bus multiprocessor system with shift
US5077736A (en) * 1988-06-28 1991-12-31 Storage Technology Corporation Disk drive memory
US5117350A (en) * 1988-12-15 1992-05-26 Flashpoint Computer Corporation Memory address mechanism in a distributed memory architecture
US4934764A (en) * 1989-03-31 1990-06-19 Kendall Square Research Corporation Computer system module assembly
US5551035A (en) * 1989-06-30 1996-08-27 Lucent Technologies Inc. Method and apparatus for inter-object communication in an object-oriented program controlled system
IT1239122B (en) * 1989-12-04 1993-09-28 Bull Hn Information Syst MULTIPROCESSOR SYSTEM WITH DISTRIBUTED RESOURCES WITH DYNAMIC REPLICATION OF GLOBAL DATA
DE69022716T2 (en) * 1990-03-19 1996-03-14 Bull Hn Information Syst Multi-computer system with distributed common resources and dynamic and selective duplication of global data and procedures for it.
EP0472829A3 (en) * 1990-08-31 1993-01-07 International Business Machines Corporation Multicomputer complex and distributed shared data memory
US5333315A (en) * 1991-06-27 1994-07-26 Digital Equipment Corporation System of device independent file directories using a tag between the directories and file descriptors that migrate with the files
US5430850A (en) * 1991-07-22 1995-07-04 Massachusetts Institute Of Technology Data processing system with synchronization coprocessor for multiple threads
US5313647A (en) * 1991-09-20 1994-05-17 Kendall Square Research Corporation Digital data processor with improved checkpointing and forking
US5245563A (en) * 1991-09-20 1993-09-14 Kendall Square Research Corporation Fast control for round unit
US5313626A (en) * 1991-12-17 1994-05-17 Jones Craig S Disk drive array with efficient background rebuilding
US5423037A (en) * 1992-03-17 1995-06-06 Teleserve Transaction Technology As Continuously available database server having multiple groups of nodes, each group maintaining a database copy with fragments stored on multiple nodes
JPH0619785A (en) * 1992-03-27 1994-01-28 Matsushita Electric Ind Co Ltd Distributed shared virtual memory and its constitution method
US5452447A (en) * 1992-12-21 1995-09-19 Sun Microsystems, Inc. Method and apparatus for a caching file server
US5394555A (en) * 1992-12-23 1995-02-28 Bull Hn Information Systems Inc. Multi-node cluster computer system incorporating an external coherency unit at each node to insure integrity of information stored in a shared, distributed memory
US5493728A (en) * 1993-02-19 1996-02-20 Borland International, Inc. System and methods for optimized access in a multi-user environment
US5408649A (en) * 1993-04-30 1995-04-18 Quotron Systems, Inc. Distributed data access system including a plurality of database access processors with one-for-N redundancy
US5390326A (en) * 1993-04-30 1995-02-14 The Foxboro Company Local area network with fault detection and recovery
FI97594C (en) * 1993-07-05 1997-01-10 Nokia Telecommunications Oy Time division multiple access radio system, method for allocating capacity within a cell and method for performing intra-cell handover
US5617537A (en) * 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
US5495607A (en) * 1993-11-15 1996-02-27 Conner Peripherals, Inc. Network management system having virtual catalog overview of files distributively stored across network domain
US5560027A (en) * 1993-12-15 1996-09-24 Convex Computer Corporation Scalable parallel processing systems wherein each hypernode has plural processing modules interconnected by crossbar and each processing module has SCI circuitry for forming multi-dimensional network with other hypernodes
US5701462A (en) * 1993-12-29 1997-12-23 Microsoft Corporation Distributed file system providing a unified name space with efficient name resolution
US5588147A (en) * 1994-01-14 1996-12-24 Microsoft Corporation Replication facility
US5519855A (en) * 1994-01-14 1996-05-21 Microsoft Corporation Summary catalogs
US5490272A (en) * 1994-01-28 1996-02-06 International Business Machines Corporation Method and apparatus for creating multithreaded time slices in a multitasking operating system
SE515344C2 (en) * 1994-02-08 2001-07-16 Ericsson Telefon Ab L M Distributed database system
NZ281276A (en) * 1994-02-28 1998-07-28 British Telecomm Communications networks service delivery infrastructure interacting with billing and network management systems
WO1995025306A2 (en) * 1994-03-14 1995-09-21 Stanford University Distributed shared-cache for multi-processors
EP0678812A1 (en) * 1994-04-20 1995-10-25 Microsoft Corporation Replication verification
US5566328A (en) * 1995-01-23 1996-10-15 Tandem Computers Incorporated Reconstructing directory pathnames from file handles in a computer system
US5513314A (en) * 1995-01-27 1996-04-30 Auspex Systems, Inc. Fault tolerant NFS server system and mirroring protocol
US5978577A (en) * 1995-03-17 1999-11-02 Csg Systems, Inc. Method and apparatus for transaction processing in a distributed database system
JP3889044B2 (en) * 1995-05-05 2007-03-07 シリコン、グラフィクス、インコーポレイテッド Page movement in non-uniform memory access (NUMA) systems
US5675723A (en) * 1995-05-19 1997-10-07 Compaq Computer Corporation Multi-server fault tolerance using in-band signalling
US5687308A (en) * 1995-06-07 1997-11-11 Tandem Computers Incorporated Method to improve tolerance of non-homogeneous power outages
US5781537A (en) * 1995-07-07 1998-07-14 International Business Machines Corporation Setting up, taking down and maintaining connections in a communications network
US5805785A (en) * 1996-02-27 1998-09-08 International Business Machines Corporation Method for monitoring and recovery of subsystems in a distributed/clustered system
US5906658A (en) * 1996-03-19 1999-05-25 Emc Corporation Message queuing on a data storage system utilizing message queuing in intended recipient's queue
US5768510A (en) * 1996-07-01 1998-06-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server application enabler system
US5805786A (en) * 1996-07-23 1998-09-08 International Business Machines Corporation Recovery of a name server managing membership of a domain of processors in a distributed computing environment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5437029A (en) * 1993-03-31 1995-07-25 Matsushita Electric Industrial Co., Ltd. Path name resolution method providing fixed speed of file accessing in computer network
US6122646A (en) * 1993-10-18 2000-09-19 Sony Corporation Method and apparatus for management of information where sub directory information in a directory identifies the relative recording location of the sub directory
US5689700A (en) * 1993-12-29 1997-11-18 Microsoft Corporation Unification of directory service with file system services
US5696900A (en) * 1994-06-07 1997-12-09 Fujitsu Limited Personal communication service distributed control system for a network communication system including a plurality of hardware resources
US5812773A (en) * 1996-07-12 1998-09-22 Microsoft Corporation System and method for the distribution of hierarchically structured data
US6496865B1 (en) * 1997-03-12 2002-12-17 Novell, Inc. System and method for providing interpreter applications access to server resources in a distributed network
US6279151B1 (en) * 1998-01-20 2001-08-21 International Business Machines Corporation Method and apparatus for remote source code inclusion
US7359934B1 (en) * 1999-02-04 2008-04-15 Novell, Inc. Multiple storage class distributed nametags for locating items in a distributed computing system

Cited By (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030191842A1 (en) * 1998-02-26 2003-10-09 Sun Microsystems Inc. Dynamic lookup service in a distributed system
US8713089B2 (en) * 1998-02-26 2014-04-29 Oracle America, Inc. Dynamic lookup service in a distributed system
US8811952B2 (en) 2002-01-08 2014-08-19 Seven Networks, Inc. Mobile device power management in data synchronization over a mobile network with or without a trigger notification
US9251193B2 (en) 2003-01-08 2016-02-02 Seven Networks, Llc Extending user relationships
US8561086B2 (en) 2005-03-14 2013-10-15 Seven Networks, Inc. System and method for executing commands that are non-native to the native environment of a mobile device
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US8839412B1 (en) 2005-04-21 2014-09-16 Seven Networks, Inc. Flexible real-time inbox access
US8761756B2 (en) 2005-06-21 2014-06-24 Seven Networks International Oy Maintaining an IP connection in a mobile network
US8468126B2 (en) 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US8412675B2 (en) 2005-08-01 2013-04-02 Seven Networks, Inc. Context aware data presentation
US8245129B2 (en) * 2005-12-19 2012-08-14 Vmware, Inc. Method and system for providing synchronization of directory data
US10338969B2 (en) 2005-12-19 2019-07-02 Vmware, Inc. Managing a virtualized application workspace on a managed computing device
US9317333B2 (en) 2005-12-19 2016-04-19 Vmware, Inc. Method and system for providing load balancing for virtualized application workspaces
US11194627B2 (en) 2005-12-19 2021-12-07 Vmware, Inc. Managing a virtualized application workspace on a managed computing device
US10198162B2 (en) 2005-12-19 2019-02-05 Vmware, Inc. Method for installing or upgrading an application
US20080147745A1 (en) * 2005-12-19 2008-06-19 Wilkinson Anthony J Method and system for providing synchronization of directory data
US20080147787A1 (en) * 2005-12-19 2008-06-19 Wilkinson Anthony J Method and system for providing load balancing for virtualized application workspaces
US9055102B2 (en) 2006-02-27 2015-06-09 Seven Networks, Inc. Location-based operations and messaging
US9852079B2 (en) * 2006-08-01 2017-12-26 Massachusetts Institute Of Technology EXtreme virtual memory
US20090313449A1 (en) * 2006-08-01 2009-12-17 Massachusetts Institute Of Technology eXtreme Virtual Memory
US9841882B2 (en) 2006-12-19 2017-12-12 Vmware, Inc. Providing application and device management using entitlements
US9256353B2 (en) 2006-12-19 2016-02-09 Vmware, Inc. Providing application and device management using entitlements
US8774844B2 (en) 2007-06-01 2014-07-08 Seven Networks, Inc. Integrated messaging
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8738050B2 (en) 2007-12-10 2014-05-27 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US9473914B2 (en) 2008-01-11 2016-10-18 Seven Networks, Llc System and method for providing a network service in a distributed fashion to a mobile device
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US8799410B2 (en) 2008-01-28 2014-08-05 Seven Networks, Inc. System and method of a relay server for managing communications and notification between a mobile device and a web access server
US8838744B2 (en) 2008-01-28 2014-09-16 Seven Networks, Inc. Web-based access to data objects
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8494510B2 (en) 2008-06-26 2013-07-23 Seven Networks, Inc. Provisioning applications for a mobile device
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US9043433B2 (en) 2010-07-26 2015-05-26 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US9049179B2 (en) 2010-07-26 2015-06-02 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
US8700728B2 (en) 2010-11-01 2014-04-15 Seven Networks, Inc. Cache defeat detection and caching of content addressed by identifiers intended to defeat cache
US8782222B2 (en) 2010-11-01 2014-07-15 Seven Networks Timing of keep-alive messages used in a system for mobile network resource conservation and optimization
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US9858160B2 (en) * 2010-11-19 2018-01-02 International Business Machines Corporation Restoring distributed shared memory data consistency within a recovery process from a cluster node failure
US20120239687A1 (en) * 2010-11-19 2012-09-20 International Business Machines Corporation Facilitation of search, list, and retrieval operations on persistent data set using distributed shared memory
US8819059B2 (en) * 2010-11-19 2014-08-26 International Business Machines Corporation Facilitation of search, list, and retrieval operations on persistent data set using distributed shared memory
US8819056B2 (en) * 2010-11-19 2014-08-26 International Business Machines Corporation Facilitation of search, list, and retrieval operations on persistent data set using distributed shared memory
US10599535B2 (en) 2010-11-19 2020-03-24 International Business Machines Corporation Restoring distributed shared memory data consistency within a recovery process from a cluster node failure
US20150269040A1 (en) * 2010-11-19 2015-09-24 International Business Machines Corporation Restoring distributed shared memory data consistency within a recovery process from a cluster node failure
US9063887B2 (en) 2010-11-19 2015-06-23 International Business Machines Corporation Restoring distributed shared memory data consistency within a recovery process from a cluster node failure
US20120131038A1 (en) * 2010-11-19 2012-05-24 International Business Machines Corporation Facilitation of search, list, and retrieval operations on persistent data set using distributed shared memory
US8903954B2 (en) 2010-11-22 2014-12-02 Seven Networks, Inc. Optimization of resource polling intervals to satisfy mobile device requests
US8539040B2 (en) 2010-11-22 2013-09-17 Seven Networks, Inc. Mobile network background traffic data management with optimized polling intervals
US8417823B2 (en) 2010-11-22 2013-04-09 Seven Network, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
US9100873B2 (en) 2010-11-22 2015-08-04 Seven Networks, Inc. Mobile network background traffic data management
US9325662B2 (en) 2011-01-07 2016-04-26 Seven Networks, Llc System and method for reduction of mobile network traffic used for domain name system (DNS) queries
US9084105B2 (en) 2011-04-19 2015-07-14 Seven Networks, Inc. Device resources sharing for network resource conservation
US9300719B2 (en) 2011-04-19 2016-03-29 Seven Networks, Inc. System and method for a mobile device to use physical storage of another device for caching
WO2012145541A3 (en) * 2011-04-19 2013-03-21 Seven Networks, Inc. Social caching for device resource sharing and management
GB2505103B (en) * 2011-04-19 2014-10-22 Seven Networks Inc Social caching for device resource sharing and management cross-reference to related applications
GB2505103A (en) * 2011-04-19 2014-02-19 Seven Networks Inc Social caching for device resource sharing and management
US8832228B2 (en) 2011-04-27 2014-09-09 Seven Networks, Inc. System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
US8621075B2 (en) 2011-04-27 2013-12-31 Seven Metworks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US8984581B2 (en) 2011-07-27 2015-03-17 Seven Networks, Inc. Monitoring mobile application activities for malicious traffic on a mobile device
US8868753B2 (en) 2011-12-06 2014-10-21 Seven Networks, Inc. System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
US8977755B2 (en) 2011-12-06 2015-03-10 Seven Networks, Inc. Mobile device and method to utilize the failover mechanism for fault tolerance provided for mobile traffic management and network/device resource conservation
US9173128B2 (en) 2011-12-07 2015-10-27 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9208123B2 (en) 2011-12-07 2015-12-08 Seven Networks, Llc Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor
US9009250B2 (en) 2011-12-07 2015-04-14 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US9277443B2 (en) 2011-12-07 2016-03-01 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US8861354B2 (en) 2011-12-14 2014-10-14 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
US9832095B2 (en) 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
US9021021B2 (en) 2011-12-14 2015-04-28 Seven Networks, Inc. Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system
US9131397B2 (en) 2012-01-05 2015-09-08 Seven Networks, Inc. Managing cache to prevent overloading of a wireless network due to user activity
US8909202B2 (en) 2012-01-05 2014-12-09 Seven Networks, Inc. Detection and management of user interactions with foreground applications on a mobile device in distributed caching
US9203864B2 (en) 2012-02-02 2015-12-01 Seven Networks, Llc Dynamic categorization of applications for network access in a mobile network
US9326189B2 (en) 2012-02-03 2016-04-26 Seven Networks, Llc User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US10263899B2 (en) 2012-04-10 2019-04-16 Seven Networks, Llc Enhanced customer service for mobile carriers using real-time and historical mobile application and traffic or optimization data associated with mobile devices in a mobile network
US11487707B2 (en) * 2012-04-30 2022-11-01 International Business Machines Corporation Efficient file path indexing for a content repository
US8775631B2 (en) 2012-07-13 2014-07-08 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US9307493B2 (en) 2012-12-20 2016-04-05 Seven Networks, Llc Systems and methods for application management of mobile device radio state promotion and demotion
US9271238B2 (en) 2013-01-23 2016-02-23 Seven Networks, Llc Application or context aware fast dormancy
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
WO2015138693A1 (en) * 2014-03-12 2015-09-17 Silicon Graphics International Corp. Apparatus and method of resolving protocol conflicts in an unordered network
US10423608B2 (en) * 2015-10-26 2019-09-24 International Business Machines Corporation Dynamic directory of objects based on logical attributes
US20170116257A1 (en) * 2015-10-26 2017-04-27 International Business Machines Corporation Dynamic directory of objects based on logical attributes
EP3401862A4 (en) * 2016-01-06 2019-02-27 Alibaba Group Holding Limited Data storage and service processing method and device
CN106952085A (en) * 2016-01-06 2017-07-14 阿里巴巴集团控股有限公司 A kind of method and device of data storage and Business Processing
CN109661650A (en) * 2016-09-30 2019-04-19 英特尔公司 Object consistency in Distributed Shared Memory System
US11327889B2 (en) 2017-12-27 2022-05-10 Bull Sas Multi-access to a data file stored in a data-storage system related to a buffer memory
US11836105B2 (en) 2018-11-30 2023-12-05 Nec Corporation Communication device, information processing system, and communication method

Also Published As

Publication number Publication date
EP0978069A1 (en) 2000-02-09
CA2221874A1 (en) 1998-05-22
EP0844559A3 (en) 1998-06-10
US5918229A (en) 1999-06-29
US6148377A (en) 2000-11-14
DE69722962T2 (en) 2004-05-19
CA2221874C (en) 2006-08-15
DE69722962D1 (en) 2003-07-24
EP0978069B1 (en) 2003-06-18
WO1998022892A1 (en) 1998-05-28
ATE243336T1 (en) 2003-07-15
AU7303598A (en) 1998-06-10
JPH10254761A (en) 1998-09-25
AU7303098A (en) 1998-06-10
JP2001506022A (en) 2001-05-08
EP0844559A2 (en) 1998-05-27
WO1998022874A1 (en) 1998-05-28

Similar Documents

Publication Publication Date Title
US6647393B1 (en) Dynamic directory service
US20080256090A1 (en) Dynamic directory service
US7146377B2 (en) Storage system having partitioned migratable metadata
US6029168A (en) Decentralized file mapping in a striped network file system in a distributed computing environment
US7243089B2 (en) System, method, and service for federating and optionally migrating a local file system into a distributed file system while preserving local access to existing data
US6026474A (en) Shared client-side web caching using globally addressable memory
US9996572B2 (en) Partition management in a partitioned, scalable, and available structured storage
US8131782B1 (en) Shadow directory structure in a distributed segmented file system
US7743038B1 (en) Inode based policy identifiers in a filing system
US7007024B2 (en) Hashing objects into multiple directories for better concurrency and manageability
US7587426B2 (en) System and method for virtualizing a distributed network storage as a single-view file system
US6339793B1 (en) Read/write data sharing of DASD data, including byte file system data, in a cluster of multiple data processing systems
US6449731B1 (en) Self-healing computer system storage
CA2734675C (en) Shared namespace for storage clusters
US7552223B1 (en) Apparatus and method for data consistency in a proxy cache
US6530036B1 (en) Self-healing computer system storage
US8255364B2 (en) System for emulating a virtual boundary of a file system for data management at a fileset granularity
KR19980063449A (en) Mechanism for Providing Generic Resource Names in a Client-Server Environment
US20230376451A1 (en) Client support of multiple fingerprint formats for data file segments
Hua et al. Hashing Computation for Scalable Metadata
Thorn et al. A peer-to-peer, value-oriented XML Store
GPREC Distributed File Systems: A Survey

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: GOOGLE INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MANGOSOFT INTELLECTUAL PROPERTY INC.;REEL/FRAME:028687/0383

Effective date: 20120501