US2004205208A1PendingUtilityA1

Method and arrangements for providing efficient information transfer over a limited speed communications link

35
Priority: Mar 26, 2001Filed: Mar 26, 2002Published: Oct 14, 2004
Est. expiryMar 26, 2021(expired)· nominal 20-yr term from priority
H04L 69/08H04L 67/567H04L 67/5681H04L 63/0428H04L 67/289H04L 69/329H04L 67/5682H04L 67/56H04L 67/02H04L 67/06
35
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and arrangements are disclosed for transferring digital data over a limited speed communications link between a client side subarrangement ( 401 ) and a server side subarrangement ( 402 ). Within the client side subarrangement ( 401 ) a client application ( 411, 502 ) receives and transmits digital data using a first communications protocol stack ( 412, 503, 504, 505 ) and within the server side subarrangement ( 402 ) a server application ( 426, 572 ) receives and transmits digital data using the first communications protocol stack ( 425, 573, 574, 575 ). Digital data is transferred between the client application ( 411, 502 ) and the server application ( 426, 572 ) through a client proxy ( 511 ) within the client side subarrangement ( 401 ) and an access gateway ( 551 ) within the server side subarrangement ( 402 ). The client proxy ( 511 ) performs protocol conversions between the first communications protocol stack ( 412, 503, 504, 505 ) and a second communications protocol stack ( 415, 521, 522, 523, 524, 525, 526 ) that corresponds to a bandwidth efficiency that is better than a bandwidth efficiency to which the first communications protocol corresponds.

Claims

