GB2367393A - Computer network - Google Patents

Computer network Download PDF

Info

Publication number
GB2367393A
GB2367393A GB0105410A GB0105410A GB2367393A GB 2367393 A GB2367393 A GB 2367393A GB 0105410 A GB0105410 A GB 0105410A GB 0105410 A GB0105410 A GB 0105410A GB 2367393 A GB2367393 A GB 2367393A
Authority
GB
United Kingdom
Prior art keywords
data
server
request
client
transmitted
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.)
Withdrawn
Application number
GB0105410A
Other versions
GB0105410D0 (en
Inventor
Richard Byron Theo
Mark Samuel Edwards
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avantis Ltd Great Britain
Original Assignee
Avantis Ltd Great Britain
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 Avantis Ltd Great Britain filed Critical Avantis Ltd Great Britain
Publication of GB0105410D0 publication Critical patent/GB0105410D0/en
Publication of GB2367393A publication Critical patent/GB2367393A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1859Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A computer network arranged such that data transmitted by a server (2) via a communication channel (6) shared with a plurality of clients (4), in response to a data request originating from one of the clients (4), will be stored in a respective memory cache of each client (4), and such that each client (4) will request data from the server only if that data is not already stored in its respective memory cache. Thus, where a number of clients require the same data at approximately the same time, such as in a classroom scenario, the overall amount of data traffic in the network is substantially reduced.

Description

2367393 Computer Network The present invention relates to a computer
network arranged to reduce the amount of data traffic therein.
It has long been known to provide a computer network in which one computer, known as a "server", is arranged to 5 transmit data via a common communication channel to one of a plurality of other computers, known as "clients".
One application of such a network is in a classroom environment in which a plurality of pupils are each provided with access to data stored on a server via a respective 10 computer workstation (client).
Periodically, throughout the course of a lesson, a teacher may instruct the pupils to download specific data files, such as images, from the server.
The server might therefore be required to transmit the 15 same file, at approximately the same time, to many workstations, thereby significantly increasing the amount of data that must be transmitted via the common communication channel.
It will be appreciated that to accommodate such a 20 situation, the number of workstations in the network must be limited to the maximum number of workstations that can be satisfactorily serviced by the server at any one time, which is ultimately limited by the bandwidth of the common communication channel via which data from the server is 25 transmitted.
We have now devised an arrangement which allows a server to provide data to an increased number of clients.
According to a first aspect of the present invention, there is provided a computer network arranged such that data 30 transmitted by a server via a communication channel shared with a plurality of clients, in response to a data request originating from one of the clients, will be stored in a respective memory cache of each client, and such that each client will request data from the server only if that data is not already stored in its respective memory cache.
Thus, where a number of clients require the same data at approximately the same time, such as in the classroom scenario described above, the overall amount of data traffic 5 in the network is substantially reduced. The maximum number of workstations that may satisfactorily be serviced by the server is therefore substantially increased.
Also, as the time required for a client to access data from its respective memory cache will typically be far less 10 than that required to obtain the same data from the server, the overall speed of the network will be substantially increased.
Preferably the data transmitted by the server comprises both the data requested and additional data. It has been found that in many circumstances there is an increased likelihood of 15 successive data requests being for respective items of data stored consecutively by the server, and therefore the additional data preferably comprises data stored by the server in succession with the requested data. However, it will be appreciated that the additional data might comprise any data 20 considered likely to be required subsequent to the requested data.
Preferably the network is arranged such that said data is transmitted as a multicast data transmission (as will be described in more detail hereinbelow). In this case, the 25 requested data is preferably then transmitted or re-transmitted to the client from which the data request originated, in an appropriate form to satisfy the data request, to complete the data transmission cycle. Where the multicast data transmission comprises additional data to that requested, it will be 30 appreciated that this arrangement avoids the situation of a client issuing successive data requests, if the data of the second request is in the process of being transmitted as part of the multicast data transmission.
The communication channel may be provided, for example, 35 by an electrical, optical or radio-frequency link.
According to a second aspect of the present invention, there is provided a computer program arranged to operate a computer network such that data transmitted by a server via a communication channel shared with a plurality of clients, in 5 response to a data request originating from one of the clients, will be stored in a respective memory cache of each client, and such that each client will request data from the server only if that data is not already stored in its respective memory cache.
10 According to a third aspect of the present invention, there is provided a server arranged to communicate with a plurality of clients via a communication channel and to respond to a data request originating from one of the clients by transmitting data as a multicast data transmission and 15 subsequently transmitting or re-transmitting the requested data to the client from which the data request originated, in an appropriate form to satisfy the data request, to complete the data transmission cycle.
Preferably the data transmitted by the server as a 20 multicast data transmission comprises both the data requested and additional data. Preferably the additional data comprises data stored by the server in succession with the requested data.
According to a fourth aspect of the present invention, 25 there is provided a computer program arranged to operate a server such that the server communicates with a plurality of clients via a communication channel and responds to a data request originating from one of the clients by transmitting data as a multicast data transmission and subsequently 30 transmitting or re-transmitting the requested data to the client from which the data request originated, in an appropriate form to satisfy the data request, to complete the data transmission cycle.
According to a fifth aspect of the present invention, 35 there is provided a client comprising a cache memory and arranged to request data from a server via a communication channel, only if that data is not already stored in said memory cache, and to then receive data transmitted as a multicast data transmission by the server and store the received data in said 5 memory cache.
Preferably the data transmitted by the server as a multicast data transmission comprises both the data requested and additional data.
Preferably the client is further arranged to receive 10 from the server, subsequent to the multicast data transmission, a transmission or re-transmission of the requested data, in an appropriate form to satisfy the data request, to complete the data transmission cycle.
According to a sixth aspect of the present invention, 15 there is provided a computer program arranged to operate a client comprising a cache memory to request data from a server via a communication channel, only if that data is not already stored in said memory cache, and to then receive data transmitted as a multicast data transmission by the server and 20 store the received data in said memory cache.
An embodiment of the present invention will now be described by way of an example only and with reference to the accompanying drawings, in which:
Figure 1 is a schematic illustration of a computer 25 network in accordance with the present invention; Figure 2 is a schematic illustration of the processing elements of the server of Figure 1; and Figure 3 is a schematic illustration of the processing elements of a corresponding client interface; Referring to Figure 1 of the drawings, a computer network is shown comprising a server 2 and a plurality of clients 4, each connected to the server via a common communication channel 6.
Each client 4 comprises a respective memory cache and is arranged to transmit a data request to the server 2 only in the event that a required item of data is not already stored in that cache.
In response to a data request from one or other of the clients 4 not having a required item of data in its respective 5 memory cache, the server 2 first transmits both the requested item of data together with additional items of data as a multicast data transmission via the common communication channel i.e. as a stream of digital data incorporating a coded identifier enabling pre-determined clients to identify and store that data in their respective memory caches.
The server then re-transmits the requested data to the client from which the data request originated, in a manner appropriate to satisfy the data request, to complete the data transmission cycle.
15 Figure 2 shows, schematically, the various processing elements of a server architecture for implementing the above network, with narrow lines indicating data requests and broad lines indicating the flow of data between elements.
With reference to Figure 2, a data request received via 20 a communication channel 8 by a network interface 10 is passed to a network re-director 12 which decodes the request.
In a conventional system, the decoded request would be transmitted (as indicated by the thin dashed line in Figure 2) as an internal data request to a file store 14, with the data 25 returned from the file store being passed back via the network re- director 12 and the network interface 10 to be transmitted to the client from which the data request originated.
According to the present invention, the decoded request is instead transmitted as an internal data request from the 30 network re-director 12 to the file store via an intermediate processing element 16 which supplements the internal data request with a request for additional data.
The data returned from the file store 14 comprises both the data requested by the client and additional data as 35 determined by the intermediate processing element 16, both data being passed to a coding element 18 which translates the data into an appropriate form for multicast transmission to selected clients, via the network interface 10.
The data requested by the client is subsequently 5 transmitted via the network re-director 12 and network interface 10, in a conventional manner, to the client from which the data request originated.
The thin dashed line in Figure 3 indicates how, in a conventional system, a data request from an external module 10 (not shown) is transmitted to the server via a network redirector 20 and network interface 22, with the requested data being passed back to the external module via the network interface 22 and network re-director 20.
According to the present invention, a network request 15 from an external module is instead passed to an intermediate processing element 24 which transmits an internal data request to a memory cache 26. If the memory cache 26 contains the required data then that data is passed back to the external module. If not, then the intermediate processing element 24 20 transmits the data request to the server via the network redirector 20 and network interface 22, with the requested data being passed back to the external module via the network interface 22 and network re-director 20.
As explained above, data is transmitted by the server 25 either as a multicast data transmission or to satisfy the data request of a specific client. The client interface of Figure 3 also comprises a processing element 28 which continually monitors the data transmitted by the server via the common communication channel 6 and, where that data is multicast data 30 of an appropriate identity, stores the multicast data in its memory cache 26.
Although the embodiment described with reference to the drawings comprises computer apparatus and processes performed in computer apparatus, the invention also extends to computer 35 programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice. The program may be in the f orm of source code, obj ect code, a code intermediate source and object code such as in partially compiled form, or in any other form suitable for use in the 5 implementation of the processes according to the invention. The carrier be any entity or device capable of carrying the program.
For example, the carrier may comprise a storage medium, such as a ROM, for example a CD ROM or a semiconductor ROM, or 10 a magnetic recording medium, for example a floppy disc or hard disk. Further, the carrier may be a transmissible carrier such as an electrical or optical signal which may be convey via electrical or optical cable or by radio or other means.
When the program is embodied in a signal which may be 15 conveyed directly by a cable or other device or means, the carrier may be constituted by such cable or other device or means.
Alternatively, the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being 20 adapted for performing, or for use in the performance of, the relevant processes.
The computer network thus described will allow a greater number of clients to be accommodated than would otherwise be possible using a conventional network.

Claims (17)

  1. Claims
    A computer network arranged such that data transmitted by a server via a communication channel shared with a plurality of clients, in response to a data request originating from one 5 of the clients, will be stored in a respective memory cache of each client, and such that each client will request data from the server only if that data is not already stored in its respective memory cache.
  2. 10 2) A computer network as claimed in Claim 1, wherein the data transmitted by the server, in response to the data request, comprises both the data requested and additional data.
  3. 3) A computer network as claimed in Claim 2, wherein the additional data comprises data stored by the server in succession with the requested data.
  4. 4) A computer network as claimed in any preceding claim, wherein the data transmitted by the server, in response to the data request, is transmitted as a multicast data transmission.
  5. 5) A computer network as claimed in Claim 4, wherein, subsequent to the multicast data transmission, the requested data is transmitted or re-transmitted to the client from which the data request originated, in an appropriate form to satisfy the data request, to complete the data transmission cycle.
  6. 6) A computer program arranged to operate a computer network such that data transmitted by a server via a communication channel shared with a plurality of clients, in response to a data request originating from one of the clients, will be stored in a respective memory cache of each client, and such that each client will request data from the server only if that data is not already stored in its respective memory 9 cache.
  7. 7) A server arranged to communicate with a plurality of clients via a communication channel and to respond to a data request originating from one of the clients by transmitting 5 data as a multicast data transmission and subsequently transmitting or re-transmitting the requested data to the client from which the data request originated, in an appropriate form to satisfy the data request, to complete the data transmission cycle.
  8. 8) A server as claimed in Claim 7, wherein the data transmitted by the server as a multicast data transmission comprises both the data requested and additional data.
  9. 9) A server as claimed in Claim 8, wherein the additional data comprises data stored by the server in succession with the 15 requested data.
  10. 10) A computer program arranged to operate a server such that the server communicates with a plurality of clients via a communication channel and responds to a data request originating from one of the clients by transmitting data as a 20 multicast data transmission and subsequently transmitting or re- transmitting the requested data to the client from which the data request originated, in an appropriate form to satisfy the data request, to complete the data transmission cycle.
  11. 11) A client comprising a memory cache and arranged to 25 request data from a server via a communication channel, only if that data is not already stored in said memory cache, and to then receive data transmitted as a multicast data transmission by the server and store the received data in said memory cache.
  12. 12) A client as claimed in Claim 11, wherein the data transmitted by the server as a multicast data transmission comprises both the data requested and additional data.
  13. 13) A client as claimed in Claim 11 or Claim 12,arranged to 5 receive from the server, subsequent to the multicast data transmission, a transmission or re-transmission of the requested data, in an appropriate form to satisfy the data request, to complete the data transmission cycle.
  14. 14) A computer program arranged to operate a client 10 comprising a memory cache to request data from a server via a communication channel, only if that data is not already stored in said memory cache, and to then receive data transmitted as a multicast data transmission by the server and store the received data in said memory cache.
  15. 15 15) A computer system substantially as herein described with reference to the accompanying drawings.
  16. 16) A server substantially as described herein with reference to the accompanying drawings.
  17. 17) A client substantially as herein described with reference to the accompanying drawings.
