Home
        Method and apparatus to retrieve information in a network
         Contents
1.  B1  3 2004 Hendren  III      711 138  6 792 461 B1  9 2004 Hericourt               709 225  6 792 463 B1  9 2004 Lamberton et al        709 227  6 839 881 B2  1 2005 Myers etal           715 513  6 871 236 B2  3 2005 Fishman etal       709 246  2001 0056476 Al  12 2001 Benayoun etal               709 218  2003 0043844 Al  3 2003 Heller oo    370 466    FOREIGN PATENT DOCUMENTS    CN 1294712 A 5 2001  WO 98 43177 Al 10 1998  OTHER PUBLICATIONS    Netscape Communications Corporation  Netscape Proxy Server  Administrator s Guide  Version 3 5 for Unix  Mar  1998  from http     developer netscape com docs manuals proxy html    Introduction   Table of Contents  Chapters 5 and 9  pp  1 52 as printed     Angel   Lesson 129  Proxy Servers   Apr  1999  Network Magazine   vol  14  Iss  4  pp  27ff     WinRoute Pro 3 0 User s Manual  Tiny Software Inc   1999    Rubas  WinProxy 1 4 User s Manual  1997     C2NET Software  Inc    Stronghold Web Server 2 4 1 Adminstration  Guide      Online   Sep  1998 XP0022 147 14  37 pages    Intel Corp      Persistence Mechanisms   Enabling today s dynamic  e Business transactions     White paper   Online  2000 XP0022 14713   8 pages    Alteon Websystems     Virtual Matrix Architecture  Scaling Web Ser   vices for Performance and Capacity     White paper  Online  Apr   2000  XP002191242  13 pages       cited by examiner    Primary Examiner     Aaron Strange   74  Attorney  Agent  or Firm     Kacvinsky Daisak PLLC     57  ABSTRACT    An improved method a
2.  a first request for information is received over a first  connection at block 302  The first request for information  may be  for example  a request for a web page using an HTTP     Get    command in accordance with the HTTP Specification   The first connection may be  for example  a connection  between a client computer and an access device  such as  access device 106  The information may be retrieved over a  second connection at block 304  The second connection may  be  for example  a connection between an access device and a    US 7 899 911 B2    5    server containing the requested information  such as server  108  The access device may detect that the first connection  has been terminated at block 306  The first connection may be  terminated for various reasons  such as intentionally by the  user via a cancellation or refresh request sent from a browser  at the client computer  a break in the physical or logical  connection between the client computer and access device   and so forth  The access device may receive a second request  for the information over a third connection at block 308  The  third connection may comprise  for example  a new connec   tion between the client computer and the access device to  replace the terminated first connection  The access device  may determine whether the second request matches the first  request at block 310  The access device may send the infor   mation over the third connection at block 312 in accordance  with the determination 
3.  said   second source address matches said first source address   and   determining whether said first information address   matches said second information address    4  The method of claim 3  wherein said source addresses  comprise Internet addresses  and said information addresses  comprise uniform resource locators    5  The method of claim 1  wherein said information com   prises a hypertext markup language  HTML  file    6  The method of claim 1  wherein said information com   prises an extensible markup language  XML  file    7  The method of claim 1  further comprising    receiving a request to terminate said third connection  and   terminating said second and third connections    8  A method to retrieve information in a network  compris   ing    receiving a first request for information from a first net    work node at a second network node over a first connec   tion    sending said first request over a second connection to a   third network node    receiving a notice that said first connection is terminated   prior to retrieval of said information over said second  connection    receiving said information over said second connection at   said second network node    receiving a second request for said information over a third   connection at said second network node    determining whether said second request matches said first   request  including whether said second request is from  said first network node    sending said information over said third connection to sa
4.  the TCP connection toward the server open to  receive the requested information    In segment 4  a new TCP session is set up between the  client computer and the web switch  The client computer  sends a request fora URL  Since the TCP connection between  the web switch and the server remains open  a new TCP  connection between the web switch and the server is not  opened    In segment 5  the web switch checks its information table  to determine whether there is an outstanding URL request  toward the server for the source IP address already  If so  the  previous URL request is spliced with the new URL request   As a result  the web switch may avoid selecting a server   opening a new connection  and sending the new URL request  to the selected server    In segment 6  the web switch may receive the web page  associated with the previous URL request  The web switch  may perform a validation process to ensure that the received  web page is the same as the one requested in the new URL  request  the web page is timely  and so forth  Ifthe web page  is valid  the web switch may send the web page to the client  computer  If the web page is not valid  a new server may be  selected  a connection opened with the server  anda new URL  request sent to the selected server    In segment 7  the web switch may receive a request to  terminate the connection between the client computer and the  web switch  Once it receives this request  the web switch may  terminate the open connection between 
5.  with one embodiment of the invention    FIG  4 illustrates a message flow in accordance with one  embodiment of the invention     DETAILED DESCRIPTION    In the following detailed description  numerous specific  details are set forth in order to provide a thorough understand   ing ofthe embodiments ofthe invention  It will be understood  by those skilled in the art  however  that the embodiments of  the invention may be practiced without these specific details   Inother instances  well known methods  procedures  compo   nents and circuits have not been described in detail so as not  to obscure the embodiments of the invention    One embodiment of the invention may increase the speed  by which information may be retrieved from a server  The    20    25    30    35    40    45    50    55    60    65    2    server may be connected to an access device  such as a load  balancer  web switch  virtual private network gateway  and so  forth  The access device may manage how information is  stored and retrieved from the server  For example  a load  balancer may operate to make multiple servers appear like a  single  high powered network resource to those accessing the  array of servers  It does this by selectively forwarding con   nections to the many servers arrayed behind it in an equitable  manner  according to such factors as the server s operational  health  nature of the query and so forth  The load balancer  may check the operational health of a server by testing the  server 
6. US007899911B2    az United States Patent    Jensen et al     US 7 899 911 B2  Mar  1  2011     10  Patent No     45  Date of Patent         54  METHOD AND APPARATUS TO RETRIEVE  INFORMATION IN A NETWORK   75  Inventors  Kell Michael Jensen  Gentofte  DK    Alex Agerholm  Glostrup  DK      73  Assignee  Intel Corporation  Santa Clara  CA   US       Notice  Subject to any disclaimer  the term of this  patent is extended or adjusted under 35  U S C  154 b  by 1929 days    21  Appl  No   09 877 928   22  Filed  Jun  7  2001   65  Prior Publication Data  US 2002 0188698 A1 Dec  12  2002   51  Int  CI   G06F 15 16  2006 01    52   US CL i2 rnenereermerenes 709 227  709 219   58  Field of Classification Search                    709 202     709 226  219  227  228  203  See application file for complete search history                56  References Cited  U S  PATENT DOCUMENTS  5 802 292 A   9 1998 Mogul              709 203  5 852 717 A   12 1998 Bhide etal        709 203  5 991 306 A   11 1999 Burns etal                      370 429  6 003 082 A   12 1999 Gampperetal                709 225  6 085 193 A   7 2000 Malkin et al                      707 10  6 167 438 A   12 2000 Yates et al         709 216  6 185 625 B1  2 2001 Tsoetal                        709 247  6 247 050 B1  6 2001 Tsoetal  we 709 224  6 421 733 B1  7 2002 Tsoetal           709 246  6 438 652 B1  8 2002 Jordan etal                     711 120        6 553 420 B1  4 2003 Kargeretal                 709 226  6 701 415
7. a   tions and changes as fall within the true spirit of the embodi   ments of the invention    The invention claimed is    1  A method to retrieve information  comprising    receiving a first request for information from a client at a   network node over a first connection    establishing a second connection to retrieve said informa    tion    detecting that said first connection is terminated prior to   retrieval of said information over said second connec   tion    retrieving said information over said second connection     US 7 899 911 B2    7    receiving a second request at the network node for said   information over a third connection    determining whether said second request matches said first   request  including whether said second request is from  said client    sending said information over said third connection in   accordance with said determination  and   deleting said information at the network node upon deliv    ery of said information to said client    2  The method of claim 1  wherein said first request com   prises a first source address and a first information address   further comprising storing said information with said first  source address and said first information address in an infor   mation table prior to receiving said second request    3  The method of claim 2  wherein said second request  comprises a second source address and a second information  address  and said determining comprises    searching said information table to determine whether
8. at block 310    After retrieving the information at block 304  the access  device may store the information in memory  such as memory  210 or disk storage 218  In one embodiment of the invention   the first request may comprise a first source address and a first  information address  The access device may store the first  source address  the first information address and the informa   tion in an information table  The access device may receive a  second request at block 308  The second request may com   prise a second source address and a second information  address  The access device may search the information table  to determine whether the second source address matches the  first source address  and the first information address matches  the second information address  If both match  the access  device may retrieve the information corresponding to the first  source address and first information address  and send the  information to the client computer over the third connection    In one embodiment of the invention  the source address  may comprise an IP address  the information address may  comprise a URL  and the information may comprise a web  page  such as an HTML or XML file  It can be appreciated   however  that the source address  information address and  information may be in other formats in accordance with a  desired set of protocols  and still fall within the scope of the  invention    Once the client computer receives the requested informa   tion  the client com
9. communications protocols  services and operating proce   dures  for example  In one embodiment of the invention  I O  adapter 204 may operate  for example  in accordance with the  Transmission Control Protocol  TCP  as defined by the IETF  standard 7  RFC 793  adopted in September  1981  and the  Internet Protocol  IP  as defined by the IETF standard 5  RFC  791  adopted in September  1981  both available from     www ietf org     although the embodiments of the invention  are not limited to this context  I O adapter 204 also includes  appropriate connectors for connecting I O adapter 204 with a  suitable communications medium  I O adapter 204 may  receive communication signals over any suitable medium  such as copper leads  twisted pair wire  co axial cable  fiber  optics  radio frequencies  and so forth    The operations of systems 100 and 200 may be further  described with reference to FIG  3 and its accompanying  examples  Although FIG  3 as presented herein may include a  particular processing logic  it can be appreciated that the  processing logic merely provides an example of how the  general functionality described herein can be implemented   Further  each operation within a given processing logic does  not necessarily have to be executed in the order presented  unless otherwise indicated    FIG  3 is a block flow diagram of the programming logic  performed by an information management component in  accordance with one embodiment of the invention  As shown  in FIG  3 
10. he  same file may be stored on a number of different servers   Whenever a user sends a request to access a file stored on a  server  the request may be intercepted by a network access  device  such as a    load balancer    or    web switch     The net   work access device may operate to coordinate and control  how information is stored and accessed in order to optimize  overall network performance  Optimized performance might  be realized  for example  in lower access times for informa   tion stored on the servers  Due to the increasing demands for  lower access times  it can be appreciated that there is a sub   stantial need for technologies that may retrieve information  faster from a server over a network     BRIEF DESCRIPTION OF THE DRAWINGS    The subject matter regarded as embodiments of the inven   tion is particularly pointed out and distinctly claimed in the  concluding portion of the specification  Embodiments of the  invention  however  both as to organization and method of  operation  together with objects  features  and advantages  thereof  may best be understood by reference to the following  detailed description when read with the accompanying draw   ings in which    FIG  1 is a system suitable for practicing one embodiment  of the invention    FIG  2 is a block diagram ofan access device in accordance  with one embodiment of the invention    FIG  3 is a block flow diagram of the programming logic  performed by an information management component in  accordance
11. id   first network node  and   deleting said information at the second network node upon   delivery of said information to said first network node    9  The method of claim 8  wherein said first request com   prises a first source address and a first information address   further comprising storing said information with said first  source address and said first information address in an infor   mation table at said second network node prior to receiving  said second request     20    25    30    35    40    45    50    55    8    10  The method of claim 9  wherein said second request  comprises a second source address and a second information  address  and said sending comprises    searching said information table to determine whether said   second source address matches said first source address   determining whether said first information address  matches said second information address  and   sending said information in accordance with said determi    nation    11  The method of claim 9  wherein said source addresses  comprise Internet addresses  and said information addresses  comprise uniform resource locators    12  The method of claim 8  wherein said information com   prises a hypertext markup language  HTML  file    13  The method of claim 8  wherein said information com   prises an extensible markup language  XML  file    14  The method of claim 8  further comprising    receiving a request to terminate said third connection  and   terminating said second and third co
12. machine readable storage devices  through various I O controllers  which are accessible by pro   cessor 202 and which are capable of storing a combination of  computer program instructions and data    Memory 210 is accessible by processor 202 over bus 208  and includes an operating system 216  a program partition  212 and a data partition 214  In one embodiment of the  invention  operating system 216 may comprise an operating  system sold by Microsoft Corporation  such as Microsoft  Windows   95  98  2000 and NT  for example  Program par   tition 212 stores and allows execution by processor 202 of  program instructions that implement the functions of each  respective system described herein  Data partition 214 is  accessible by processor 202 and stores data used during the  execution of program instructions    Inone embodiment ofthe invention  program partition 212  contains program instructions that may be collectively  referred to herein as an information management component   Although this embodiment of the invention uses one compo   nent  it can be appreciated that the functionality performed by  this component may be combined with other components  or  separated into additional components  and still fall within the  scope of the invention    I O adapter 204 may comprise a network adapter or net   work interface card  NIC  configured to operate with any  suitable technique for controlling communication signals  between computer or network devices using a desired set of  
13. n determining whether said second  request matches said first request by searching said informa   tion table to determine whether said second source address  matches said first source address  and determining whether  said first information address matches said second informa   tion address    18  The article of claim 15  wherein the stored instructions   when executed by a processor  further result receiving a  request to terminate said third connection  and terminating  said second and third connections     
14. nd apparatus to retrieve information  over a network is described     18 Claims  4 Drawing Sheets       receive a first request for information 302  over a first connectron       I       retrieve the information over a second  connection       LA       detect that tha first connection is  terminated               receive a second request for the  information over a third connection       i       determine whether the second request  matches the first request             connection in accordance with the    sending the information over the third 312  determination       US Patent Mar  1 2011 Sheet 1 of 4 US 7 899 911 B2    o  2   gt   CD  e  o  Wu  D  2  e    t    FIG  1       US Patent Mar  1 2011 Sheet 2 of 4 US 7 899 911 B2    202 204 206    iO Operator    212 iti    214 Data Paritions       FIG    US Patent Mar  1 2011 Sheet 3 of 4    Start    receive a first request for information  over a first connection    retrieve the information over a second    connection    detect that the first connection is  terminated    receive a second request for the  information over a third connection       determine whether the second request  matches tne first request           sending the information over the third  connection in accordance with the  determination    End       US 7 899 911 B2    300    304    306    308    310    312    FIG 3    US Patent    Client       Mar  1  2011 Sheet 4 of 4  WaoSwich Servar  SYN 7  SYN ACK  ACK D  REQ1 hesdec z M  ACK  REQ8 header body b  R  QS vod
15. nnections    15  An article comprising    a storage medium    said storage medium including stored instructions that    when executed by a processor  result in receiving a first  request for information from a client at a network node  over a first connection  establishing a second connection  to retrieve said information  detecting that said first con   nection is terminated prior to retrieval of said informa   tion over said second connection  retrieving said infor   mation over said second connection  receiving a second  request for said information at the network node over a  third connection  determining whether said second  request matches said first request including whether said  second request is from said client  sending said informa   tion over said third connection in accordance with said  determination  and deleting said information at the net   work node upon delivery of said information to said  client    16  The article of claim 15  wherein said first request com   prises a first source address and a first information address   and the stored instructions  when executed by a processor   further result in storing said information with said first source  address and said first information address in an information  table prior to receiving said second request    17  The article of claim 16  wherein said second request  comprises a second source address and a second information  address  and the stored instructions  when executed by a  processor  further result i
16. o the client computer without having to open a new  connection to the server    This embodiment of the invention provides several advan   tages  For example  this embodiment of the invention avoids  the latency associated with re establishing a connection    US 7 899 911 B2    3    between the load balancer and the server  The load balancer  may also avoid having to go through the selection process to  select a particular server from the group or cluster of servers   In addition  the server would not have to retrieve the infor   mation twice  thereby releasing resources for other uses    Itis worthy to note that any reference in the specification to   one embodiment  or  an embodiment  means that a particu   lar feature  structure  or characteristic described in connec   tion with the embodiment is included in at least one embodi   ment of the invention  The appearances of the phrase    in one  embodiment  in various places in the specification are not  necessarily all referring to the same embodiment    Referring now in detail to the drawings wherein like parts  are designated by like reference numerals throughout  there is  illustrated in FIG  1 a system suitable for practicing one  embodiment of the invention  FIG  1 is a block diagram of a  network 100  Network 100 may comprise a client computer  102  a network 104  an access device 106 and a server 108  In  one embodiment of the invention  server 108 may be part of  an array of servers connected together by a network  fo
17. puter may send a request to terminate the  third connection between the client computer and the access  device  The access device may then terminate the second  connection between the access device and the server  and the  third connection  in accordance with the particular protocol  used    FIG  4 illustrates a message flow in accordance with one  embodiment of the invention  As shown in FIG  4  a TCP  session is set up between a client computer and an access  device  and the access device and a server  The access device  may be  for example  a web switch  A web switch may operate  similar to a load balancer    In segment 1  a TCP session may be set up between the  client computer and the web switch  In this example of a  message flow  there is no TCP connection set up between the  web switch and the server yet  During segment 1  the client  computer may send the URL for the desired web page    Once the access device has received and stored the  requested URL  the web switch may enter segment 2  Seg   ment 2 may include  for example  selecting a server having  the requested web page  The web switch may set up a TCP  connection toward the selected server  and passes the URL  request to the server over the opened connection    In segment 3  the TCP connection from the client computer  to the web switch is terminated prior to receiving the  requested information from the server  The web switch  how     20    25    30    35    40    45    50    55    60    65    6    ever  keeps
18. r  example    FIG  2 is a block diagram of a system in accordance with  one embodiment of the invention  FIG  2 illustrates a system  200 that may be representative of an access device  such as  access device 106  As shown in FIG  2  system 200 may  comprise a processor 202  an input output  I O  adapter 204   an operator interface 206  a memory 210 and a disk storage  218  Memory 210 may store computer program instructions  and data  The term  program instructions  may include com   puter code segments comprising words  values and symbols  from a predefined computer language that  when placed in  combination according to a predefined manner or syntax   cause a processor to perform a certain function  Examples of  a computer language may include C  C   and assembly   Processor 202 executes the program instructions  and pro   cesses the data  stored in memory 210  Disk storage 218  stores data to be transferred to and from memory 210  I O  adapter 204 communicates with other devices and transfers  data in and out of the computer system over connection 224   Examples of other devices may include a microphone and  display  such as microphone 106 and display 102  respec   tively  Operator interface 206 may interface with a system  operator by accepting commands and providing status infor   mation  All these elements are interconnected by bus 208   which allows data to be intercommunicated between the ele   ments    Processor 202 can be any type of processor capable of  providing 
19. the appropriate server  the server may send  the requested web page to the load balancer  The load bal   ancer may then send the web page to the client computer   where the browser may display the web page for the user    A problem may occur if there is an unreasonable delay in  accessing the web page  The user may get impatient and  cancel the request  only to submit another request for the  same web page immediately thereafter  The cancellation may  result in the termination of the connection between the client  computer and the load balancer  and also the connection  between the load balancer and the server  Once the user sub   mits the other request  both connections will have to be re   established prior to retrieving the requested information  This  may lead to the inefficient use of network resources    To avoid this and other potential problems  one embodi   ment of the user maintains the connection between the load  balancer and the server despite the cancellation of the con   nection between the client computer and the load balancer   Once the load balancer receives the requested information   the load balancer may store the requested information with  the source address of the client computer and the information  address of the information  e g   the URL  in an information  table  If the client computer attempts to establish a new con   nection requesting the same information  the load balancer  may retrieve the information from the information table and  send it t
20. the speed and functionality required by the  embodiments of the invention  For example  processor 202  could be a processor from family of processors made by Intel  Corporation  Motorola Incorporated  Sun Microsystems  Incorporated  Compaq Computer Corporation and others   Processor 202 may also comprise a digital signal processor   DSP  and accompanying architecture  such as a DSP from  Texas Instruments Incorporated    In one embodiment ofthe invention  memory 210 and disk  storage 218 may comprise a machine readable medium and  may include any medium capable of storing instructions  adapted to be executed by a processor  Some examples of  such media include  but are not limited to  read only memory   ROM   random access memory  RAM   programmable  ROM  erasable programmable ROM  electronically erasable  programmable ROM  dynamic RAM  magnetic disk  eg   floppy disk and hard drive   optical disk  e g   CD ROM  and  any other media that may store digital information  In one  embodiment of the invention  the instructions are stored on  the medium in a compressed and or encrypted format  As    ja    5    20    25    35    40    45    55    65    4    used herein  the phrase    adapted to be executed by a proces   sor  is meant to encompass instructions stored in a com   pressed and or encrypted format  as well as instructions that  have to be compiled or installed by an installer before being  executed by the processor  Further  client 200 may contain  various combinations of 
21. the web switch and  the server    Once the web switch has sent the web page to the client  computer  the web page may delete the web page and corre   sponding entries from its information table  Alternatively  the  web switch may maintain the information similar to a caching  appliance  and delete it after a certain time has passed  for  example  In this example  the web switch may associate an  aging timer with the source address  URL and information   and may delete certain entries at periodic or predetermined  intervals  This may be implemented to avoid exceeding  memory thresholds or keeping invalid information  In one  embodiment of the invention  the web switch may use a  first in first out  FIFO  concept  where the oldest stored  information may be deleted if maximum memory usage is  reached    In one embodiment of the invention  the servers may not  use the source IP address to send the requested information   This may occur  for example  in a network using network  address translation  NAT  technology  In this embodiment of  the invention  it may not be necessary for the web switch to  store the source IP address together with the URL in its  information table    While certain features of the embodiments of the invention  have been illustrated as described herein  many modifica   tions  substitutions  changes and equivalents will now occur  to those skilled in the art  It is  therefore  to be understood that  the appended claims are intended to cover all such modific
22. with an artificial client  or by sending it a series of  scripts that can try out critical pages and look at the responses   for example    A user may typically attempt to access information on a  server using a browser located on a client computer  such as a  personal computer  PC   The information may comprise  for  example  a web page  The user may initiate the action by  typing in an information identifier for the web page  An  example of an information identifier may be a uniform  resource locator  URL   The browser may then use the URL  to attempt to establish a connection between the client com   puter and the server where the web page is stored using a  conventional network protocol  An example of such a proto   col may include the Hypertext Transfer Protocol  HTTP   Version 1 1 as defined by the Internet Engineering Task Force   IETF  Draft Standard Request For Comment  RFC  2616   June 1999  and available from    www ietf org        HTTP  Specification    although the embodiments of the invention  are not limited in this context    The network access device such as a load balancer may  intercept and process the connection request on behalf ofthe  server  If the requested web page resides on more than one  server in the network  the load balancer may select a particu   lar server based on various parameters  such as those dis   cussed above  The load balancer may then attempt to establish  a connection with the selected server  Once a connection is  established with 
23. y b  ACK  ER SYN  q SYN ACK  ACK  REO   header    ACK  REQ2 h  adetebody  Fl p  ACK  EI   3   R amp Q3 body  d ACK   lt  RESP  heads   ACK  SYN  SYN ACK  ACK    REGQ1 header o  ACK  REQ2 headerebody  b  CS   q RESP2 headsrebod   ACK ACK  o  RESP    header   ACK t  RESP2 headerebod  RESP3Ibody  ACK  d RESP4 body  RESPA body  ACK  ACK    Fi D  o fi  e ACK FI  ACN EI  tima ume    US 7 899 911 B2    US 7 899 911 B2    1  METHOD AND APPARATUS TO RETRIEVE  INFORMATION IN A NETWORK    BACKGROUND    A network typically comprises a plurality of network  nodes connected together by a communications medium  A  network node may comprise  for example  a switch  router   personal computer  server  network appliance or any other  network device  A network node  such as a server  may store  information in the form of files created in accordance with  various formats  such as a hypertext markup language   HTML  file  extensible markup language  XML  file  and so  forth  A file may also be referred to as a    page    or    web page      Whenever a user may desire a particular file  the user may  request access to the file using a number of network protocols   A protocol may be a predetermined process by which infor   mation is exchanged between network nodes    Due to the high performance demands of certain applica   tions  it may become necessary to implement technology to  ensure that a user may access a desired file with a high level  of confidence and reduced latency  To accomplish this  t
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
IAN 71921 - Lidl Service Website  User Manual  Memory Corp 2GB Hi-Speed USB Disc  User Manual - DigiTerra Explorer  AVKYLD Integrated fridge A+  Imation Bio-Swipe 取扱説明書 1. はじめに 1.1 このたびは、弊社製品  Mitsubishi Electric LDT422V  Arcam AVR-200 Receiver  Octavio-HLV User Manual - Diamond Systems Corporation      Copyright © All rights reserved. 
   Failed to retrieve file