exact text as granted — not AI-modified
1 . An arrangement for transferring digital data over a limited speed communications link, comprising: 
 a client side subarrangement ( 401 ),    a server side subarrangement ( 402 ) located at a different side of the limited speed communications link than the client side subarrangement ( 401 ),    within the client side subarrangement ( 401 ) a client application ( 411 ,  502 ) arranged to receive and transmit digital data using a first communications protocol stack ( 412 ,  503 ,  504 ,  505 ), and    within the server side subarrangement ( 402 ) a server application ( 426 ,  572 ) arranged to receive and transmit digital data using the first communications protocol stack ( 425 ,  573 ,  574 ,  575 );    characterised in that it comprises:    within the client side subarrangement ( 401 ) a client proxy ( 511 ) arranged to perform protocol conversions between the first communications protocol stack ( 412 ,  503 ,  504 ,  505 ) and a second communications protocol stack ( 415 ,  521 ,  522 ,  523 ,  524 ,  525 ,  526 ), and    within the server side subarrangement ( 402 ) an access gateway ( 551 ) arranged to perform protocol conversions between the first communications protocol stack ( 425 ,  573 ,  574 ,  575 ) and the second communications protocol stack ( 422 ,  553 ,  554 ,  555 ,  556 ,  557 ,  558 );    wherein:    said client proxy ( 511 ) and said access gateway ( 551 ) are arranged to convey transferred digital data between the client application ( 411 ,  502 ) and the server application ( 426 ,  572 ) so that between said client proxy ( 511 ) and said access gateway ( 551 ) digital data are transferred according to the second communications protocol stack,    said second communications protocol stack corresponds to a bandwidth efficiency that is better than a bandwidth efficiency to which the first communications protocol stack corresponds,    said client proxy ( 511 ) comprises a first protocol stack ( 414 ,  513 ,  514 ,  515 ) arranged to correspond to the client application ( 411 ,  502 ) in its use of the first communications protocol stack ( 412 ,  503 ,  504 ,  505 ),    said client proxy ( 511 ) comprises a second protocol stack ( 415 ,  521 ,  522 ,  523 ,  524 ,  525 ,  526 ) arranged to correspond to said access gateway ( 551 ) in its use of the second communications protocol stack ( 422 ,  553 ,  554 ,  555 ,  556 ,  557 ,  558 ),    said client proxy ( 511 ) comprises an application layer entity ( 416 ,  512 ) located on top of said first and second protocol stacks and arranged to process digital data during protocol conversions,    said access gateway ( 551 ) comprises a first protocol stack ( 424 ,  559 ,  560 ,  561 ) arranged to correspond to the server application ( 426 ,  572 ) in its use of the first communications protocol stack ( 425 ,  573 ,  574 ,  575 ),    said access gateway ( 551 ) comprises a second protocol stack ( 422 ,  553 ,  554 ,  555 ,  556 ,  557 ,  558 ) arranged to correspond to said client proxy ( 511 ) in its use of the second communications protocol stack ( 415 ,  521 ,  522 ,  523 ,  524 ,  525 ,  526 ), and    said access gateway ( 551 ) comprises an application layer entity ( 423 ,  552 ) located on top of said first and second protocol stacks and arranged to process digital data during protocol conversions.    
     
     
         2 . An arrangement according to  claim 1 , characterised in that 
 the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) comprises: 
 a connection handler ( 604 ) arranged to handle the processing of requests and responses conveyed through the client proxy ( 511 ),  
 coupled to said connection handler ( 604 ) a cache memory ( 610 ) arranged to store previously handled digital data, and  
 coupled to said connection handler ( 604 ) at least one protocol handler ( 605 ,  606 ,  607 ,  608 ,  609 ) arranged to perform conversions between the first and second communications protocol stacks; and  
   the application layer entity ( 423 ,  552 ) of the access gateway ( 551 ) comprises: 
 a connection handler ( 902 ) arranged to handle the processing of requests and responses conveyed through the access gateway ( 551 ),  
 coupled to said connection handler ( 902 ) at least one cache memory ( 921 ,  922 ,  923 ,  924 ) arranged to store previously handled digital data, and  
 coupled to said connection handler ( 902 ) at least one protocol handler ( 911 ,  912 ,  913 ,  914 ,  915 ) arranged to perform conversions between the first and second communications protocol stacks.  
   
     
     
         3 . An arrangement according to  claim 2 , characterised in that: 
 the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) comprises, coupled to said connection handler ( 604 ), a number of protocol handlers ( 605 ,  606 ,  607 ,  608 ,  609 ) each of which is arranged to perform conversions between a different first communications protocol and the second communications protocol stack, and    the application layer entity ( 423 ,  552 ) of the access gateway ( 551 ) comprises, coupled to said connection handler ( 902 ), a number of protocol handlers ( 911 ,  912 ,  913 ,  914 ,  915 ) each of which is arranged to perform conversions between a different first communications protocol and the second communications protocol stack.    
     
     
         4 . An arrangement according to  claim 2 , characterised in that it comprises multiplexing means ( 611 ,  931 ) at both the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) and the application layer entity ( 423 ,  552 ) of the access gateway ( 551 ), said multiplexing means ( 611 ,  931 ) being arranged to multiplex several logically separate connections between the client proxy ( 511 ) and the access gateway ( 551 ) into a single connection therebetween.  
     
     
         5 . An arrangement according to  claim 1 , characterised in that the first communications protocol stack is a combination of HTTP over TCP/IP and the second communications protocol stack is WAP.  
     
     
         6 . A client side arrangement ( 401 ) for transferring digital data over a limited speed communications link in communication with a server side arrangement ( 402 ) located at a different side of the limited speed communications link than the client side arrangement ( 401 ), the client side arrangement ( 401 ) comprising: 
 a client application ( 411 ,  502 ) arranged to receive and transmit digital data using a first communications protocol stack ( 412 ,  503 ,  504 ,  505 );    characterised in that it comprises:    a client proxy ( 511 ) arranged to perform protocol conversions between the first communications protocol stack ( 412 ,  503 ,  504 ,  505 ) and a second communications protocol stack ( 415 ,  521 ,  522 ,  523 ,  524 ,  525 ,  526 );    wherein:    said client proxy ( 511 ) is arranged to convey transferred digital data between the client application ( 411 ,  502 ) and the server side arrangement ( 402 ) so that between said client proxy ( 511 ) and said server side arrangement ( 402 ) digital data are transferred according to the second communications protocol stack,    said second communications protocol stack corresponds to a bandwidth efficiency that is better than a bandwidth efficiency to which the first communications protocol stack corresponds,    said client proxy ( 511 ) comprises a first protocol stack ( 414 ,  513 ,  514 ,  515 ) arranged to correspond to the client application ( 411 ,  502 ) in its use of the first communications protocol stack ( 412 ,  503 ,  504 ,  505 ),    said client proxy ( 511 ) comprises a second protocol stack ( 415 ,  521 ,  522 ,  523 ,  524 ,  525 ,  526 ) arranged to correspond to the server side arrangement ( 402 ) in its use of the second communications protocol stack ( 422 ,  553 ,  554 ,  555 ,  556 ,  557 ,  558 ), and    said client proxy ( 511 ) comprises an application layer entity ( 416 ,  512 ) located on top of said first and second protocol stacks and arranged to process digital data during protocol conversions.    
     
     
         7 . A client side arrangement according to  claim 6 , characterised in that the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) comprises: 
 a connection handler ( 604 ) arranged to handle the processing of requests and responses conveyed through the client proxy ( 511 ),    coupled to said connection handler ( 604 ) a cache memory ( 610 ) arranged to store previously handled digital data, and    coupled to said connection handler ( 604 ) at least one protocol handler ( 605 ,  606 ,  607 ,  608 ,  609 ) arranged to perform conversions between the first and second communications protocol stacks.    
     
     
         8 . A client side arrangement according to  claim 7 , characterised in that 
 the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) comprises, coupled to said connection handler ( 604 ), a number of protocol handlers ( 605 ,  606 ,  607 ,  608 ,  609 ) each of which is arranged to perform conversions between a different first communications protocol and the second communications protocol stack.    
     
     
         9 . A client side arrangement according to  claim 7 , characterised in that 
 the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) comprises multiplexing means ( 611 ) for multiplexing several logically separate connections between the client proxy ( 511 ) and the server side arrangement ( 402 ) into a single connection therebetween.    
     
     
         10 . A client side arrangement according to  claim 9 , characterised in that 
 the client proxy ( 511 ) is arranged to assign priorities to logically separate connections multiplexed by said multiplexing means ( 611 ), said priorities being based on at least one of the following: observed user activity, explicitly stated preferences of a user, contents for the transferring of which the connections are used.    
     
     
         11 . A client side arrangement according to  claim 7 , characterised in that 
 said cache memory ( 610 ) comprises a number of logically separate cache memories,    the separation of said cache memory ( 610 ) into logically separate cache memories is based on at least one of the following: user, user group, type of information stored,    the client proxy ( 511 ) is arranged to conduct an expansive search through logically separate cache memories in order to look for certain requested digital data from other logically separate cache memories if that requested digital data was not found in a particular one of said logically separate cache memories, and    in conducting said expansive search, the client proxy ( 511 ) is arranged to take into account existing access rights of a requesting party requesting said requested digital data.    
     
     
         12 . A client side arrangement according to  claim 7 , characterised in that in using said cache memory ( 610 ) said client proxy ( 511 ) is arranged to apply at least one of: 
 an active caching algorithm designed for proactively preparing for a future need of certain digital data by the client application ( 411 ,  502 ),    a predictive caching algorithm designed for predicting certain network locations from which contents should be downloaded and forwarded to the client application ( 411 ,  502 ) at some future moment of time,    a difference caching algorithm designed for reloading from a network only those parts of previously stored contents where changes have occurred,    an optimizing caching algorithm designed for optimizing, with respect to a limiting factor such as communication cost or amount of radio traffic, the amount and/or form of contents that should be downloaded from a network, and    a processing algorithm designed to improve response time by processing digital data stored in said cache memory ( 610 ) prior to receiving an explicit request for such digital data from a client application ( 411 ,  502 ).    
     
     
         13 . A client side arrangement according to  claim 6 , characterised in that the first communications protocol stack is a combination of HTTP over TCP/IP and the second communications protocol stack is WAP.  
     
     
         14 . A client side arrangement according to  claim 6 , characterised in that the client application ( 411 ,  502 ) and said client proxy ( 511 ) are arranged to operate within a single physical device.  
     
     
         15 . A client side arrangement according to  claim 6 , characterised in that the client application ( 411 ,  502 ) and said client proxy ( 511 ) are arranged to operate within at least two physically separate devices.  
     
     
         16 . A client side arrangement according to  claim 6 , characterised in that 
 in a situation where a communications connection according to said second communications protocol stack with an access gateway ( 551 ) at said server side arrangement ( 402 ) is temporarily impossible, said client proxy ( 511 ) is arranged to convey transferred digital data between the client application ( 411 ,  502 ) and a server application ( 426 ,  572 ) at the server side arrangement ( 402 ) according to the first communications protocol stack.    
     
     
         17 . A client side arrangement according to  claim 16 , characterised in that during a term of conveying transferred digital data between the client application ( 411 ,  502 ) and said server application ( 426 ,  572 ) at the server side arrangement ( 402 ) according to the first communications protocol stack, said client proxy ( 511 ) is arranged to repeatedly attempt resuming a communications connection according to said second communications protocol stack with an access gateway ( 551 ) at the server side arrangement ( 402 ).  
     
     
         18 . A server side arrangement ( 402 ) for transferring digital data over a limited speed communications link in communication with a client side arrangement ( 401 ) located at a different side of the limited speed communications link than the server side arrangement ( 402 ), the server side arrangement ( 402 ) comprising: 
 a server application ( 426 ,  572 ) arranged to receive and transmit digital data using a first communications protocol stack ( 425 ,  573 ,  574 ,  575 );    characterised in that it comprises:    an access gateway ( 551 ) arranged to perform protocol conversions between the first communications protocol stack ( 425 ,  573 ,  574 ,  575 ) and a second communications protocol stack ( 422 ,  553 ,  554 ,  555 ,  556 ,  557 ,  558 );    wherein:    said access gateway ( 551 ) is arranged to convey transferred digital data between the client side arrangement ( 401 ) and the server application ( 426 ,  572 ) so that between said client side arrangement ( 401 ) and said access gateway ( 551 ) digital data are transferred according to the second communications protocol stack,    said second communications protocol stack corresponds to a bandwidth efficiency that is better than a bandwidth efficiency to which the first communications protocol stack corresponds,    said access gateway ( 551 ) comprises a first protocol stack ( 424 ,  559 ,  560 ,  561 ) arranged to correspond to the server application ( 426 ,  572 ) in its use of the first communications protocol stack ( 425 ,  573 ,  574 ,  575 ),    said access gateway ( 551 ) comprises a second protocol stack ( 422 ,  553 ,  554 ,  555 ,  556 ,  557 ,  558 ) arranged to correspond to the client side arrangement ( 401 ) in its use of the second communications protocol stack ( 415 ,  521 ,  522 ,  523 ,  524 ,  525 ,  526 ), and    said access gateway ( 551 ) comprises an application layer entity ( 423 ,  552 ) located on top of said first and second protocol stacks and arranged to process digital data during protocol conversions.    
     
     
         19 . A server side arrangement according to  claim 18 , characterised in that the application layer entity ( 423 ,  552 ) of the access gateway ( 551 ) comprises: 
 a connection handler ( 902 ) arranged to handle the processing of requests and responses conveyed through the access gateway ( 551 ),    coupled to said connection handler ( 902 ) at least one cache memory ( 921 ,  922 ,  923 ,  924 ) arranged to store previously handled digital data, and    coupled to said connection handler ( 902 ) at least one protocol handler ( 911 ,  912 ,  913 ,  914 ,  915 ) arranged to perform conversions between the first and second communications protocol stacks.    
     
     
         20 . A server side arrangement according to  claim 19 , characterised in that: 
 the application layer entity ( 423 ,  552 ) of the access gateway ( 551 ) comprises, coupled to said connection handler ( 902 ), a number of protocol handlers ( 911 ,  912 ,  913 ,  914 ,  915 ) each of which is arranged to perform conversions between a different first communications protocol and the second communications protocol stack.    
     
     
         21 . A server side arrangement according to  claim 19 , characterised in that: 
 the application layer entity ( 423 ,  552 ) of the access gateway ( 551 ) comprises multiplexing means ( 931 ) for multiplexing several logically separate connections between the access gateway ( 551 ) and the client side arrangement ( 401 ) into a single connection therebetween.    
     
     
         22 . A server side arrangement according to  claim 19 , characterised in that 
 the application layer entity ( 423 ,  552 ) of the access gateway ( 551 ) comprises, coupled to said connection handler ( 902 ), a number of logically separate cache memories ( 921 ,  922 ,  923 ,  924 ),    the separation into logically separate cache memories ( 921 ,  922 ,  923 ,  924 ) is based on at least one of the following: user, user group, client, client group, type of information stored,    the access gateway ( 551 ) is arranged to conduct an expansive search through logically separate cache memories ( 921 ,  922 ,  923 ,  924 ) in order to look for certain requested digital data from other logically separate cache memories if that requested digital data was not found in a particular one of said logically separate cache memories, and    in conducting said expansive search, the access gateway ( 551 ) is arranged to take into account existing access rights of a requesting party requesting said requested digital data.    
     
     
         23 . A server side arrangement according to  claim 19 , characterised in that in using said at least one cache memory ( 921 ,  922 ,  923 ,  924 ) said access gateway ( 551 ) is arranged to apply at least one of: 
 an active caching algorithm designed for proactively preparing for a future need of certain digital data by the client side arrangement ( 401 ),    a predictive caching algorithm designed for predicting certain network locations from which contents should be downloaded and forwarded to the client side arrangement ( 401 ) at some future moment of time,    a first optimizing caching algorithm designed for optimizing, with respect to a limiting factor such as communication cost or amount of radio traffic, the amount and/or form of contents that should be forwarded to the client side arrangement ( 401 ),    a second optimizing caching algorithm designed for optimizing, with respect to a limiting factor such as communication cost or amount of network traffic, the amount and/or form of contents that should be reloaded from a network, and    a processing algorithm designed to improve response time by processing digital data stored in said at least one cache memory ( 921 ,  922 ,  923 ,  924 ) prior to receiving an explicit request for such digital data from a client side arrangement ( 401 ).    
     
     
         24 . A server side arrangement according to  claim 19 , characterised in that the application layer entity ( 423 ,  552 ) of the access gateway ( 551 ) comprises a coupling between said connection handler ( 902 ) and an application layer protocol entity ( 905 ) of the second communications protocol stack.  
     
     
         25 . A server side arrangement according to  claim 19 , characterised in that the server application ( 426 ,  572 ) and said access gateway ( 551 ) are arranged to operate within a single physical device.  
     
     
         26 . A server side arrangement according to  claim 19 , characterised in that the server application ( 426 ,  572 ) and said access gateway ( 551 ) are arranged to operate within at least two physically separate devices.  
     
     
         27 . A method for transferring digital data over a limited speed communications link where a client side subarrangement ( 401 ) and a server side subarrangement ( 402 ) are located at different sides of the limited speed communications link, and within the client side subarrangement ( 401 ) a client application ( 411 ,  502 ) is arranged to receive and transmit digital data using a first communications protocol stack ( 412 ,  503 ,  504 ,  505 ) and within the server side subarrangement ( 402 ) a server application ( 426 ,  572 ) is arranged to receive and transmit digital data using the first communications protocol stack ( 425 ,  573 ,  574 ,  575 );  
       characterised in that the method comprises the steps of: 
 conveying transferred digital data between the client application ( 411 ,  502 ) and the server application ( 426 ,  572 ) through a client proxy ( 511 ) within the client side subarrangement ( 401 ) and an access gateway ( 551 ) within the server side subarrangement ( 402 ),  
 performing in said client proxy ( 511 ) protocol conversions between the first communications protocol stack ( 412 ,  503 ,  504 ,  505 ) and a second communications protocol stack ( 415 ,  521 ,  522 ,  523 ,  524 ,  525 ,  526 ) that corresponds to a bandwidth efficiency that is better than a bandwidth efficiency to which the first communications protocol stack corresponds, and  
 performing in said access gateway ( 551 ) protocol conversions between the first communications protocol stack ( 425 ,  573 ,  574 ,  575 ) and the second communications protocol stack ( 422 ,  553 ,  554 ,  555 ,  556 ,  557 ,  558 ); and additionally the steps of:  
 a) routing a request ( 701 ) received at the client proxy ( 511 ) from the client application ( 411 ,  502 ) upwards through a first protocol stack ( 414 ,  515 ,  514 ,  513 ) into an application layer entity ( 416 ,  512 ),  
 b) processing ( 702 ,  703 ,  704 ,  705 ,  706 ,  707 ,  708 ) the request at the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ),  
 c) if the processing of step b) reveals a need for communicating with the server side subarrangement ( 402 ), forwarding a processed request ( 709 ) from the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) downwards through a second protocol stack ( 415 ,  521 ,  522 ,  523 ,  524 ,  525 ,  526 ) to the server side subarrangement ( 402 ), receiving a response ( 711 ) from the server side subarrangement ( 402 ) upwards through the second protocol stack ( 415 ,  521 ,  522 ,  523 ,  524 ,  525 ,  526 ) and processing ( 712 ,  713 ,  714 ,  715 ) said response at the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ), and 
 d) transmitting to the client application ( 411 ,  502 ) a response ( 718 ) to the request ( 701 ) received at step a), the transmission of said response ( 718 ) going from the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) downwards through the first protocol stack ( 412 ,  503 ,  504 ,  505 );  
 so that between said client proxy ( 511 ) and said access gateway ( 551 ) digital data are transferred according to the second communications protocol stack.  
 
 
     
     
         28 . A method according to  claim 27 , characterised in that step b) comprises the substeps of: 
 b1) inquiring ( 703 ), whether the request received at step a) could be responded to by reading digital data from a cache memory ( 610 ) at the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ),    b2) if a positive response is received to the inquiry of step b1), proceeding to step d) without executing step c) because the processing of step b) did not reveal a need for communicating with the server side subarrangement ( 402 ); and    b3) if a negative response ( 704 ) is received to the inquiry of step b1), calling a protocol handler ( 605 ,  606 ,  607 ,  608 ,  609 ) at the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) to process the request received at step a) into a form that accords with a protocol of the second communications protocol stack, and proceeding to execute step c).    
     
     
         29 . A method according to  claim 28 , characterised in that it additionally comprises the steps of: 
 handling said cache memory ( 610 ) as a number of logically separate cache memories on the basis of at least one of the following: user, user group, type of information stored,    conducting at the client proxy ( 511 ) an expansive search through logically separate cache memories in order to look for certain requested digital data from other logically separate cache memories if that requested digital data was not found in a particular one of said logically separate cache memories, and    in conducting said expansive search, the client proxy ( 511 ) taking into account existing access rights of a requesting party requesting said requested digital data.    
     
     
         30 . A method according to  claim 28 , characterised in that it additionally comprises at least one of the steps of: 
 actively updating digital data stored in said cache memory ( 610 ) by applying an active caching algorithm designed for proactively preparing for a future need of certain digital data by the client application ( 411 ,  502 ),    predictively updating digital data stored in said cache memory ( 610 ) by applying a predictive caching algorithm designed for predicting certain network locations from which contents should be downloaded and forwarded to the client application ( 411 ,  502 ) at some future moment of time,    partially updating digital data stored in said cache memory ( 610 ) by applying a difference caching algorithm designed for reloading from a network only those parts of previously stored contents where changes have occurred,    optimizing the process of downloading digital data from a network by applying an optimizing caching algorithm designed for optimizing, with respect to a limiting factor such as communication cost or amount of radio traffic, the amount and/or form of contents that should be downloaded from a network, and    processing digital data stored in said cache memory ( 610 ) by applying a processing algorithm designed to improve response time by processing digital data stored in said cache memory ( 610 ) prior to receiving an explicit request for such digital data from a client application ( 411 ,  502 ).    
     
     
         31 . A method according to  claim 30 , characterised in that in cases where at least one of the active-, predictive- or difference caching algorithms is applied, downloading from a network for the purposes of such applied algorithm is at least partly implemented through a background communication connection to the server side subarrangement ( 402 ), so that said background communication connection has a different priority in resource allocation than potentially occurring simultaneous service to requests from the client application ( 411 ,  502 ).  
     
     
         32 . A method according to  claim 30 , characterised in that in cases where at least one of the active-, predictive- or difference caching algorithms is applied, downloading from a network for the purposes of such applied algorithm is at least partly implemented through cost-optimized communication connections to the server side subarrangement ( 402 ), so that communication connections for the purposes of active caching are made during terms when communication cost is lower than a certain normal cost.  
     
     
         33 . A method according to  claim 30 , characterised in that in cases where at least one of the active-, predictive- or difference caching algorithms is applied, downloading from a network for the purposes of such applied algorithm is at least partly implemented through traffic-optimized communication connections to the server side subarrangement ( 402 ), so that communication connections for the purposes of active caching are made during terms when other communications traffic with the server side subarrangement ( 402 ) is lower than a certain normal value.  
     
     
         34 . A method according to  claim 28 , characterised in that it additionally comprises the step of updating digital data stored in said cache memory ( 610 ) by generating and processing an internal request, forwarding the processed internal request from the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) downwards through a second protocol stack ( 415 ,  521 ,  522 ,  523 ,  524 ,  525 ,  526 ) to the server side subarrangement ( 402 ), receiving a response from the server side subarrangement ( 402 ) upwards through the second protocol stack ( 415 ,  521 ,  522 ,  523 ,  524 ,  525 ,  526 ), processing said response at the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) and storing digital data extracted from said response to said cache memory ( 610 ).  
     
     
         35 . A method according to  claim 27 , characterised in that step c) comprises the substep of selecting a particular access gateway among a number of available access gateways at a number of available server side subarrangements ( 402 ), the selection being based on at least one of the following: preconfigured information identifying a default access gateway, a dynamically obtained response to a query presented to a user, a dynamically obtained response to a query presented to a source within a network.  
     
     
         36 . A method according to  claim 27 , characterised in that step c) comprises the substeps of: 
 encrypting said request ( 709 ) from the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) to the server side subarrangement ( 402 ) before transferring the request over a limited speed communications link,    decrypting said request ( 709 ) from the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) to the server side subarrangement ( 402 ) after transferring the request over a limited speed communications link,    encrypting said response ( 711 ) from the server side subarrangement ( 402 ) to the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) before transferring the response over a limited speed communications link, and    decrypting said response ( 711 ) from the server side subarrangement ( 402 ) to the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) after transferring the response over a limited speed communications link.    
     
     
         37 . A method according to  claim 27 , characterised in that step c) comprises at least one of the substeps of: 
 authenticating the client proxy ( 511 ) for at least one device at the server side subarrangement ( 402 ), and    authenticating at least one device at the server side subarrangement ( 402 ) for the client proxy ( 511 ).    
     
     
         38 . A method according to  claim 27 , characterised in that step c) comprises the substep of checking, whether other essentially simultaneous transmissions occur between the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) and the server side subarrangement ( 402 ), and if so, multiplexing the processed request ( 711 ) that is forwarded from the application layer entity ( 416 ,  512 ) of the client proxy ( 511 ) towards the server side subarrangement ( 402 ) into a single connection with the other essentially simultaneous transmissions.  
     
     
         39 . A method according to  claim 27 , characterised in that step c) comprises the substeps of: 
 c1) routing a request ( 1001 ) received at the access gateway ( 551 ) from the client side subarrangement ( 401 ) upwards through the second protocol stack ( 422 ,  553 ,  554 ,  555 ,  556 ,  557 ,  558 ) into an application layer entity ( 423 ,  552 ),    c2) processing ( 1002 ,  1003 ,  1004 ,  1005 ,  1006 ,  1007 ,  1008 ,  1009 ,  1010 ,  1011 ) the request at the application layer entity ( 423 ,  552 ) of the access gateway ( 551 ),    c3) if the processing of step c2) reveals a need for communicating with a content provider ( 571 ), forwarding a processed request ( 1012 ) from the application layer entity ( 423 ,  552 ) of the access gateway ( 551 ) downwards through the first protocol stack ( 424 ,  559 ,  560 ,  561 ) to a content provider ( 571 ), receiving a response ( 1014 ) from the content provider ( 571 ) upwards through the first protocol stack ( 424 ,  559 ,  560 ,  561 ) and processing ( 1015 ,  1016 ,  1017 , 1018 ,  1019 ) said response at the application layer entity ( 423 ,  552 ) of the access gateway ( 551 ); and    c4) transmitting to the client side subarrangement ( 401 ) a response ( 1020 ) to the request ( 1001 ) received at step c1), the transmission of said response ( 1020 ) going from the application layer entity ( 423 ,  552 ) of the access gateway ( 551 ) downwards through the second protocol stack ( 422 ,  553 ,  554 ,  555 ,  556 ,  557 ,  558 ).    
     
     
         40 . A method according to  claim 39 , characterised in that step c2) comprises the substeps of: 
 c2/1) inquiring ( 1008 ), whether the request received at step c1) could be responded to by reading digital data from a cache memory ( 921 ,  922 ,  923 ,  924 ) at the application layer entity ( 423 ,  552 ) of the access gateway ( 551 ),    c2/2) if a positive response is received to the inquiry of step c2/1), proceeding to step c4) without executing step c3) because the processing of step c2) did not reveal a need for communicating with a content provider ( 571 ); and    c2/3) if a negative response ( 1009 ) is received to the inquiry of step c2/1), calling a protocol handler ( 911 ,  912 ,  913 ,  914 ,  915 ) at the application layer entity ( 423 ,  552 ) of the access gateway ( 551 ) to process the request received at step c1) into a form that accords with a protocol of the first communications protocol stack, and proceeding to execute step c3).    
     
     
         41 . A method according to  claim 40 , characterised in that it additionally comprises the steps of: 
 handling said cache memory ( 921 ,  922 ,  923 ,  924 ) as a number of logically separate cache memories ( 921 ,  922 ,  923 ,  924 ) on the basis of at least one of the following: user, user group, client, client group, type of information stored,    conducting at the access gateway ( 551 ) an expansive search through logically separate cache memories ( 921 ,  922 ,  923 ,  924 ) in order to look for certain requested digital data from other logically separate cache memories if that requested digital data was not found in a particular one of said logically separate cache memories, and    in conducting said expansive search, taking into account existing access rights of a requesting party requesting said requested digital data.    
     
     
         42 . A method according to  claim 40 , characterised in that it additionally comprises at least one of the steps of: 
 actively updating digital data stored in said cache memory ( 921 ,  922 ,  923 ,  924 ) by applying an active caching algorithm designed for proactively preparing for a future need of certain digital data by the client side subarrangement ( 401 ),    predictively updating digital data stored in said cache memory ( 921 ,  922 ,  923 ,  924 ) by applying a predictive caching algorithm designed for predicting certain network locations from which contents should be downloaded and forwarded to the client side subarrangement ( 401 ) at some future moment of time,    optimizing the process of forwarding digital data to the client side subarrangement ( 401 ) by applying a first optimizing caching algorithm designed for optimizing, with respect to a limiting factor such as communication cost or amount of radio traffic, the amount and/or form of contents that should be forwarded to a client side subarrangement ( 401 ),    optimizing the process of downloading digital data from a network by applying a second optimizing caching algorithm designed for optimizing, with respect to a limiting factor such as communication cost or amount of network traffic, the amount and/or form of contents that should be downloaded from a network, and    processing digital data stored in said cache memory by applying a processing algorithm designed to improve response time by processing digital data stored in said at least one cache memory ( 921 ,  922 ,  923 ,  924 ) prior to receiving an explicit request for such digital data from a client side subarrangement ( 401 ).    
     
     
         43 . A method according to  claim 39 , characterised in that the processing ( 1015 ,  1016 ,  1017 ) of a response at the application layer entity ( 423 ,  552 ) of the access gateway ( 551 ) as a part of step c3) comprises adapting certain contents of the response for transmission over a limited speed communication link to a client side subarrangement, thus implementing portal functionality.  
     
     
         44 . A method according to  claim 43 , characterised in that said adapting comprises at least one of the following: adding information to the response, removing information from the response, replacing information in the response.  
     
     
         45 . A method according to  claim 43 , characterised in that said adapting is made dynamically according to link conditions between the server side subarrangement ( 402 ) and the client side subarrangement ( 401 ).  
     
     
         46 . A method according to  claim 43 , characterised in that said adapting is made according to certain previously obtained knowledge about certain capabilities of the client side subarrangement.  
     
     
         47 . A method according to  claim 43 , characterised in that said adapting is made according to certain previously obtained knowledge about certain explicitly expressed preferences of an identified user of the client side subarrangement.  
     
     
         48 . A method according to  claim 43 , characterised in that said adapting is made according to certain previously obtained knowledge about certain implicitly revealed behaviour of an identified user of the client side subarrangement.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.