GB0105410A 2000-03-09 2001-03-05 Computer network Withdrawn GB2367393A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GBGB0005653.1A GB0005653D0 (en) 2000-03-09 2000-03-09 Computer network

Publications (2)

Publication Number Publication Date
GB0105410D0 GB0105410D0 (en) 2001-04-25
GB2367393A true GB2367393A (en) 2002-04-03

Family

ID=9887261

Family Applications (2)

Application Number Title Priority Date Filing Date
GBGB0005653.1A Ceased GB0005653D0 (en) 2000-03-09 2000-03-09 Computer network
GB0105410A Withdrawn GB2367393A (en) 2000-03-09 2001-03-05 Computer network

Family Applications Before (1)

Application Number Title Priority Date Filing Date
GBGB0005653.1A Ceased GB0005653D0 (en) 2000-03-09 2000-03-09 Computer network

Country Status (3)

Country Link
AU (1) AU3586501A (en)
GB (2) GB0005653D0 (en)
WO (1) WO2001067296A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004010332A2 (en) * 2002-07-24 2004-01-29 Casio Computer Co., Ltd. Electronic dictionary client, electronic dictionary server, and recording medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039672B2 (en) * 2002-05-06 2006-05-02 Nokia Corporation Content delivery architecture for mobile access networks
GB2392518B (en) 2002-09-02 2004-09-22 3Com Corp Computer network and method of operating same to preload content of selected web pages

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0884870A2 (en) * 1997-06-09 1998-12-16 AT&T Corp. Dynamic cache replication in a network through reverse tree generation
US5864854A (en) * 1996-01-05 1999-01-26 Lsi Logic Corporation System and method for maintaining a shared cache look-up table

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393526B1 (en) * 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
US20010052015A1 (en) * 1998-06-24 2001-12-13 Chueng-Hsien Lin Push-pull sevices for the internet

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864854A (en) * 1996-01-05 1999-01-26 Lsi Logic Corporation System and method for maintaining a shared cache look-up table
EP0884870A2 (en) * 1997-06-09 1998-12-16 AT&T Corp. Dynamic cache replication in a network through reverse tree generation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004010332A2 (en) * 2002-07-24 2004-01-29 Casio Computer Co., Ltd. Electronic dictionary client, electronic dictionary server, and recording medium
WO2004010332A3 (en) * 2002-07-24 2004-04-22 Casio Computer Co Ltd Electronic dictionary client, electronic dictionary server, and recording medium
US7313516B2 (en) 2002-07-24 2007-12-25 Casio Computer Co., Ltd. Electronic dictionary client connectable to an electronic dictionary server to search a dictionary on the electronic dictionary server
CN100385440C (en) * 2002-07-24 2008-04-30 卡西欧计算机株式会社 Electronic dictionary terminal, electronic dictionary server, and recording medium

