US20080256090A1 - Dynamic directory service - Google Patents
Dynamic directory service Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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/5016—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0721—Error 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/0724—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
- G06F11/1425—Reconfiguring to eliminate the error by reconfiguration of node membership
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/182—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1072—Decentralised address translation, e.g. in distributed shared memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/75—Indicating network or usage conditions on the user display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2043—Error 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/964—Database arrangement
- Y10S707/966—Distributed
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
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
- 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.
- 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, 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.
- 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.
- 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. - 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, thesystem 10 is a directory service that maintains various directory information. - Referring to
FIG. 1 , in one embodiment, thenetwork system 10 includes a plurality of network nodes 12 a-12 d and a commondirectory service subsystem 20 that provides adynamic directory service 22 according to the invention. Thedynamic 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 aprocessor 30 a and adirectory service program 32 a for accessing thedirectory service 22. One or more of the nodes can include a monitor for displaying graphically (40, 42) thedirectory 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 thedirectory service 22 and, therefore, thesystem 10 can distribute control of the directory information across the nodes of the network. To this end, each node of thesystem 10, such asnode 12 a, includes adirectory 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, thesystem 10 maintains adirectory service 22 within a globally addressable unstructured storage system. Each of the nodes 12 a-12 d can access that storage system and thedirectory 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 thedirectory service 22. Thegraphical user interface 42 could allow a user at a node, for example atnode 12 a, to insert directory information graphically within thedirectory service 22. To this end, thedirectory 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 thedirectory service 22. As shown inFIG. 1 , fornode 12 c only for simplicity, that node (which includes a graphical user interface 40) reflects the change to thedirectory service 22 affected by thedirectory service program 32 a of thenode 12 a. In particular, thegraphical user interface 40 of thenode 12 c can depict to a user that certain directory information is being placed within thedirectory service 22. As illustrated, a system user atnode 12 a can directitem 50 a to be inserted at a set location within thedirectory service 22. Thedirectory service program 32 a then places theitem 50 a within thedirectory service 22 at the proper location. Moreover,node 12 c detects the change within thedirectory service 22 and reflects that change within itsgraphical 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. Theset 66 is a tree structure starting at aroot 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). Theset 66 thus is a collection of directory information organized hierarchically, for example as a tree structure or as a graph, rooted in theroot 80. The non-leaf nodes in the tree (not including the root 80) are theentries directory information - 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 theset 66 and might find that theroot 80 contains a list of all users, thenon-leaf node 90 contains information about the user Jones, and theleaf 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 , adirectory record 320 includes arecord header 322 and one or more directory entries (two are shown, 324 and 326). Each directory entry includes akey field 330 and one or more data fields 332. Thekey field 330 could be, for example, “company name,” and the associateddata 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.” Thekey field 330 could also be a globally unique identifier (GUID). Thedata 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 , eachdirectory record 320 includes arecord header 322 that includes attribute information for that record, and that attribute information typically is metadata for the directory record. Therecord 320 further includes one or more directory entries, such as the depicteddirectory entries directory entries directory entry 324 provides an index for half of the directory, and in complement thereto thedirectory entry 326 provides an index for the other half. Continuing with this example, each of thesedirectory entries - 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 performsstep 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 , aroot directory record 400 could be the root record referred to instep 612. Ifdirectory 402 contains the requested directory information in its data field (step 616), the directory service need only to index into thatentry 402 using the key and retrieve the requested directory information from the data field. Note that, as indicated inFIG. 5 , theroot 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 theroot 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 inFIG. 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 treeroot directory record 404. As with theroot directory record 400, the GUID treeroot directory record 404 is likely to be replicated on many or all of the network nodes. In the example ofFIG. 5 , two replicas (405, 407) of therecord 404 are depicted. - The loop defined by
steps 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 theellipsis 410 inFIG. 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 asrecord 412 inFIG. 5 . As with all records maintained by the directory service of the invention, thisrecord 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 ofFIG. 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 treeroot directory record 404 and examining the key field of each of the directory entries in the record 404 (or one of thecopies record 405 on other nodes in the network) to determine the range in which the GUID logical link from therecord 400 falls. If the GUID logical link from therecord 400 falls within the range identified by the key field ofdirectory entry 409, the GUID in the data field of theentry 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 theGUID 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 andrecord 412 ofFIG. 5 , the data field in the entry 411 of theGUID 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 root directory record 400 that provides a logical link (e.g., GUID “12540”) in its data field directly to anentry 399 in arecord 398 that has the requested directory information in its data field. It also is possible, as mentioned hereinabove, that anentry 402 in theroot 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.
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)
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)
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)
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)
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 |
-
1996
- 1996-11-22 US US08/754,481 patent/US6148377A/en not_active Expired - Lifetime
-
1997
- 1997-03-28 US US08/827,534 patent/US5918229A/en not_active Expired - Lifetime
- 1997-11-20 CA CA002221874A patent/CA2221874C/en not_active Expired - Fee Related
- 1997-11-21 AU AU73035/98A patent/AU7303598A/en not_active Abandoned
- 1997-11-21 EP EP97309471A patent/EP0844559A3/en not_active Withdrawn
- 1997-11-21 AU AU73030/98A patent/AU7303098A/en not_active Abandoned
- 1997-11-21 EP EP97949572A patent/EP0978069B1/en not_active Expired - Lifetime
- 1997-11-21 WO PCT/US1997/021457 patent/WO1998022874A1/en active Application Filing
- 1997-11-21 DE DE69722962T patent/DE69722962T2/en not_active Expired - Fee Related
- 1997-11-21 AT AT97949572T patent/ATE243336T1/en not_active IP Right Cessation
- 1997-11-21 WO PCT/US1997/021466 patent/WO1998022892A1/en active IP Right Grant
- 1997-11-21 JP JP9337986A patent/JPH10254761A/en active Pending
- 1997-11-21 JP JP52394698A patent/JP2001506022A/en not_active Ceased
-
2008
- 2008-06-23 US US12/144,508 patent/US20080256090A1/en not_active Abandoned
Patent Citations (8)
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)
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 |