Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1998-08-03
2001-05-01
Alam, Hosain T. (Department: 2172)
Data processing: database and file management or data structures
Database design
Data structure types
C709S223000, C709S238000
Reexamination Certificate
active
06226644
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates to managing communications in a computer network, and more particularly, to a data management and distribution system for providing a virtual fully-connected network between processes running on the computers.
2. Description of the Related Art
The dramatic growth of network-based environments and the accompanying movement of organizations to client/server in distributed computing environments have created an intense need for tools and technologies that support the development and management of resources and applications in these environments. Dramatic improvements in connectivity and communications hardware have made distance between network components increasingly irrelevant. A large number of computers used today are connected to some form of network environment. Increasingly, these networks include heterogeneous components, including diverse hardware platforms and operating systems which, in turn, are often interconnected by more than one network protocol.
To take advantage of the network-based environment, software applications are being developed with a more distributed model in mind; that is, the software applications are broken up into distinct processes and run on different processors in the network enviroment. However, currently developed distributed applications which take full advantage of the business and technology opportunities of large heterogenous networks have been prohibitively costly and complex. The dilemma is that even though distributed applications are best suited for effectively utilizing networked environments, they are significantly more difficult to write than more traditional centralized applications. In addition to the applications specific portions of the software, developers must also deal with asynchronous data transfers, communications protocols, data consistency issues, detection and correction of communications errors, data queuing and other problems associated with transferring information between the independent pieces of the application. As an additional complication, managing the distributed applications once they have been developed is also quite difficult in a highly diverse network environment where a change in one component can have a dramatic ripple effect on many other elements in the network. As a result, in order to develop and manage distributed computing applications, companies typically must invest not only in the wide variety of software tools, but must also become dependent on a wide range of specialists who understand the low level intricacies of many different operating systems and network protocols. This often results in more time being spent on technical design issues, rather than business design issues, in the development of distributed applications.
To minimize the complexity, most existing distributed computing applications and tools are based upon the client/server model of distributed processing. The client/server model deals with the network complexities by accepting an up front design limitation which mandates a single connection between two processes. For example,
FIG. 1A
shows a “standard” client/server system, which contains a single server
100
and multiple clients
102
,
104
and
106
interacting with the server
100
. An example of such a system could be a large company which stores its inventory and customer databases on a high performance computer system acting as a data server which is accessed by various personal computers over the network. As seen from
FIG. 1A
, the server
100
is individually connected to each of the clients
102
,
104
and
106
.
A more complex system is shown in FIG.
1
B. In this configuration, the database is distributed over multiple servers
110
,
112
and
114
, which interact with clients
102
,
104
and
106
. This configuration exists in a situation where data is collected at various different sites, or where one network from one company is interconnected to a different network in another company in order to electronically exchange information. Expanding the client/server system to contain multiple servers interacting with multiple clients, however, causes the complexity of the system to increase exponentially. The added complexity is due to the overhead involved in maintaining all the necessary connections. For example, a system which contains three servers connected to three clients must maintain a total of 11 connections. Even in a homogeneous environment where all the platforms are identical, each platform runs the same operating system, and only one network protocol is used, the complexity of large client/server configurations is immense. When the network becomes heterogeneous, the development and management problems become staggering.
SUMMARY OF THE INVENTION
As a result, it is an object of the present invention to provide a data management and distribution system that reduces the complexities of using distributed applications in a complex network. The data management and distribution system according to the present invention provides a “virtual” fully-connected network while avoiding the complexities of such a fully-connected network. The system utilizes a “data-centered” approach for distributing data among different processes in a network of computer systems. In the data-centered approach according to the preferred embodiment of the present invention, data is distributed as an encapsulated object. Each object includes a time stamp, properties, and addressing information in addition to the underlying data itself. Additionally, application processes running on the computers indicate the type of objects they are sending or are interested in receiving. The data management and distribution system of the preferred embodiments includes local router processes that preferably run on each of the computers for managing the transfer of these objects. Application processes running on the computers are connected to their respective local routers. Effectively, each local router acts as an interface between its respective application processes and the other routers. Each application process registers its interest in receiving certain types of objects with its local router. The local router then propagates this interest to other routers in the network so that the routers are aware of each other's interests. Each local router has a connection table for keeping track of the routers that the local router is connected to. The connection table also maintains a list of the child processes connected to the local router. In addition, each local router includes an interest table which lists the interests of its child processes as well as the interests of the other local routers. Data communication is accomplished by an application process providing an object to its local router, which then distributes the object to all other interested routers of which it is aware. Thus, with the use of local routers, application processes that need to communicate with each other over a network need not know the intricate details (such as the communications protocol used, the exact address of the receiving process, etc.) involved in transmitting information. By placing the burden of managing the network communications on the local routers, the complexity of the application code is reduced since it has only a single connection to its local router. Such details as the operating system type and the network protocol used are handled by the routers. Another advantage of the present invention is that, since each local router is aware of each other's interests, a virtual fully-connected network is available while avoiding the complexities of such a fully-connected network. A further advantage of the present invention is that what is defined as a client or a server can change dynamically, whereas in prior designs, the client and server components must be defined early in the design process. Yet another advantage of the present invention is that the routers can be used with different operating systems and communications pro
Ciscon Larry A.
Johnson Don H.
Wise, Jr. James D.
Alam Hosain T.
Modulus Technologies, Inc.
Smith E. Randall
LandOfFree
Method, storage medium and system for distributing data... 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, storage medium and system for distributing data..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method, storage medium and system for distributing data... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2473853