Also Published As

Publication number Publication date
WO2001067296A3 (en) 2004-01-22
WO2001067296A2 (en) 2001-09-13
GB0005653D0 (en) 2000-05-03
GB0105410D0 (en) 2001-04-25
AU3586501A (en) 2001-09-17

Similar Documents

Publication Publication Date Title
US7240121B2 (en) Content providing apparatus and content providing method
CA2420925C (en) Systems and method for interacting with users over a communications network
US9002969B2 (en) Distributed multimedia server system, multimedia information distribution method, and computer product
CN1774901B (en) Method and apparatus to facilitate security-enabled content caching
US5742607A (en) Method and apparatus for controlling two way communication via disparate physical media
CN101938502B (en) Server cluster system and load balancing method
EP2493191B1 (en) Method, device and system for realizing hierarchically requesting content in http streaming system
KR970022789A (en) System for transferring embedded applications over the network
EP1833221A3 (en) Storage system having a channel control function using a plurality of processors
US7187683B1 (en) Statistics data collection mechanism for distributed, high-speed data processing environments
CN103533080A (en) Dispatching method and device for LVS (Linux virtual server)
CN110287146A (en) Using the method, equipment and computer storage medium of downloading
US20070260546A1 (en) Apparatus and Method for Serving Digital Content Across Multiple Network Elements
US7113998B1 (en) System and method for grouping recipients of streaming data
CN102437925A (en) Data backup method, device and system in distributed system
CN112689020B (en) Message transmission method, message middleware, electronic equipment and storage medium
WO2000045561A3 (en) Method and system for distributed queues in a multimedia network with proxies
GB2367393A (en) Computer network
EP0116554A1 (en) Fast response system for switched data networks.
US7610607B1 (en) Chaincast method and system for broadcasting information to multiple systems within the internet
CN115022725A (en) Video playing method and device
US20060159126A1 (en) Real time optimization over a shared communication channel
WO2001084363A3 (en) Remote selection of data resource
KR19990053527A (en) Client-server communication method using multilevel priority queue
CN117938933A (en) Instant messaging method and communication terminal in mixed environment

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)