Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DATA TRANSFER METHOD
Document Type and Number:
WIPO Patent Application WO/2008/093041
Kind Code:
A1
Abstract:
A method of maintaining a secure communications session between a data requesting entity and a server arranged to process received data requests and to transfer data to requesting entities, the method comprising: receiving a request for data at said server; determining said request comprises an identifier for an existing data generation process, and if no identifier is present, creating a data generation process and an interim response process, generating a first interim response to requesting entity and terminating said interim response process, and if an identifier is present, determining if said data generation process associated with said identifier has terminated, and if not, generating another interim response message to said requesting entity, wherein when one of said interim response messages is received by said requesting entity, said requesting entity is automatically configured to generate a repeat request containing an identifier associated with the data generation process.

Inventors:
POWER MARK PHILIP JAMES (GB)
Application Number:
PCT/GB2008/000141
Publication Date:
August 07, 2008
Filing Date:
January 16, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BRITISH TELECOMM (GB)
POWER MARK PHILIP JAMES (GB)
International Classes:
H04L29/08; H04L29/06
Foreign References:
US20030200255A12003-10-23
US7089302B12006-08-08
US6557038B12003-04-29
Attorney, Agent or Firm:
LOFTING, Coreena, Fiona, Anne (Intellectual Property DepartmentPP: C5A, Bt Centre,81 Newgate Street, London Greater London EC1A 7AJ, GB)
Download PDF:
Claims:

CLAIMS

1. A method of maintaining a secure communications session between a data requesting entity and a server arranged to process received data requests and to transfer data to said data requesting entity, the method comprising: receiving a request for data at said server from said data requesting entity; determining if said request comprises an identifier for an existing data generation process, and if no identifier is present, , creating a data generation process and an interim response process, generating in said interim response process a interim response to send to said requesting entity and terminating said interim response process, and if an identifier is present, determining if said data generation process associated with said identifier has terminated, and if so transferring said generated data to the requesting entity, and if not, generating in another interim response process another interim response message to send to said requesting entity, and terminating said interim response process, wherein when one of said interim response messages is received by said requesting entity, said requesting entity is automatically configured to generate a repeat request containing an identifier associated with the data generation process.

2. A method as claimed in claim 1 , wherein the interim response process includes an instruction to said data requesting entity indicating when said repeat , request is generated.

3. A method as claimed in claim 2, wherein the instruction indicates a period of time to delay sending the repeat request which is determined by said server in dependence on one or more conditions of one or more communications networks supporting said secure communications session.

4. A method as claimed in any previous claim, wherein said requesting entity is located in a different communications network from the communications network within which the server performs said data generation process.

5. A method as claimed in any previous claim, wherein when said requesting entity receives said first interim response message, it displays a visual notification representing an interim response.

6. A method as claimed in any previous claims, wherein said data generation process comprises a background process which is maintained independently by the server after said interim response process is terminated.

7. A method as claimed in any previous claim, wherein the data generation request comprises a request for the generation of communications network test results.

8. A method as claimed in any previous claim, wherein said requesting entity - comprises a browser application running on a client device.

9. Apparatus arranged to generate data on demand in response to the receipt of a request for said data from a remotely requesting entity, the apparatus comprising: a receiver for receiving a request for data at said server, the data to be provided using a secure communications session between said server and said requesting entity; one or more processors for: determining if said request comprises an identifier for an existing data generation process; creating a data generation process and a plurality of interim response processes, terminating said interim response processes; determining if said data generation process associated with said identifier has terminated, and in response, generating an interim response message; and a transmitter to transmit said interim response message to said requesting entity, wherein said interim response message automatically configures said requesting entity to generate a repeat request containing an identifier associated with the data generation process after a predetermined period of time.

10. Apparatus as claimed in claim 9, wherein the period of time is dependent on the level of network congestion in the network supporting said secure communications session.

1 1. Apparatus arranged to provide a remotely requesting entity with communications network test data, the apparatus comprising: a receiver to receive a communications network test results request at a server; one or more processors arranged to: determine if an identifier for an existing test process has been received with said request from the requesting entity, create a test process and an interim response process; generate a first interim response to requesting entity and subsequently to terminate said interim response process, and determine if said test process associated with said identifier has terminated, and generate another interim response message to said requesting entity; and a transmitter to transmit said interim response message to said requesting entity, wherein when one of said interim response messages is received by said requesting entity, said requesting entity is configured to automatically regenerate a request for said test to be performed by the server containing a test identifier associated with the background test process.

Description:

DATA TRANSFER METHOD

The present invention relates to a method of requesting data to be generated at a remote site for subsequent transfer to a requesting device over a communications network. The method is suitable for requesting the generation and subsequent transfer of extremely large amounts of data over a secure connection which would conventionally time-out prior to the data generation process completing.

