Method and system for load-balanced data exchange in...

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S241000, C709S241000, C709S226000, C709S228000, C709S229000, C710S268000

Reexamination Certificate

active

06766348

ABSTRACT:

TECHNICAL FIELD
The present invention relates to communications networks and, in particular, to the exchange of data between users of computational resources connected to a communications network and a distributed resource allocation system that manages the use of those computational resources.
BACKGROUND OF THE INVENTION
A typical communications network comprises a number of computers and other electronic devices interconnected by a data transmission network. Data transmission networks include public switched telephone networks (PSTNs), ATM networks, internal intranets, the Internet and private networks implemented using any of a large number of available software and hardware components. Commonly, a computer is connected to a physical data transmission network through one or more physical ports, each port having a unique network address. Additional types of electronic devices can also be directly connected to a physical data transmission network or can be accessed from the physical data transmission network through an intermediate computer to which the electronic devices are attached. These additional electronic devices include modems, printers, switchboards, and audio response units.
Each computer attached to the network can execute one or more software programs. An instance of a running program is called a process. A person using a general purpose computer normally launches the execution of application programs. Application programs include word processing programs, web browsers, spread sheets, and computer games. Such programs will be called “users” in the following discussion. Application programs can, in turn, request and make use of operating system services provided by concurrently executing operating system programs. These services include transfer of data from one general purpose computer to another over a physical data transmission network. The data may be transferred to another application program running on a remote computer or to a peripheral device such as a modem or a printer. An application program may also initiate execution of a program on a remote computer, transmit data to that program, and receive data back from that program over a physical data transmission network. The electronic devices, including computers, that a user may directly request services from, either directly or indirectly through operating system calls, are commonly referred to as computer resources.
FIG. 1
represents a schematic diagram of a simple communications network. The physical data transmission network
101
is represented as a central spoke and hub feature connecting the remaining elements in the diagram. These remaining elements include computers
102
-
106
, users
107
-
110
, and resources
112
-
118
. One resource
112
is connected directly to the physical data transmission network. Resources
113
-
118
are indirectly connected to the network through computers. Tasks are processes running on a multi-tasking computer. Each task is launched by a user. The capacity of this multi-tasking computer
106
to run processes is considered a resource. Resources
112
-
118
represent printers, modems, switchboards, or other electronic devices.
A communications network, like the network displayed in
FIG. 1
, provides the potential for a user running on one computer to exchange data with, and request services from, remote resources connected to the network. For example, suppose computer
102
in
FIG. 1
represents a personal computer running a software application program corresponding to user
107
. Resource
113
, which is attached directly to this personal computer, represents a black and white laser printer. Resource
114
, which is directly connected to computer
104
, represents a color printer. Suppose that user
107
has been directed to print out a color diagram. In order to print the color diagram, user
107
must send to computer
104
, through the physical data transmission network, a file representing the diagram to be printed and a request that that file be printed out by the color printer
114
. Even in a simple communications network, like the one displayed in
FIG. 1
, attempts by several users to simultaneously access remote resources can lead to a number of problems.
Load balancing is but one problem encountered by users of resources over a communications network. Suppose resources
112
-
114
are high-speed modems of equal capabilities, and suppose users
108
and
110
have been simultaneously directed to transmit large data files using a modem to a remote computer accessible only over telephone lines. If users
108
and
110
both request resource
112
, then only one of them will receive this resource, at best, leaving the other resource request unfulfilled. Finding another, similarly capable and available resource, such as resources
113
and
114
, selecting which user receives the other, available resource and directing that user to the other resource are nearly impossible problems to solve at the application program level. Not only do both users
108
and
110
need to be aware of the existence of the high-speed modems
113
and
114
, but both users need also to be aware of each other, and to constantly monitor the timing of each other's requests for modem
112
.
SUMMARY OF THE INVENTION
The present invention provides a method and system for exchanging data between a user and a distributed resource allocator handling system that allocates computer resources connected to a communications network to users requesting those resources. The distributed resource allocator handling system comprises a number of resource allocator system agents, each running as a separate process on a computer connected to the network. Each resource allocator system agent maintains a database of global network resource information and constantly communicates with all other resource allocator system agents that compose the distributed resource allocator handling system to ensure that each resource allocator system agent has the same global network information. A resource allocator system agent may be accessed directly by a user running on the same computer via an applications programming interface, or may be accessed by a user running on a remote computer via a communications protocol that provides the same functional interface as that provided by the applications programming interface. Resource allocator system agents communicate one with another using a different communications protocol. The elements of the resource allocator handling system provide an efficient load balancing mechanism that allocates resources to users on the basis of similar domain and greatest remaining capacity. Allocation on the basis of closest domain balances communication resources and allocation on the basis of greatest remaining capacity evenly distributes utilization of similar resources.
The present invention also provides a method of load balancing a plurality of resources in a distributed resource allocation system operating across a plurality of domains within a computer network. The method entails receiving a request for a resource having a particular type from an application program in one domain. Resources in the domain are then examined to determine if one or more resources have the requested type. A list of resources having the requested type is received. The list of resources having the requested type is then examined to locate a resource having the greatest available capacity.


REFERENCES:
patent: 5511208 (1996-04-01), Boyles et al.
patent: 5867665 (1999-02-01), Butman et al.
patent: 6044367 (2000-03-01), Wolff
patent: 6092178 (2000-07-01), Jindal et al.
patent: 6112243 (2000-08-01), Downs et al.
patent: 6263358 (2001-07-01), Lee et al.

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

Method and system for load-balanced data exchange in... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and system for load-balanced data exchange in..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for load-balanced data exchange in... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3225061

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