WO1990005331A1 - Remote linkable computer bus - Google Patents

Remote linkable computer bus Download PDF

Info

Publication number
WO1990005331A1
WO1990005331A1 PCT/US1989/004718 US8904718W WO9005331A1 WO 1990005331 A1 WO1990005331 A1 WO 1990005331A1 US 8904718 W US8904718 W US 8904718W WO 9005331 A1 WO9005331 A1 WO 9005331A1
Authority
WO
WIPO (PCT)
Prior art keywords
bus
location
connection
data signals
components
Prior art date
Application number
PCT/US1989/004718
Other languages
French (fr)
Inventor
Howard W. Selby, Iii
Original Assignee
Selby Howard W Iii
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Selby Howard W Iii filed Critical Selby Howard W Iii
Publication of WO1990005331A1 publication Critical patent/WO1990005331A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function

Definitions

  • This invention relates generally to computer buses, and more particularly to a computer bus that a user can readily operate in multiple locations.
  • a bus within a computer is a means of transmitting signals generally grouped by function, e.g., a data bus, an address bus, or a control bus. Buses are implemented as actual communication lines. They may be laid down as a circuit on a chip itself, on the circuit board, or as cables. In existing computer systems, the bus is a hard-wired link, i.e., the various components served by the bus are linked to the bus by direct physical connection. The bus is an unbroken physical connection throughout the entire length of the bus. The direct physical connection is by direct wiring. In the case of a personal computer, for example, the printed circuit board, or motherboard, is the bus.
  • bus configurations require that the com ⁇ ponents of a system that are connected to the bus be physically located in close proximity to each other so that the physical connection to the bus can be made. There must be a direct physical link throughout the bus. As a consequence, the bus and all connected components must be in the same location.
  • Another object of the invention is to provide a computer bus in which devices, components, and peripherals connected to one segment of the bus operate and function fully with devices, components, and peripherals connected to another segment of the bus in a different location.
  • Still another object of the invention is to provide a remotely linkable bus structure that is transparent to the user — the invention automatically makes the necessary connections and data links depending on the location of components connected to the bus.
  • Yet another object of the invention is to facilitate a variety of means for communicating between bus segments.
  • a computer bus that can be located in more than one location and which can be remotely linked together so that the bus operates as a single unified bus. Any components or peripherals that are connected to the bus can be connected to any segment of the bus. To the user, the bus operates as one unified bus, even though the bus is physically present in several locations.
  • An instruction from the central processing unit (CPU) of the computer will automatically be sent to a remote bus segment of the computer if the target device for the instruction is connected to the remote segment of the bus. Alternatively, instructions or data emanating from the device connected to the remote segment of the bus will be sent back to the CPU for processing.
  • CPU central processing unit
  • the bus bridge forms the communication link between bus segments in different locations.
  • a variety of means can be used to form the bus bridge including connectors, cables, modems and telephone lines, electromagnetic transmissions, etc.
  • the computer selects the most reliable bridge for the bus based on the bus bridges available to the computer and a user-determined hierarchy of bus bridges (e.g., traditional telephone line selected in preference to a cellular telephone connection) .
  • the remote linkable computer bus employs a bus manager program (i.e., a program residing in the computer's main memory) to control operation of the bus.
  • the bus manager program maintains an inventory of bus segments and of items connected to the various segments of the remote linkable bus. In addition, the bus manager program configures the communication links between bus segments. Finally, the bus manager program provides for signal interaction between bus segments.
  • the remote linkable bus operates in such a way that the user does not have to change how he or she uses the computer in order to access the entire bus; whether in the office or on the road, the full functionality of the bus is available to the user.
  • FIG. 1 is a block diagram of the remote linkable computer bus of this invention.
  • FIGS. 2A and 2B are block diagrams showing several illustrative configurations of device, component, and peripheral connection to the remote linkable computer bus of this invention.
  • FIGS. 3A and 3B are block diagrams showing a bus bridge within a remote linkable computer bus of this invention.
  • FIG. 4 is a block diagram showing an illustrative computer configuration employing a remote linkable computer bus of this invention.
  • FIG. 5 is a flow chart of the operation of the bus manager program of this invention.
  • FIGS. 6, 7, 8, and 9 are more detailed flow charts of portions of the FIG. 5 flow chart.
  • FIG. 1 a block diagram of the remote linkable computer bus. Because the remote linkable computer bus 10 can reside in several locations, it is tied together through remote link 12 to form a unified bus.
  • One segment of the bus that resides with the computer's central processing unit (CPU) 14 is referred to as the local bus segment 10a of the remote linkable bus.
  • CPU 14 is typically any suitable microprocessor such as a conventional Intel 80286 or Intel 80386 microprocessor.
  • the non-CPU segment of the bus located on the other side of bus link 12 is referred to as the remote bus segment 10b of the remote linkable bus.
  • FIG. 2 shows various representative configurations in which devices, components, and peripherals can be attached to the remote linkable computer bus.
  • Local bus segment 10a extends from CPU 14.
  • FIG. 2A shows that a floppy disc drive 16 and the computer's memory 22 are connected to local bus segment 10a.
  • Hard disc drive 18 and a printer 20 are connected to remote bus segment 10b on the non-CPU side of remote link 12.
  • the remote linkable computer bus connects all components and peripherals regardless of their locations.
  • FIG. 2B shows a similar configuration in which modems 24 are connected to bus segments 10a and 10b. It does not matter where the components and peripherals are attached to the bus.
  • the remote link 12 assures that a full bus connection is made and that all components and peripherals are linked to CPU 14.
  • FIG. 3 shows the detail of a bus bridge 28 which forms the remote link.
  • signals from CPU 14 transit local bus segment 10a to bus bridge 28.
  • Bus bridge 28 enables the signal to transit the remote link to remote bus segment 10b.
  • a bus bridge is a means of communicating a signal from one bus segment to another. Bus bridges can be direct links such as cables or indirect links such as modems and communication lines.
  • FIG. 3 shows the detail of a bus bridge 28 which forms the remote link.
  • signals from CPU 14 transit local bus segment 10a to bus bridge 28.
  • Bus bridge 28 enables the signal to transit the remote link to remote bus segment 10b.
  • a bus bridge is a means of communicating a signal from one bus segment to another.
  • 3B shows various devices, components, and peripherals connected to the remote linkable computer bus.
  • the computer's memory 22 and a floppy disc drive 16 are connected to local bus segment 10a.
  • a hard disc drive 18 and network 26 are connected on the other side of bus bridge 28 to remote bus segment 10b-.
  • FIG. 4 shows a representative computer con ⁇ figuration employing the remote linkable computer bus and including CPU 14 and main memory 22 on local bus segment 10a and hard disc drive 18 on remote bus segment 10b.
  • Bus bridge 28 comprises a modem 30 on local bus segment 10a, another modem 32 on remote bus segment 10b, and a telephone line communication link 38 interconnecting modems 30 and 32.
  • communication link 38 may be a dedicated telephone line, more typically it is an ordinary switched telephone connection which is established through the conventional commercial telephone network only when needed for transmitting information between modems 30 and 32.
  • communication link 38 may be a conventional cellular telephone connection, a radio or microwave link, or any other suitable remote data transmission link.
  • Local bus segment logic 34 and remote bus segment logic 36 control signal flow between CPU 14 and remote bus segment 10b.
  • the logic for each bus segment can be any of the following: an auxiliary microprocessor (such as a conventional Xylink M2018 logic cell array) ; a macrocell array (such as a conventional LSI Logic Corporation LL3020 macrocell array) ; an application-specific integrated circuit; a gate array; or other forms of mask programmable logic.
  • bus logic 34 can be implemented by CPU 14 without the need for a separate logic device on the local bus segment.
  • the advantage of a separate bus logic device 34 on the local bus segment is that certain remote bus operations, such as establishing communication links, can operate in the background, thereby freeing CPU 14 for other processing functions.
  • FIG. 5 is a flow chart showing the components of bus manager system 200.
  • the bus manager system comprises hardware and software that manages the operation of the remote linkable computer bus.
  • the software of the bus manager includes bus configuration program 300, bus inventory routine 400, bus access control 500, and bus instruction coordinator 600.
  • Bus manager 201 is accessible to the computer user at any time, either automatically based on the task being performed by the user, or manually when specifically called by the user.
  • FIG. 6 is a flow chart showing greater detail of the bus configuration program 300 of the bus manager.
  • the user can manually initiate the bus configuration program (step 301) .
  • bus configuration step 302
  • the user can modify the bus inventory file which informs the bus manager of the number of bus segments, what is connected to the various bus segments, and allows the user to add or remove items connected to the bus segments, or to add or remove the bus segments themselves.
  • the user can modify the bus access control file (step 303) , by specifying the communication configuration of the computer system (e.g., type of modem and communication software) , by indicating the phone numbers of applicable bus modems, and finally by setting limitations on access to the remote linkable bus if desired. Limitation can include denying certain users access to various devices, components, or peri ⁇ pherals on the bus and setting identification numbers or passwords to allow certain users access to specific bus segments.
  • the user is returned to bus manager 200.
  • FIG. 7 is a flow chart of the bus inventory program.
  • the bus manager knows the number of bus segments and all connections to each bus segment.
  • the bus inventory can be initialized directly by the user or automatically when the computer is activated or when a peripheral or device is changed.
  • the bus inventory routine selects one of the bus segments. If the selected bus segment is the local bus segment (step 402) , the bus query routine is run (step 404) . If the bus segment selected is a remote bus segment (step 403) , then the bus access program must be initiated before the bus query routine can be run (step 500) .
  • the bus manager determines what is on the particular bus segment. For example, the bus manager will determine how much available memory is on the bus segment, the form of the memory (random access memory, expanded memory, etc.), and the designation of that memory (e.g., RAM drives). In addition, the devices and peripherals connected to the bus segment are determined.
  • the bus inventory routine is repeated (step 405) , until all bus segments are inventoried.
  • FIG. 8 is a flow chart of the bus access control program. This program establishes the bus bridge and completes the necessary communication links to enable communication between bus segments. Upon initializing the bus access control program (step 501) , a bus bridge is analyzed (step 502) .
  • FIG. 9 is a flow chart of the bus instruction coordination. An instruction sent by the computer's CPU is targeted for a given device (step 601) . A determination is made whether the device is on the local or one of the remote bus segments (step 602) . If the device is on the local bus, the instruction is processed in the normal way (step 603) .
  • the instruction is first captured by local bus segment logic 34 (step 604) .
  • the requisite bus bridge is completed through the bus access control program (step 500) .
  • Local bus segment logic 34 processes the instruction for transmission over the bus bridge (step 605) . This may include encoding a signal for appropriate data transmission (e.g., serializing a parallel instruction for transmission via a modem and/or inclusion of appropriate error correction information) .
  • step 606 the instruction is received and captured by remote bus segment logic 36.
  • Logic 36 decodes the received instruction into an understandable bus signal arid releases that bus signal to the remote bus segment. From there the signal is received and acted upon by the target device (step 607) .
  • the reverse process takes place for information going from the target device back to the CPU on the local bus segment (steps 608 and 609) . The process continues until the request sequence initiated by the user is complete.
  • FIG. 4 is a block diagram of a typical computer configuration using a remote linkable computer bus.
  • the local bus segment 10a includes CPU 14.
  • the computer's main RAM memory 22 is connected to local bus segment 10a.
  • the bus bridge 28 in this example is formed by two modems, a local bus segment modem 34 and a remote bus segment modem 36. Each bus segment has its own bus logic as discussed earlier.
  • Remote bus segment 10b has a hard disc drive 18 connected to it.
  • the local bus segment could, for example, comprise a portable computer unit.
  • the user's hard disc drive is located back at the user's office and is connected to the remote segment 10b of the computer bus.
  • the user has only one computer system, part of which (the local bus segment) is with him or her at the meeting, while the other part of the computer system (the remote bus segment) resides at his or her office.
  • the user turns on the portable computer in the meeting room.
  • the bus manager automatically initiates the bus inventory program.
  • the portable computer queries the local bus segment to determine what is on that segment of the bus.
  • the bus access control program is invoked and a communication link established between (1) the portable computer and (2) the remote bus segment and disc drive back in the user's office.
  • the remote bus segment is then queried and the bus inventory updated indicating that the user's disc drive is connected to the remote segment of the bus.
  • the user needs to access a file that is on the hard disc drive at his or her office.
  • the user requests the file in a standard way, e.g., through a word processing program, a spread sheet program, or a simple DOS copy command.
  • the bus manager knows that drive D: (the hard disc drive) is located on the remote segment of the bus by virtue of the bus inventory.
  • An instruction requesting the file issues from the CPU. Since the target of the instruction is on the remote bus segment, the instruction is captured by the local bus logic.
  • the bus manager initiates the bus access control program in order to establish a bus bridge. In the case of the configuration shown in FIG. 4, the bus access control program activates the local bus modem and dials the remote bus segment modem. The remote bus modem answers the call and the remote bus logic receives the instruction.
  • the instruction is then released to the remote segment of the bus and in turn to the target hard disc drive.
  • the requested file is located and the process then reverses itself.
  • the file is transmitted through the modems back to the local segment of the bus to main memory.
  • the disc drive could have been located with him or her in the meeting room and attached directly to the portable computer. No additional commands other than the command to get the file were issued by the user. Although it takes more time to get the file from the remote location than a local file, no additional steps had to be taken by the user.
  • the bus manager made the necessary arrangements.

Abstract

A computer bus structure that can be segmented, thereby allowing operation of the computer in multiple locations. Devices, components, and peripherals can be connected to any segment of the bus and function with other devices, components, and peripherals on other segments of the bus.

Description

REMOTE LINKABLE COMPUTER BUS
Background of the Invention
Field of the Invention This invention relates generally to computer buses, and more particularly to a computer bus that a user can readily operate in multiple locations.
Description of the Prior-Art
A bus within a computer is a means of transmitting signals generally grouped by function, e.g., a data bus, an address bus, or a control bus. Buses are implemented as actual communication lines. They may be laid down as a circuit on a chip itself, on the circuit board, or as cables. In existing computer systems, the bus is a hard-wired link, i.e., the various components served by the bus are linked to the bus by direct physical connection. The bus is an unbroken physical connection throughout the entire length of the bus. The direct physical connection is by direct wiring. In the case of a personal computer, for example, the printed circuit board, or motherboard, is the bus.
Such bus configurations require that the com¬ ponents of a system that are connected to the bus be physically located in close proximity to each other so that the physical connection to the bus can be made. There must be a direct physical link throughout the bus. As a consequence, the bus and all connected components must be in the same location.
There is a growing demand for greater flexi¬ bility and portability in computer equipment. Individuals take their work home, or on the road on business trips, yet still require the full functionality of their office computing environments. The prior art does not fully accommodate this demand for flexibility and portability. Portable computers either give up significant computing power to be portable, or are so cumbersome and heavy that they are not truly portable. More significantly, remote linking of the portable computer to the office environment is usually only a data link and does not provide full integration with other office computing components. The user must be familiar with a variety of communication processes and protocols and must have intimate knowledge of the entire computer system before file transfer can take place. Finally, the prior art requires the user to have multiple computer systems to achieve any meaningful degree of functionality: a desktop computer at the office, a desktop computer for the home, and a portable computer for the road.
To meet user demand for greater flexibility and functionality in a computer system it would be desirable to have a single computer which would be fully functional no matter where the components of the computer are located.
In view of the foregoing, it is an object of this invention to provide a computer bus that can be operated in multiple locations.
Another object of the invention is to provide a computer bus in which devices, components, and peripherals connected to one segment of the bus operate and function fully with devices, components, and peripherals connected to another segment of the bus in a different location.
Still another object of the invention is to provide a remotely linkable bus structure that is transparent to the user — the invention automatically makes the necessary connections and data links depending on the location of components connected to the bus.
Yet another object of the invention is to facilitate a variety of means for communicating between bus segments.
Summary of the Invention
These and other objects of the invention are accomplished in accordance with the principles of the invention by use of a computer bus that can be located in more than one location and which can be remotely linked together so that the bus operates as a single unified bus. Any components or peripherals that are connected to the bus can be connected to any segment of the bus. To the user, the bus operates as one unified bus, even though the bus is physically present in several locations.
An instruction from the central processing unit (CPU) of the computer will automatically be sent to a remote bus segment of the computer if the target device for the instruction is connected to the remote segment of the bus. Alternatively, instructions or data emanating from the device connected to the remote segment of the bus will be sent back to the CPU for processing.
Electronic signals being transmitted via the bus transit the remote linkable computer bus by way of bus bridges. The bus bridge forms the communication link between bus segments in different locations. A variety of means can be used to form the bus bridge including connectors, cables, modems and telephone lines, electromagnetic transmissions, etc. There may be several bus bridges available at the same time. The computer selects the most reliable bridge for the bus based on the bus bridges available to the computer and a user-determined hierarchy of bus bridges (e.g., traditional telephone line selected in preference to a cellular telephone connection) . The remote linkable computer bus employs a bus manager program (i.e., a program residing in the computer's main memory) to control operation of the bus. The bus manager program maintains an inventory of bus segments and of items connected to the various segments of the remote linkable bus. In addition, the bus manager program configures the communication links between bus segments. Finally, the bus manager program provides for signal interaction between bus segments. The remote linkable bus operates in such a way that the user does not have to change how he or she uses the computer in order to access the entire bus; whether in the office or on the road, the full functionality of the bus is available to the user.
Further features of the invention, its nature and various advantages will be more apparent from the accompanying drawings and the following detailed description of the preferred embodiments.
Brief Description of the Drawings
FIG. 1 is a block diagram of the remote linkable computer bus of this invention.
FIGS. 2A and 2B (sometimes collectively referred to as FIG. 2) are block diagrams showing several illustrative configurations of device, component, and peripheral connection to the remote linkable computer bus of this invention.
FIGS. 3A and 3B (sometimes collectively referred to as FIG. 3) are block diagrams showing a bus bridge within a remote linkable computer bus of this invention.
FIG. 4 is a block diagram showing an illustrative computer configuration employing a remote linkable computer bus of this invention. FIG. 5 is a flow chart of the operation of the bus manager program of this invention.
FIGS. 6, 7, 8, and 9 (comprising parts 9A and 9B) are more detailed flow charts of portions of the FIG. 5 flow chart.
Detailed Description of the Preferred-Embodiments
Referring now to the drawings, wherein like numerals represent like or corresponding elements throughout the several views, there is shown in FIG. 1 a block diagram of the remote linkable computer bus. Because the remote linkable computer bus 10 can reside in several locations, it is tied together through remote link 12 to form a unified bus. One segment of the bus that resides with the computer's central processing unit (CPU) 14 is referred to as the local bus segment 10a of the remote linkable bus. CPU 14 is typically any suitable microprocessor such as a conventional Intel 80286 or Intel 80386 microprocessor. The non-CPU segment of the bus located on the other side of bus link 12 is referred to as the remote bus segment 10b of the remote linkable bus.
FIG. 2 shows various representative configurations in which devices, components, and peripherals can be attached to the remote linkable computer bus. Local bus segment 10a extends from CPU 14. FIG. 2A shows that a floppy disc drive 16 and the computer's memory 22 are connected to local bus segment 10a. Hard disc drive 18 and a printer 20 are connected to remote bus segment 10b on the non-CPU side of remote link 12. The remote linkable computer bus connects all components and peripherals regardless of their locations.
FIG. 2B shows a similar configuration in which modems 24 are connected to bus segments 10a and 10b. It does not matter where the components and peripherals are attached to the bus. The remote link 12 assures that a full bus connection is made and that all components and peripherals are linked to CPU 14. FIG. 3 shows the detail of a bus bridge 28 which forms the remote link. In FIG. 3A, signals from CPU 14 transit local bus segment 10a to bus bridge 28. Bus bridge 28 enables the signal to transit the remote link to remote bus segment 10b. As far as the signals are concerned, there is but one bus along which the signals travel. A bus bridge is a means of communicating a signal from one bus segment to another. Bus bridges can be direct links such as cables or indirect links such as modems and communication lines. FIG. 3B shows various devices, components, and peripherals connected to the remote linkable computer bus. The computer's memory 22 and a floppy disc drive 16 are connected to local bus segment 10a. A hard disc drive 18 and network 26 are connected on the other side of bus bridge 28 to remote bus segment 10b-.
FIG. 4 shows a representative computer con¬ figuration employing the remote linkable computer bus and including CPU 14 and main memory 22 on local bus segment 10a and hard disc drive 18 on remote bus segment 10b. Bus bridge 28 comprises a modem 30 on local bus segment 10a, another modem 32 on remote bus segment 10b, and a telephone line communication link 38 interconnecting modems 30 and 32. Although communication link 38 may be a dedicated telephone line, more typically it is an ordinary switched telephone connection which is established through the conventional commercial telephone network only when needed for transmitting information between modems 30 and 32. Alternatively, communication link 38 may be a conventional cellular telephone connection, a radio or microwave link, or any other suitable remote data transmission link.
Local bus segment logic 34 and remote bus segment logic 36 control signal flow between CPU 14 and remote bus segment 10b. The logic for each bus segment can be any of the following: an auxiliary microprocessor (such as a conventional Xylink M2018 logic cell array) ; a macrocell array (such as a conventional LSI Logic Corporation LL3020 macrocell array) ; an application-specific integrated circuit; a gate array; or other forms of mask programmable logic.
In the case of local bus segment 10a, bus logic 34 can be implemented by CPU 14 without the need for a separate logic device on the local bus segment. On the other hand, the advantage of a separate bus logic device 34 on the local bus segment is that certain remote bus operations, such as establishing communication links, can operate in the background, thereby freeing CPU 14 for other processing functions. FIG. 5 is a flow chart showing the components of bus manager system 200. The bus manager system comprises hardware and software that manages the operation of the remote linkable computer bus. The software of the bus manager includes bus configuration program 300, bus inventory routine 400, bus access control 500, and bus instruction coordinator 600. Bus manager 201 is accessible to the computer user at any time, either automatically based on the task being performed by the user, or manually when specifically called by the user.
FIG. 6 is a flow chart showing greater detail of the bus configuration program 300 of the bus manager. The user can manually initiate the bus configuration program (step 301) . Through bus configuration (step 302) , the user can modify the bus inventory file which informs the bus manager of the number of bus segments, what is connected to the various bus segments, and allows the user to add or remove items connected to the bus segments, or to add or remove the bus segments themselves. In addition, the user can modify the bus access control file (step 303) , by specifying the communication configuration of the computer system (e.g., type of modem and communication software) , by indicating the phone numbers of applicable bus modems, and finally by setting limitations on access to the remote linkable bus if desired. Limitation can include denying certain users access to various devices, components, or peri¬ pherals on the bus and setting identification numbers or passwords to allow certain users access to specific bus segments. Once a user has completed configuration of the bus, the user is returned to bus manager 200.
FIG. 7 is a flow chart of the bus inventory program. Through the bus inventory, the bus manager knows the number of bus segments and all connections to each bus segment. The bus inventory can be initialized directly by the user or automatically when the computer is activated or when a peripheral or device is changed.
Once initialized (step 401) , the bus inventory routine selects one of the bus segments. If the selected bus segment is the local bus segment (step 402) , the bus query routine is run (step 404) . If the bus segment selected is a remote bus segment (step 403) , then the bus access program must be initiated before the bus query routine can be run (step 500) .
During the bus query process (step 404) , the bus manager determines what is on the particular bus segment. For example, the bus manager will determine how much available memory is on the bus segment, the form of the memory (random access memory, expanded memory, etc.), and the designation of that memory (e.g., RAM drives). In addition, the devices and peripherals connected to the bus segment are determined. The bus inventory routine is repeated (step 405) , until all bus segments are inventoried. FIG. 8 is a flow chart of the bus access control program. This program establishes the bus bridge and completes the necessary communication links to enable communication between bus segments. Upon initializing the bus access control program (step 501) , a bus bridge is analyzed (step 502) . The program draws on information in the bus inventory and selects the best available link mechanism. If the best link is through bus modems on both the local and remote bus segments, the bus access control program actives the local bus modem, loads the requisite communication program, and dials the remote bus modem (step 503) . The remote bus modem is activated, receives the information from the local bus segment, and transfers that information to the remote bus segment (step 504) . The bus bridge is maintained according to the bus configuration file (step 505) . FIG. 9 is a flow chart of the bus instruction coordination. An instruction sent by the computer's CPU is targeted for a given device (step 601) . A determination is made whether the device is on the local or one of the remote bus segments (step 602) . If the device is on the local bus, the instruction is processed in the normal way (step 603) .
If, however, the device is connected to the remote segment of the bus, it must be transmitted to the remote bus location. The instruction is first captured by local bus segment logic 34 (step 604) . The requisite bus bridge is completed through the bus access control program (step 500) . Local bus segment logic 34 processes the instruction for transmission over the bus bridge (step 605) . This may include encoding a signal for appropriate data transmission (e.g., serializing a parallel instruction for transmission via a modem and/or inclusion of appropriate error correction information) . In step 606 the instruction is received and captured by remote bus segment logic 36. Logic 36 decodes the received instruction into an understandable bus signal arid releases that bus signal to the remote bus segment. From there the signal is received and acted upon by the target device (step 607) .
The reverse process takes place for information going from the target device back to the CPU on the local bus segment (steps 608 and 609) . The process continues until the request sequence initiated by the user is complete.
An example describing a typical use of the remote linkable bus will serve to clarify the bus manager operations. Reference will be made to the various flow charts in FIGS. 5-9 as well as to FIG. 4. As has been explained, FIG. 4 is a block diagram of a typical computer configuration using a remote linkable computer bus. The local bus segment 10a includes CPU 14. In addition, the computer's main RAM memory 22 is connected to local bus segment 10a. The bus bridge 28 in this example is formed by two modems, a local bus segment modem 34 and a remote bus segment modem 36. Each bus segment has its own bus logic as discussed earlier. Remote bus segment 10b has a hard disc drive 18 connected to it.
Assume that the user has the local bus segment in a meeting room located in a different location than his or her office. The local bus segment could, for example, comprise a portable computer unit. The user's hard disc drive is located back at the user's office and is connected to the remote segment 10b of the computer bus.
The user has only one computer system, part of which (the local bus segment) is with him or her at the meeting, while the other part of the computer system (the remote bus segment) resides at his or her office.
The user turns on the portable computer in the meeting room. The bus manager automatically initiates the bus inventory program. The portable computer queries the local bus segment to determine what is on that segment of the bus. The bus access control program is invoked and a communication link established between (1) the portable computer and (2) the remote bus segment and disc drive back in the user's office. The remote bus segment is then queried and the bus inventory updated indicating that the user's disc drive is connected to the remote segment of the bus. During the course of the meeting the user needs to access a file that is on the hard disc drive at his or her office. The user requests the file in a standard way, e.g., through a word processing program, a spread sheet program, or a simple DOS copy command. The bus manager knows that drive D: (the hard disc drive) is located on the remote segment of the bus by virtue of the bus inventory.
An instruction requesting the file issues from the CPU. Since the target of the instruction is on the remote bus segment, the instruction is captured by the local bus logic. The bus manager initiates the bus access control program in order to establish a bus bridge. In the case of the configuration shown in FIG. 4, the bus access control program activates the local bus modem and dials the remote bus segment modem. The remote bus modem answers the call and the remote bus logic receives the instruction.
The instruction is then released to the remote segment of the bus and in turn to the target hard disc drive. The requested file is located and the process then reverses itself. The file is transmitted through the modems back to the local segment of the bus to main memory. As far as the user was concerned, the disc drive could have been located with him or her in the meeting room and attached directly to the portable computer. No additional commands other than the command to get the file were issued by the user. Although it takes more time to get the file from the remote location than a local file, no additional steps had to be taken by the user. The bus manager made the necessary arrangements.

Claims

Claims
1. A bus structure for transmitting data signals between a plurality of components in a computer system, at least one of said components being disposed at a first location and at least one other of said components being disposed at a second location, said first and second locations being physically remote from one another, said bus structure comprising: a first bus segment disposed at said first location and which can be operatively connected to the components disposed at said first location for transmitting data signals to and from said components disposed at said first location; a second bus segment disposed at said second location and which can be operatively connected to the components disposed at said second location for transmitting data to and from said components disposed at said second location; and first and second bus logic means disposed at said first and second locations, respectively, and operatively connected to said first and second bus segments, respectively, for, in the case of said first bus logic means, establishing a connection between said first and second bus segments and transmitting said data signals via said connection to said second bus segment, and, in the case of said second bus segment logic means, causing said second bus segment to respond to establishment of said connection and transmission of said data signals via said connection by receiving said data signals and transmitting them to any component operatively connected to said second bus segment.
2. The apparatus defined in claim 1 wherein each of said first and second bus logic means comprises a device selected from the group consisting of a microprocessor, a logic cell array, a macrocell array, an application-specific integrated circuit, a gate array, and a mask programmable logic device.
3. The apparatus defined in claim 1 wherein each of said bus logic means includes a modem.
4. The apparatus defined in claim 3 wherein each of said first and second bus segments is connected to the commercial telephone network via the associated modem, and wherein said apparatus further comprises: means disposed at said first location for storing the telephone number of the modem at said second location.
5. The apparatus defined in claim 4 wherein said first logic means includes: means for retrieving the telephone number of the modem at said second location; and means for dialing said telephone number into the commercial telephone network to establish a telephone connection between the modems at said first and second locations.
6. The apparatus defined in claim 1 wherein said connection may be established via any one of a plurality of different communication media, and wherein said first bus logic means includes: means for selecting one of said communication media; and means for establishing said connection via the selected communication medium.
7. The apparatus defined in claim 6 wherein only some of said communication media may be available at any given time, wherein said communication media have a predetermined order of preference, and wherein said first bus logic means further includes: means for storing at said first location an indication of the order of preference of said communication media.
8. The apparatus defined in claim 7 wherein said means for selecting one of said communication media includes: means for selecting the communication medium which has the highest preference of the communication media which are currently available.
9. The apparatus defined in claim 6 wherein each of said communication media may have a different communication protocol, and wherein said first bus logic means further includes: means for storing the protocol for each communication medium.
10. The apparatus defined in claim 9 wherein said means for establishing said connection via the selected communication medium comprises: means for using the protocol for said selected communication medium to establish said connection via that medium.
11. The apparatus defined in claim 1 wherein said second bus logic means includes: means for storing data signals applied to said second bus segment by the components connected to said second bus segment; and means for transmitting the stored data signals to said first bus logic means via said connection.
12. The apparatus defined in claim 11 wherein said first bus logic means includes: means for receiving the data signals transmitted from said second bus logic means via said connection; and means for transmitting the received data signals via said first bus segment to the components connected to said first bus segment.
13. The apparatus defined in claim 11 wherein said connection may be established via any one of a plurality of different predetermined communication media, each of which may require a different predetermined protocol for communication via that communication medium, and wherein said second bus logic means further includes: means for storing the protocol for each communication medium; means for identifying the communication medium via which said connection has been established; and means for supplying the stored protocol for the identified communication medium to said means for transmitting the stored data signals to said first bus logic means via said connection.
14. A bus structure for transmitting data signals between a plurality of components in a computer system, at least one of said components being disposed at a first location and at least one other of said components being disposed at a second location, said first and second locations being physically remote from one another, each of said data signals including a component identification for identifying the component to which said data signals are to be transmitted, said bus structure comprising: a first bus segment disposed at said first location and operatively connected to the components disposed at said first location for transmitting data signals to and from said components disposed at said first location; a second bus segment disposed at said second location and operatively connected to the components disposed at said second location for transmitting data to and from said components disposed at said second location; and first and second bus logic means disposed at said first and second locations, respectively, and operatively connected to said first and second bus segments, respectively, for, in the case of said first bus logic means, analyzing each of said data signals on said first bus segment to determine which of said first and second bus segments the component identified by the component identification of each of said data signals is operatively connected to and if that component is operatively connected to said second bus segment, then establishing a connection between said first and second bus segments and transmitting said data signals via said connection to said second bus segment, and, in the case of said second bus segment logic means, causing said second bus segment to respond to establishment of said connection and transmission of said data signals via said connection by receiving said data signals and transmitting them to the component identified by said component identification.
15. The apparatus defined in claim 14 wherein access to at least one of said components may require the user of the computer system to first enter a predetermined password code, and wherein said apparatus further comprises: means disposed at said first location for storing the password code, if any, for each of said components; and means disposed at said first location for determining, prior to establishment of said connection, whether the component identified by said component identification is a component for which use of a password code is required, and if so, allowing said connection to be established only if the password code for that component has been entered.
16. The apparatus defined in claim 14 wherein each user of said computer system has a predetermined user identification code, wherein access to at least one of said components may be restricted to certain predetermined user identification codes, and wherein said apparatus further comprises: means disposed at said first location for storing the user identification code access restrictions, if any, for each of said components; and means disposed at said first location for determining, prior to establishment of said connection, whether the component identified by said component identification is a component for which there are user identification code access restrictions, and if so, allowing said connection to be established only if a user identification code which is allowed access to that component has been entered.
17. The apparatus defined in claim 14 wherein said first bus logic means includes: means for storing data signals applied to said first bus segment which have component identifications identifying components connected to said second bus segment; and means for transmitting the stored data signals to said second bus logic means via said connection.
18. The apparatus defined in claim 14 wherein said first bus logic means includes: means for determining the identifications of the components connected to said first bus segment; means for establishing a connection between said first and second bus segments and using said connection and said second bus logic means to determine the identifications of the components con¬ nected to said second bus segment; and means for storing all of said component identifications, categorized by associated bus segment, for subsequent comparison to the component identifications of said data signals.
19. The method of managing the transmission of data signals between a plurality of components in a computer system, at least one of said components being disposed at a first location and being connected to a first bus segment also disposed at said first location for conveying data signals to and from the components at said first location, at least one other of said components being disposed at a second location and being connected to a second bus segment also disposed at said second location for conveying data signals to and from the components at said second location, said first and second locations being physically remote from one another, each of said data signals including a component identification for identifying the component to which said data signals are to be transmitted, said method comprising the steps of: storing at said first location an indication of the bus segment to which each component is connected; comparing the component identification of each of said data signals transmitted by said first bus segment to the stored indications of the bus segment to which each component is connected; establishing a connection between said first and second bus segments if the component identification being compared in said comparing step identi ies a component which is connected to said second bus segment; and transmitting said data signals from said first bus segment via said connection to said second bus segment for further transmission of said data signals via said second bus segment to the component identified by said component identification.
20. The method defined in claim 19 wherein each of said first and second bus segments is connected to the commercial telephone network via a modem, and wherein said method further comprises the step of: storing at said first location the telephone number of the modem at said second location.
21. The method defined in claim 20 wherein said step of establishing a connection between said first and second bus segments includes the steps of: retrieving at said first location the telephone number of the modem at said second location; and dialing said telephone number into the commercial telephone network at said first location to establish a telephone connection between the modems at said first and second locations.
22. The method defined in claim 19 wherein said method further comprises the steps of: storing at said first location an indication of the permissible time duration of said connection; and terminating said connection when said permissible time duration has elapsed.
23. The method defined in claim 19 wherein access to at least one of said components may require the user of the computer system to first enter a predetermined password code, and wherein said method further comprises the steps of: storing at said first location the password code, if any, for each of said components; and prior to establishing said connection, determining at said first location whether the component identified by said component identification being compared in said comparing step is a component for which use of a password code is required, and if so, allowing said connection to be established only if the password code for that component has been entered.
24. The method defined in claim 19 wherein each user of said computer system has a predetermined user identification code, wherein access to at least one of said components may be restricted to certain predetermined user identification codes, and wherein said method further comprises the steps of: storing at said first location the user identification code access restrictions, if any, for each of said components; and prior to establishing said connection, determining at said first location whether the component identified by said component identification being compared in said comparing step is a component for which there are user identification code access restrictions, and if so, allowing said connection to be established only if a user identification code which is allowed access to that component has been entered.
25. The method defined in claim 19 wherein said connection may be established via any one of a plurality of different predetermined communication media, and wherein said step of establishing said connection includes the steps of: selecting one of said communication media; and establishing said connection via the selected communication medium.
26. The method defined in claim 25 wherein only some of said communication media may be available at any given time, wherein said communication media have a predetermined order of preference, and wherein said method further comprises the step of: storing at said first location an indication of the order of preference of said communication media.
27. The method defined in claim 26 wherein said step of selecting one of said communication media includes the step of: selecting the communication medium which has the highest preference of the communication media which are currently available.
28. The method defined in claim 25 wherein each of said communication media may have a different communication protocol, and wherein said method fur ther comprises the step of: storing at said first location the protocol for each communication medium.
29. The method defined in claim 28 wherein said step of establishing said connection via the selected communication medium includes the step of: using the protocol for said selected communication medium to establish said connection via that medium.
30. The method defined in claim 19 wherein said step of transmitting said data signals includes the steps of: storing said data signals at said first location; converting the stored data signals at said first location to a form suitable for transmission via said connection; transmitting the converted data signals via said connection;. reconverting the transmitted data signals at said second location to a form suitable for further transmission via said second bus segment; and transmitting the reconverted data signals via said second bus segment to the component identified by said component identification.
31. The method defined in claim 19 further comprising the step of: transmitting data signals applied to said second bus segment by the components connected to said second bus segment from said second bus segment via said connection to said first bus segment for further transmission to the components connected to said first bus segment.
32. The method defined in claim 31 wherein said step of transmitting data signals applied to said second bus segment includes the steps of: storing at said second location the data signals applied to said second bus segment by components connected to said second bus segment; converting the stored data signals at said second location to a form suitable for transmission via said connection; transmitting the converted data signals via said connection; reconverting the transmitted data signals at said first location to a form suitable for further transmission via said first bus segment; and transmitting the reconverted data signals via said first bus segment to the components connected to said first bus segment.
33. The method defined in claim 32 wherein said connection may be established via any one of a plurality of different predetermined communication media, each of which may require a different predetermined protocol for communication via that communication medium, said method further comprising the steps of: storing at said second location the protocol for each of said communication media; identifying at said second location the communication medium via which said connection has been established; and using the protocol for the identified communication medium in the performance of at least one of said steps of (1) converting the stored data signals at said second location to a form suitable for transmission via said connection, and (2) transmitting the converted data signals via said connection.
34. The method defined in claim 19 wherein said step of storing an indication of the bus segment to which each component is connected includes the steps of: determining at said first location the identifications of the components connected to said first bus segment; establishing from said first location a connection between said first and second bus segments and determining from said first location via said connection the identifications of the components connected to said second bus segment; and storing at said first location all of said component identifications and an identification of the associated bus segment for each component identification for subsequent use in said comparing step.
PCT/US1989/004718 1988-11-02 1989-10-23 Remote linkable computer bus WO1990005331A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26608388A 1988-11-02 1988-11-02
US266,083 1988-11-02

Publications (1)

Publication Number Publication Date
WO1990005331A1 true WO1990005331A1 (en) 1990-05-17

Family

ID=23013104

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1989/004718 WO1990005331A1 (en) 1988-11-02 1989-10-23 Remote linkable computer bus

Country Status (3)

Country Link
AU (1) AU4527789A (en)
CA (1) CA2001471A1 (en)
WO (1) WO1990005331A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0594024A1 (en) * 1992-10-23 1994-04-27 International Business Machines Corporation Method and apparatus for enabling data paths on a remote bus

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4215243A (en) * 1978-11-17 1980-07-29 Racal-Vadic Inc. Automatic modem identification system
US4246442A (en) * 1973-11-07 1981-01-20 Ricoh Company, Ltd. Method and device for confirming correct connection between data terminals in data communication system using telephone network
US4281315A (en) * 1979-08-27 1981-07-28 Bell Telephone Laboratories, Incorporated Collection of messages from data terminals using different protocols and formats
US4365294A (en) * 1980-04-10 1982-12-21 Nizdorf Computer Corporation Modular terminal system using a common bus
US4455661A (en) * 1980-04-03 1984-06-19 Codex Corporation Dual processor digital modem apparatus
US4504901A (en) * 1980-09-26 1985-03-12 International Business Machines Corporation Communication line adapter for use with a communications controller

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4246442A (en) * 1973-11-07 1981-01-20 Ricoh Company, Ltd. Method and device for confirming correct connection between data terminals in data communication system using telephone network
US4215243A (en) * 1978-11-17 1980-07-29 Racal-Vadic Inc. Automatic modem identification system
US4281315A (en) * 1979-08-27 1981-07-28 Bell Telephone Laboratories, Incorporated Collection of messages from data terminals using different protocols and formats
US4455661A (en) * 1980-04-03 1984-06-19 Codex Corporation Dual processor digital modem apparatus
US4365294A (en) * 1980-04-10 1982-12-21 Nizdorf Computer Corporation Modular terminal system using a common bus
US4504901A (en) * 1980-09-26 1985-03-12 International Business Machines Corporation Communication line adapter for use with a communications controller

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0594024A1 (en) * 1992-10-23 1994-04-27 International Business Machines Corporation Method and apparatus for enabling data paths on a remote bus
US5655112A (en) * 1992-10-23 1997-08-05 International Business Machines Corporation Method and apparatus for enabling data paths on a remote bus

Also Published As

Publication number Publication date
CA2001471A1 (en) 1990-05-02
AU4527789A (en) 1990-05-28

Similar Documents

Publication Publication Date Title
US5230052A (en) Apparatus and method for loading bios into a computer system from a remote storage location
US5987499A (en) Versatile RF data capture system
EP0106213B1 (en) Decentralized information processing system and initial program loading method therefor
US5859973A (en) Methods, system and computer program products for delayed message generation and encoding in an intermittently connected data communication system
US5179652A (en) Method and apparatus for storing, transmitting and retrieving graphical and tabular data
US6473783B2 (en) Method and apparatus for sharing peripheral devices over a network
US7269630B2 (en) Automatically switching shared remote devices in a dense server environment thereby allowing the remote devices to function as a local device
US6178551B1 (en) Method of and system for installing a computer program
US6170021B1 (en) Server computer I/O redirection tool
US8156077B2 (en) Data transfer method and server computer system
JP2502455B2 (en) Adapter installation device and method, and computer device
US20040150625A1 (en) Virtual keyboard and mouse control device
CN100466578C (en) Communication system and communication control apparatus and method
WO1990005331A1 (en) Remote linkable computer bus
US6408344B1 (en) Method and apparatus for file transfer and computer readable recording medium recording a file transfer program
US6035363A (en) Information input adapter and an information processing system
JPH04359335A (en) Memory access system
EP0398641A2 (en) Remote execution of database transactions
KR100608281B1 (en) The network system for automatically renewing data
JP3307331B2 (en) Network file system data transfer method
JP2002157232A (en) Data processing system
JP2001216186A (en) Server client system and its program storage medium
KR100440199B1 (en) Method for Providing Status Information for Management in Router System
JPH0258151A (en) Common bus system
Wallace et al. An introduction to microcomputer networking concepts

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU BR JP KR

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE FR GB IT LU NL SE