In particular, but not exclusively, the invention relates to a method of requesting data which is generated on demand at a remote server in response to receipt of a request from a client o device and to subsequently transferring the data to the requesting client device over a secure connection.

The invention further particularly, but not exclusively, relates to the request for generation and subsequent delivery of very large amounts of communications network related test results data and/or data whose generation on demand takes longer than the time-out requirement for maintaining the connection established between a requesting client and the data generating server.

The telecommunications industry is subject to much de-regulation and, as a result of opening up the access networks to other operators, many of the processes which previously were performed and accessible only within a secure network environment such as the intranet of the incumbent operator are now required to be accessible by other parties.

This is particularly problematic where test processes are required to be accessible outside the secure network environment in which they are performed. The performance of network tests such as testing the transmission characteristics of communication lines typically generates large amounts of data and can take of the order of tens of minutes to perform.

Figure 1 of the accompanying drawings shows how conventionally within the intranet 16 of the incumbent operator, an engineer would operate a client device 12 on which a browser application 10 is running and which generates a request for test results which are delivered within the intranet to a test server 18. The test server 18 would

process the request once received and generate instructions which would be distributed to one or more test performing nodes within the communications network. As the tests are performed, the results (test data 20) are streamed back to the test server which in turn streams the results to the requesting client device 12. Typically, the results may be transferred for display via the browser application 10 on that client device 12.

In this system, as all test data 20 is generated and transferred within a secure intranet type environment, the communications link 2 between the test server and the client device does not need to be secure. Accordingly, the duration of time that it takes to generate and deliver the entire test result is not required to be less than the connection timeout of the requesting device, provided the first results are sent back over the intranet within the timeout period.

If the client device is located outside the secure environment (i.e., outside the intranet) where the tests are performed, the session over the connection 2 between the client 12 and server 18 must be secure. This presents a problem as secure sessions implemented using standard techniques such as secure socket layer (SSL) will time-out if no response is provided within a given period of time. This is not a problem if a client requests a data file from a server which already exists at the time the request is received by the server, as even though it may take a long amount of time to transfer the data file, the session between the server and the requesting client device can be maintained using conventional techniques.

However, it is particularly desirable if near real-time (referred to herein as "live") information can be generated to indicate network conditions. Test results which are generated in real-time in response to the test server receiving a request for a particular test or tests to be performed may take longer to generate than the period of time allowed for inactivity by the SSL protocol, for example, several hours. This may be because one or more tests takes a considerable amount of time to perform and/or because the amount of data generated by test apparatus which must be first streamed to the test server is considerable.

This creates a problem as a conventional secure session/connection established between the requesting client device 12 and the server 18 would time out prior to completion of the test results file, i.e., the connection 2 is automatically torn down before the results of the test(s) requested can be delivered to the requesting party.

Test information is commercially and technically sensitive and it is desirable to communicate it only over secure connections. However, secure connections are configured to time-out if not actively utilised for a pre-determined period of time. Accordingly, maintaining a secure connection for a sufficient duration of time for the test data to be generated and sent to the requesting device is problematic, particularly if the time scales for generating the test results involved are of the order of hours, rather than minutes.

Embodiments of the invention seek to mitigate and/or obviate the limitations known in , the art for methods of data transfer. Embodiments of the invention have particular relevance where a client device wishes to access data which is generated dynamically on demand (i.e., which is generated in real-time following processing of the request by a server arranged to fulfil the request), for example, in communications networks where de-regulation has resulted in many parties apart from the incumbent network operator potentially requiring access to test information

- relating to real-time network performance.

Embodiments of the invention seek to provide a method of requesting a remote process to generate large data files for transfer to the requesting client application without the connection established between the server processing the request and the client platform expiring. The method maintains the connection between a client and server platform, which may, for example, comprise one or more secure socket layer (SSL) connections such as is known in the art (for example, such as occurs when a web-browser establishes an HTML session over SSL over HTTP connection).

SUMMARY STATEMENTS OF INVENTION

One aspect of the invention seeks to provide a method of maintaining a secure communications session between a data requesting entity and a server arranged to process received data requests and to transfer data to requesting entities, the method comprising: receiving a request for data at said server from said data requesting entity; determining if said request comprises an identifier for an existing data generation process, and if no identifier is present, creating a data generation process and an interim response process,

generating a interim response to said requesting entity and terminating said interim response process, and if an identifier is present, determining if said data generation process associated with said identifier has terminated, and if so transferring said generated data to the requesting entity, and if not, generating another interim response message to said requesting entity, wherein when one of said interim response messages is received by said requesting entity, said requesting entity is automatically configured to generate a repeat request containing an identifier associated with the data generation process.

