System and method for locating resources in a distributed...

Electrical computers and digital processing systems: multicomput – Computer-to-computer session/connection establishing – Network resources access controlling

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C209S226000, C209S223100, C209S224000

Reexamination Certificate

active

06311219

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to distributed computer networks, and more particularly, the present invention relates to a system and method for locating resources on a distributed network.
BACKGROUND OF THE INVENTION
In today's highly networked computer environments distributed computing is critical because it allows the resources of relatively small computers to be combined to provide a more powerful overall system. Distributed computing allows data and programs to be spread out, or distributed, across large networks of heterogeneous computers, in a manner that is transparent to the user. Thus, data that is too large to fit on a single computer may be broken into smaller pieces and stored on several computers, or processes that service a high volume of users may be spread out across the network to more efficiently service end-users.
Because of the need for flexibility with distributed computing environments, numerous logistical issues and problems arise. For example, while any two computers on such a network can communicate with each other on the network, the cost of communication may vary depending upon the computers involved and the topology of the communications network. Moreover, operations that appear to be fairly straightforward (e.g., processes for locating homepages on the World Wide Web) can become logistically difficult to manage where the environment is constantly changing (e.g., homepages moving to new physical locations). The problem associated with locating resources in any distributed environment is of particular concern and is addressed by this invention.
Typical distributed computing environments include clients, resource computers (e.g., servers), and resources. A resource is any entity available for a computer process to use as part of its computation. Resources may be physical (e.g., a robot arm) or logical (e.g., a database). Other examples of resources include a CD-ROM disk, a name server process, an object-oriented programming object, a location in a distributed shared memory and so on.
A resource can own another resource if it “contains” the owned resource. A resource contains another resource if performing a physical operation on the container (e.g., destroying it, etc), implies performing the same operation on the contained resource. For instance, a physical disk containing a collection of files owns all of the files on the disk or a region of distributed shared memory owns an object-oricnted programming object allocated in the memory region, etc. For a resource to own another resource, the owning resource must be less abstract than the owned resource. Thus, physical resources, (e.g., a computer) can own logical resources, (e.g., a name-server process). Since physical resources (e.g., disks, robot arms, etc.) are not abstractions, they do not have owners.
At any point in time at most one computer in the distributed, computing environment controls each resource. The computer controlling a resource is the computer to which the resource is attached and the controlling computer has responsibility for mediating and enabling non-local accesses to the resource. Moreover, at any instance in time a resource need not be controlled (e.g., consider the case of a disk that is in a desk drawer). If a computer controls a given resource r, it also controls all of the resources owned by r. A resource is born on the computer which first controlled the resource. A resource server is a computer that controls one or more resources and which enables other computers in the distributed computing environment to access (a non-empty subset of) the resources it controls. Of concern here, are those resources which can be potentially be made accessible to other computers via resource servers.
Migration is a persistent change of either the owner or controller of a given resource. The controller of a resource is changed by detaching it from one computer and reattaching it to another (e.g., by physically moving a diskette from a drive on one machine to a drive on another machine). The owner of a (logical) resource is changed by destructively copying the logical resource (e.g., moving the backing store for a region of distributed shared memory from one device to another).
As noted above, tracking and locating resources can become logistically difficult on large distributed computing networks where migration occurs. Moreover, given the numerous places a resource could potentially migrate to (e.g., consider the web), the costs involved in locating resources can become practically unbounded. None the less, in distributed systems, clients often need to quickly find the machine controlling a remote resource.
One method of locating resources involves the utilization of a resource identifier (RID) to identify the resource. That is, if every resource has a unique identifier, the location of the resource could be encoded in the RID. However, because flexible distributed systems sometimes must change the machine controlling a resource, a system of dealing with migration must be employed. Previous approaches to finding resources that may migrate may suffer from numerous drawbacks including the potential of requiring unbounded communications, the need to suppot distributed garbage collection to (transparently) update existing RID's, the need to include a dedicated server, or the need to maintain a continued connection between the resource and its creating server.
The following documents each describe some form of resource tracking/locating, but each is subject to some of the above-mentioned limitations. J. Chase, H. Levy, E. Lazowska and M. Baker-Harvey. “Lightweight shared objects in a 64-bit operating system,” OOPSLA 92: Conference on Object-Oriented Programming Systems, Languages and Applications, ACM/SIGPLAN 1992. p.397.; M. Day, B. Liskov, U. Maheshwari, and A. Meyers. “References to remote mobile objects in Thor.” ACM Letters on Programming Languages and Systems, 2(1-4), Mar.-Dec. 1993. p115; J. Ioannidis, D. Duchamp, and G. Maguire, Jr. “IP-based protocols for mobile internetworking” Technical Report CUCS-006-91, Depaltment of Computer Science, Columbia University 1991; and “Universal Networked Objects,” CORBA 2.0/Interoperability, OMG TC Document 95.3.xx, Mar. 20, 1995.
Distributed computing environments, including the internet, world wide web, intranets and large corporate networks, will continue to play a dominate role in computing. Efficient management of computing resources will be a primaly challenge in enabling such environments to fulfill the needs of the end-users. Thus, a need exists to provide an efficient system of tracking and locating resources. The aforementioned art is hereby incorporated by reference.
SUMMARY OF THE INVENTION
The present invention provides a method and system for managing resources in a distributed computing environment. Disclosed is (1) a system and means for building resource identifiers (RIDs), (2) a distributed process stiuctre for managing information regarding the location of computers and resources, and (3) a set of protocols that enable mapping from a RID to the machine controlling a resource in a small, bounded number of messages. These functional aspects are referred to herein collectively as the “Distributed Location Services” (DLS).
The present invention incorporates the notion of “logical processes,” which were described in detail in the related application “Distributed Computing Using Logical Processes.” The logical processes disclosures teaches, among other things, a logical addressing/mapping means which will allow the physical address of a device to be modified without modifying the resource identifier. Moreover, logical processes provide a flexible means for implementing the above-mention distributed process structure or LLSP's, described in more detail below. While the invention is disclosed in a generic sense, it is understood that the invention may apply to any distributed computing environment, including the world wide web, the internet, intranets, etc.
In accordance with the above, it is an adv

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for locating resources in a distributed... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for locating resources in a distributed..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for locating resources in a distributed... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2611213

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.