In one embodiment, the interim response method includes an instruction to the requesting entity indicating when said repeat request is generated.

In one embodiment, the instruction indicates a period of time to delay sending the repeat request which is determined by said server in dependence on one or more conditions of one or more communications networks supporting said secure communications session.

In one embodiment, said requesting entity is located in a different communications network from the communications network within which the server performs said data generation process are located.

In one embodiment, when said requesting entity receives said first interim response message, it displays a visual notification representing an interim response.

In one embodiment, said data generation process comprises a background process which is maintained independently by the server after said interim response process is terminated.

In one embodiment, the data generation request comprises a request for the generation of communications network test results.

In one embodiment, said requesting entity comprises a browser application running on a client device.

Another aspect of the invention seeks to provide apparatus arranged to generate data on demand in response to the receipt of a request for said data from a remotely requesting entity, the apparatus comprising: means for receiving a request for data at said server which is provided using a secure communications session between said server and said requesting entity; means for determining if said request comprises an identifier for an existing data generation process; means for creating a data generation process and a plurality of interim response processes, means to terminate said interim response processes; means to determine if said data generation process associated with said identifier has terminated, and in response, to generate an interim response message to said requesting entity which automatically configures said requesting entity to generate a repeat request containing an identifier associated with the data generation process after a predetermined period of time.

In one embodiment, the period of time is dependent on the level of network congestion in the network supporting said secure communications session.

Another aspect of the invention seeks to provide apparatus arranged to provide a remotely requesting entity with communications network test data, the apparatus comprising: means to receive a receiving a communications network test results request at said server; means to determine if an identifier for an existing test process has been received with said request from the requesting entity, means to create a test process and an interim response process; means to generate a first interim response to requesting entity; means to terminate said interim response process, and means to determine if said test process associated with said identifier has terminated, means to generate another interim response message to said requesting entity, wherein when one of said interim response messages is received by said requesting entity, said requesting entity is configured to automatically regenerate a request for said test to be performed by the server containing a test identifier associated with the background test process.

The aspects of the invention are also as set out in the accompanying independent claims and may be combined with the features of any of the embodiments of the invention set out in the accompanying dependent claims or description below in any suitable manner apparent to those of ordinary skill in the art.

Advantageously, the invention enables the contents of the test data file to be examined and the level of completing the test data file determined without interrupting the process of writing data to the file.

Embodiments of the invention will now be described with reference to the accompanying drawings which are by way of example only and in which:

Figure 1 shows a schematic prior art arrangement of a client device requesting data from a server within an intranet;

Figure 2 shows schematically the limitations of the arrangement shown in Figure 1 when a party located outside the intranet within which the test data server is located wishes to accesses the test result data;

Figure 3 shows a schematically an arrangement according to an embodiment of the invention; and

Figure 4 shows steps in a method of data transfer according to the invention.

The best mode of the invention and currently preferred embodiments will now be described with reference to the accompanying drawings.

Figure 2 of the accompanying drawings shows schematically a requesting entity comprising a browser application 10 (such as, for example, any browser capable of supporting world-wide web (www) applications) supported on a client device 12 (e.g. a desk-top or portable computer or other mobile communications device capable of supporting a browser application) which is located in an access network 14.

When a user of the client device 12 wishes to access information from a test server 18 which is located in an intranet 16 accessible only via a firewall 20 (not shown in

Figure 1 ), the client device 12 establishes a session with test server 18 and generates the request for test data to be generated in real-time responsive to the

test-server receiving and processing the request. However, as is well known in the art, if the process of performing the test and/or generating the test result data at the test server exceeds a pre-determined amount of time for a particular type of secure connection, the secure connection 2 between the test server 18 and the client device 12 will expire.

Figure 3 of the accompanying drawings shows schematically an embodiment of the invention in which a requesting entity comprising a web-browser application 10 operating on a client device 12 enables a user to request test results from a remote server 18. As was shown in Figure 2, the requesting entity is located within a first communications network 14 on a first side of a firewall 20. Firewall 20 is supported on gateway communications node 22 located at the edge of a second network 16 (e.g. a gateway access node to intranet 16). The server 18 is arranged to receive requests for test information via gateway 22 and is located within the secure environment of second network 16.

As shown in Figure 3, which shows an embodiment of the invention which those skilled in the art will appreciate is greatly simplified for clarity, the server 18 generates instructions to one or more test apparatus (two test apparatus /#1 , #2 are shown in Figure 3). The test apparatus performing the tests generate test data 20 which is then streamed internally within network 16 to the server 18. Each test apparatus 20 is arranged to communicate with the test server 18 over communication link(s) 26 (which are secure in that the communication link(s) 26 is (are) behind firewall 20, i.e., within the secure environment of the second network 16).

Figure 4 shows some steps in a method of transferring data to a requesting entity according to an embodiment of the invention. In Figure 4, the request for data is generated by a requesting entity (step 30) and is sent to the server 18 for processing. When the server 18 receives the request it initiates a response process. The server 18 then processes the received request to determine if the data requested is a repeat request for data by determining if a data request identifier (data request ID) is included in the request for data (step 32). If yes, the server looks up the data file associated with the data request identifier (step 34), if not, then the response process forks into response to the requesting entity (step 36) and a background data generation process (step 38).

The response process now generates a first interim response to the requesting entity which comprises an identifier for the data generation process which is now running (the data request identifier) and instructions which when received by the requesting entity automatically cause the requesting entity to generate a repeat request for the transfer of data from the server which includes the aforementioned identifier. The response process performed by the server 18 is then terminated whilst the data generation process is maintained (step 38).

When the requesting entity has received and processed the first interim response message, the instructions received are executed and after a predetermined amount of time, the requesting entity sends out a new request to server 18 which now contains the data request identifier previously provided by the server 18.

When the server processes this request, it determines that an identifier is present and associates the request with the data generation process that has been running since the original request was received (step 34). The server 18 then determines if the data generation process has terminated (step 40) either directly and/or by processing any file(s) to which the data generated has been output to by the data generation process. If this output file contains a predetermined indication that the data generation process (38) is complete, the data requested is sent to the requesting entity (step 42). If not, the server generates a second interim response

(step 36) and that particular response process is terminated. After a period of time has elapsed, the requesting entity repeats the process using the identifier provided in the previous response from the server 18 and the next cycle of the response is played out. The cycle of steps 20, 23, 24, 40, and 36 repeats until the data generation process is terminated and the results are sent to the requesting entity in step 42.

In this way, a requesting entity can remotely request a server to generate very large amounts of data and the secure communications session between the server and the requesting entity is maintained. The interim responses from the server include an indication of the amount of delay required to ensure that the requesting entity minimises the amount of repeat requests generated whilst ensuring that the secure communications session is maintained. The invention is advantageous in that it is very simple to implement and results in a low communications overhead between the requesting entity and the server by minimising the number of repeat messages that are required to maintain the secure connection.

In one embodiment of the inyention, the period of time which is to elapse before a repeat request is sent to the server is determined by the server from the type of secure connection established with the requesting entity. The period of time may also be dependent on one or more network characteristics determined by the server. The server may request such information from network test apparatus #1 , #2, for example, if the server determines that the level of congestion the network is likely to be high, it may increase the duration of time before the requesting entity is instructed to send a repeat request. Thus in one embodiment of the invention, the server 18 automatically adjusts the period of time which elapses before the requesting entity generates a repeat request according to one or more network conditions. This means that if the network conditions deteriorate so that the request might experience increased delay, the server can reduce the period of time before the request is repeated to ensure that the secure connection is maintained.

Thus the invention enables a requesting entity, such as a web browser 10, to obtain very large amounts of data which is generated on demand, for example, communications network test data, over secure communications links. By automatically configuring the browser to generate a repeat request, the secure connection is automatically maintained and will not time out. This prevents any need for a user to seek to manually monitor progress or otherwise intervene to prevent the session with the server from timing out.

In one embodiment, when the data generated requires collation and/or processing by the server 18 into a final file, the server 18 waits until the data generation process has been completed by each data source before generating the data file. Only when all the relevant information has been collated and processed by the server is the data finally written to file.

Thus in one embodiment of the invention, the server is configured to generate a fork in the processes performed by the server. The server instructs the browser from which the request for data originated to resend the request with an identifier for a background test process. When a request for test results is received from a requesting entity, the server may perform a collation process which at interim periods of time (in one embodiment, at periodic intervals of time) examines the test results file (for example, a .cgi file) to which the test results are being written to determine if the test results have been completed. If not, then a response is generated which is

sent back via gateway 22 over the secure connection 24 to the requesting device. The response includes a test identifier and requires the browser application 10 to generate a request to the test server 18 after a predetermined interval of time which includes the test identifier so that the request process can repeat. This repeat request and response exchange between the test server 18 and the browser application 10 running on the client device 12 maintains the secure session over the connection between the client device 12 and gateway 22 until the test results file is complete.

In one embodiment of the invention, the server includes an interim visual indication in the interim response message to the requesting entity which provides a visual display of the progress of the background process(es) running remotely on the server and/or a visual display of the data generated so far. Where appropriate, features essential for the invention may have been omitted from the description if their necessity is apparent to those of ordinary skill in the art to maintain clarity and brevity in the description. Those of ordinary skill in the art will be aware of modifications and functional equivalents to the features described in the above embodiments and the description is implicitly intended to include such equivalents unless specifically excluded.