WO2000073944A2 - System and method for data communication - Google Patents

System and method for data communication Download PDF

Info

Publication number
WO2000073944A2
WO2000073944A2 PCT/US2000/015052 US0015052W WO0073944A2 WO 2000073944 A2 WO2000073944 A2 WO 2000073944A2 US 0015052 W US0015052 W US 0015052W WO 0073944 A2 WO0073944 A2 WO 0073944A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
rapid
computer
receiving computer
files
Prior art date
Application number
PCT/US2000/015052
Other languages
French (fr)
Other versions
WO2000073944A3 (en
Original Assignee
Datagistics Corporation
Lalonde, Michael, G.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Datagistics Corporation, Lalonde, Michael, G. filed Critical Datagistics Corporation
Priority to AU53111/00A priority Critical patent/AU5311100A/en
Publication of WO2000073944A2 publication Critical patent/WO2000073944A2/en
Publication of WO2000073944A3 publication Critical patent/WO2000073944A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the present invention relates generally to data communications. More specifically, the present invention relates to a system and method for increasing a speed and efficiency of data communication in networks by reducing a-quantity of data that must be transmitted.
  • Computers today largely depend on external communications to send and receive information used to communicate news, send and receive constructed operator-specific information such as e-mail, remotely operate software programs, upload/download data files, install software programs and a myriad of other functions.
  • operator-specific information such as e-mail
  • remotely operate software programs upload/download data files
  • install software programs a myriad of other functions.
  • a dramatic increase in utilization of the Internet has greatly increased a need for improved external communications in computers for personal, business, and other uses. This is true for hardwired telecommunications, as well as satellite, cellular and other wireless communication means as well.
  • the Internet is a global network interconnecting a great number of smaller computer networks.
  • the Internet includes government, education, and business computer networks, and is generally available to the public.
  • the Internet facilitates many types of transactions, including the operating of computers from remote locations, transferring files between computers, etc., by providing a standardized protocol to read and interpret such data on remote computers. These transactions are largely supported by Hypertext Transfer Protocol (HTTP) and Transfer Controlled Protocol/ Internet Protocol (TCP/IP), which facilitate the transferring of data files containing text, pictures, sounds, video, etc.
  • HTTP Hypertext Transfer Protocol
  • TCP/IP Transfer Controlled Protocol/ Internet Protocol
  • Information contained within the Internet network includes collections of data files that in part represent Web pages, groups of which constitute Web sites. Individual Web pages are typically identified within a network by Uniform Resource Locator addresses commonly referred to as URLs. Programs such as Web browsers that are compatible with a data format used in various transactions may be used to transmit data files and interpret received data files in a receiving computer.
  • LANs Local Area Networks
  • WANs Wide Area Networks
  • PSTN Public Switched Telephone Network
  • LAN sending computers are interfaced to external data communications at single points, which permit transmission of external Internet communications from the sending computers to numerous discrete LAN receiving computers.
  • data communications for LAN servers are often relatively expensive and sophisticated digital means such as high bandwidth T carriers (1.544 megabit per second (MBPS)), which are costly, and not as readily available and/or practical for use by a vast majority of receiving computers owned and operated by the general public. It is these faster and more sophisticated interfaces that provide sufficient bandwidth to permit Internet communications with several simultaneous discrete LAN receiving computers through a single point at the LAN sending computer. But depending on the number of discrete receiving computers accessing the Internet simultaneously, even with a high speed interface, the time required to receive data can be just as long as on its slower PSTN counterpart.
  • Transmission speeds are more typically in the hundreds of bits per second or low thousands of bits per second range, due to processing of the often attenuated and/or interference-laden signals received.
  • Another line-of-site method used to communicate involves light emitting infrared bands that can transmit data at very high speeds.
  • this method is severely restrictive due to distance and accurate line-of- site positioning and is not considered portable.
  • Additional issues pertaining to limitations of communications methods relate to a processing ability of receiving computers. While communication methods may be insensitive to an amount or type of data transmitted, that is, the representative "on” and “off state (e.g. "zeros" and "ones"), receiving computers on the other hand are extensively affected by the amounts of data received and the time which is expended in receiving and processing the data in order to achieve a desired result.
  • a desired end result of many transmissions is the display of information on a display screen of a receiving computer. It is important to note that the time it takes to reach this result includes processing time by the sending computer and the time it takes to create the display.
  • ADSL Asynchronous Digital Subscriber Lines
  • ISDN Integrated Services Digital Network
  • T carriers and a number of other specialized high speed data communication delivery methods which are comparatively very limited in availability due to limitations of the PSTN or other infrastructure constraints.
  • ADSL, ISDN and Broadband Cable are the most commonly utilized data communications methods for residential high-speed applications, where available from the telecommunications provider and financially feasible.
  • Cache is an allocated memory subsystem that preserves recently downloaded data for quick future access without the need to download the data a second time.
  • Cache memory stores the contents of frequently accessed web pages, for example, or those web pages specially designated for storage and retrieval, and the call addresses where these data files are stored within the memory of the receiving computer.
  • the cache memory of the receiving computer holds cache memory associated with that address, the memory (web page contents) is checked against the file in the sending computer for freshness. If fresh, the data file is returned from cache memory of the receiving computer instead of receiving the entire file over telecommunications. If the receiving computer's file is old or stale compared to the sending computer, a download of the old file must be performed from the sending computer to the receiving computer.
  • Web cache memory is most useful under two conditions; first, when the telecommunication or transmission method is slow as compared to the microprocessor speed of the receiving computer; and second, when bandwidth savings is a priority. These web cache memory methods will offset and defray both the effect of slow communications and internal processing of received data by the receiving computer thus consuming less bandwidth. However, cached web pages are stored only after first receiving a web page download. Thus, web page cache memory cannot be used for first time downloads. Additionally, if the sending computer's web page contents have changed since the last download preserved by web cache, the browser software of the receiving computer will instruct the sending computer to download a fresh version to replace the stale web page contents once again for storage into memory.
  • ISP Internet Service Provider
  • the ISP is a method that supplies Internet connectivity services to individuals, businesses, and other organizations. ISPs principalh' connect slower analog PSTN networks to higher speed backbone networks. Some ISPs are large national or multinational corporations that offer access in many locations, while others are smaller ISPs that offer services to a single city or region.
  • Intermediary devices that are critical to the data communications stream of the Internet network are hubs, bridges, gateways, repeaters, and routers. These devices are intrinsic to the efficiency of data traffic within the Internet data communications network. Usually, these devices link the myriad of networks together and manage and expedite data delivery. On a single network linking many receiving computers and sending computers through a myriad of possible connections, a router receives transmitted messages in the form of data packets and forwards them to their correct destinations. Under certain routing protocols, the same paths need not be used each time. This allows the most efficient available route to be taken.
  • the ISP is inherently a contiguous component of the Internet as is the router. Data that flows to the ISP from the sending computer and which is destined for the receiving computer is received by the ISP at substantially higher transmission rates than those at which data is transmitted to the receiving computer. Further, data transmitted from the sending computer to the ISP is often delayed due to network traffic and server latency.
  • the data communications and bandwidth bottleneck for the ISP and the Internet principally lies in the connection between the ISP and the receiving computer. To reduce network delays and the amount of bandwidth needed to send and receive data from a sending computer to the ISP. the ISP utilizes web cache in a method similar to that used in the browser of the receiving computer, as discussed above. It is noteworthy that in circumstances where the receiving computer is interfaced via a high speed connection to an ISP, the speed constraint becomes the data path from the ISP to the sending computer and not between the ISP and the receiving computer.
  • some sending computers are capable of transmitting information automatically at a request of the receiving computer or sending computer.
  • This method is generally known by those skilled in the art as “push” technologies if initiated by the sending computer and “pull” technologies if initiated by the receiving computer.
  • push technologies if initiated by the sending computer
  • pulse technologies if initiated by the receiving computer.
  • data can be automatically sent during non-waking hours and non-peek operational hours, thereby decreasing data communication latency caused by real-time downloads.
  • "push " methods can transfer data during non-waking hours freeing up telephony service needed by the resident during waking hours.
  • Computer viruses are a troublesome concern and can be extremely damaging to users of the Internet. Viruses arise from the intentional embedding of malicious intervening software code that is concealed in what are otherwise considered to be safe, legitimate data files. These files invade the receiving computer under the guise of a legitimate download from a legitimate sending computer. To be a computer virus, such code needs only meet two criteria. First, it must be executable, often through placement within the path of execution of another program, or through self-execution. Secondly, it must replicate itself by, for example, copying itself to other executable files or to storage disks of the receiving computer.
  • viruses are embedded in software code that is downloaded from the sending computer to the receiving computer as a complete file, there is no practical way of detecting the virus unless the receiving computer has a software program that can identify the virus by matching it to identical known code or certain virus profile characteristics resident in its virus scanning program. If the virus scanning program does not have the matching virus to compare the newly downloaded code to, the virus will invade the receiving computer and likely cause damage to its software or hardware.
  • Compressed data reduces data transmission times, but at the same time increases processing time due to decompression time necessary to produce deciphered data.
  • Data encryption methods add to processing time at both sending and receiving computers, thereby adding to a total time required to transmit web pages or other data.
  • a processing speed of a vast majority of present day receiving computers is substantially greater than the speed at which complex data may be received from web site servers.
  • Web cache memory requires large amounts of data storage, which often contains redundant and stale data files, in order to maintain a useful collection of data corresponding to web sites that may potentially be visited in the future.
  • Working offline (while not connected to telecommunications means) causes data to be retrieved from cache memory, and not by comparing the memory for freshness to actual web site data files. Thus, up-to-date information cannot thereby be provided.
  • Proxy servers of interfaced LANs perform centralized web page cache functions for a number of receiving computers connected to the LAN and subordinate to the proxy server.
  • the performance of such proxy servers suffers the same limitations as does cache on receiving computers that are independent from such LANs.
  • the transmission of graphics, video, sound and software programs can bring about severe speed degradation due to the volume of data for subordinate receiving computers interfaced to the network. Because of the importance of bandwidth, higher speed networks can suffer adverse speed effects similar to those suffered by dial-up analog PSTN networks.
  • New computer viruses, or varying strains of older viruses can be hidden within data files and may not be discovered by virus scanning programs due to uniqueness of the viruses and a resulting failure of matching code detection means of virus scanning programs.
  • ISPs must maintain large cache memories in order to facilitate faster downloading of web page content from web sites from the ISP to the receiving computer, and in the interests of network latency, backend bandwidth and cost.
  • the present invention is system and method for communicating data from a server, or sending computer, to a client, or receiving computer, without the necessity of transferring an entirety of the data.
  • a sending computer transfers to a receiving computer that has relatively immediate access to data necessary to generate a desired result in the receiving computer, enough information to generate that result from the accessible data.
  • the present invention provides a data communication system having a sending computer, coupled to a data repository, for transmitting instructions that describe a communication with reference to the data repository.
  • the system further includes a receiving computer, coupled to the sending computer, for interpreting the instructions with respect to the data repository and determining from the interpretation content of the communication.
  • the present invention provides a method for communicating information between a server and a client computer.
  • the method includes receiving at the client computer a set of instructions from the server that reference discrete portions of data accessible by the client computer.
  • the set of instructions defines the communicated information with respect to the data.
  • the method further includes reconstructing the communicated information on the client computer from the set of instructions and the data.
  • FIG. 1 is a block diagram of an embodiment of a system of the present invention.
  • FIG. 2 is a flow diagram illustrating one embodiment of a method of the present invention.
  • the present invention allows a first computer to communicate information to a second computer via a set of instructions that correspond to, or cause the locating and retrieval of segments of, data files residing on the second computer. When retrieved and organized, these data files constitute, in its entirety, the information desired to be communicated. The first computer is thereby able to cause a desired result in the second computer through transmission of these instructions, the transmitted instructions representing less data than would otherwise be required for communication of the same information.
  • RAPID Randomly Accessible Para-Integrated Data
  • the sending computer knows the contents of the data repository, such as through identification by the receiving computer of a version of the repository it possesses, or other means. From this identification, the sending computer may reference a replica of the receiving computer's RAPID repository and analyze this code for correlation to portions of data the sending computer desires to communicate. The sending computer may then build an instruction set consisting of addresses, or other data designators, that reference the code to be harvested from the receiving computer's repository in order to replicate the data desired to be communicated by the sending computer.
  • the present invention involves a method not of data compression, but rather of data manipulation, although it nonetheless leads to similar results as the compression of data.
  • the repository code in one embodiment, is a separate body of data residing within a receiving computer for harvesting purposes and within a sending computer for comparison purposes.
  • the sending computer version is preferably an accurate representation of the receiving computer's repository, although it need not, in terms of bit- by-bit information, include all of the data. It is only desirable that the sending computer knows the pertinent contents of the receiving computer's repository. It is also feasible that any data resident on the receiving computer that can be replicated with the matching data on the sending computer and that the sending computer intends to replicate on the receiving computer, can be used as part of the repository.
  • discrete files such as GIFs and JPEGs are easy to identify and can be used as part of the repository.
  • a receiving computer could communicate that its repository version includes these files, whether part of the cache memory or other memory.
  • data files relating to another web site and its respective web pages that were previously stored on the receiving computer either in cache memory or otherwise can be readily considered as part of the data repository which can be harvested in part or whole for use in replicating an unrelated web page.
  • portions of these files and other bodies of data unrelated to the repository can be used.
  • These bodies of data could include portions of text files, certain organized and unorganized data, and executable software programs, for example, that can be readily identified by their version identification numbers.
  • Constructing an instruction set needed to replicate a file or other data on a receiving computer may consist of a number of different elements, predicated on a condition of the data repository.
  • an entire file can be harvested with only one address pointing to a singular location within the repository, or header information of a file within cache memory, for example.
  • Other files may need a combination of locator addresses, supplemental code represented identically as it appears within the file (commonly compressed to further minimize bit transmission size), and/or commands to cause to certain actions to be performed within the receiving computer.
  • the harvesting process may be supplement with the transfer of actual data where the alternative of transmitting addresses instead would lead to a greater net data transmission than would transmitting the data itself.
  • the data repository may also include a series of unrelated data strings which by itself, represents a plethora of combinations of zeros and ones. When a sufficient amount of data can be identified within the repository of the receiving computer, this data can be used in lieu of transmitting the actual strings of data. Again, as a practical matter, this method is preferable when, as is often the case, the total amount of data transmitted in the form of address pointers corresponding to the desired data to be replicated would be less than that required to transmit the actual data.
  • the present invention may be used to dramatically reduce a number of data bits required to be transferred between a sending computer and a receiving computer in order to produce a desired result in the receiving computer.
  • the reduction in data bits may further lead to a reduction in the time required, in contrast to conventional means, to download a web page, a file, or other data forms.
  • this may be accomplished by transmitting from the sending computer to the receiving computer relatively small addresses or other data location designators that correspond to the RAPID repository.
  • RAPID at least in part, preferably takes the form of discrete files and other unrelated data resident on the receiving computer.
  • the system 100 includes a receiving computer 110, a sending computer 120. and a data repository 130 coupled to the receiving computer 110 and accessible to the sending computer 120.
  • accessible it is meant that the sending computer 120 can determine the contents of the data repository 130.
  • the sending computer 120 may be coupled to the data repository 130, may be coupled to a separate copy of the data repository 130, may be coupled to some less data intensive representation of the data repository 130, etc.
  • the receiving computer 110 preferably includes a browser 112 operating in conjunction with a data buffer 114 and an operating system 116 of the receiving computer 110.
  • the data buffer 114 preferably acts as an interface between the receiving computer 110 and the data repository 130, via a repository buffer 132.
  • the browser 112 preferably acts as an interface between the receiving computer 110 and an external communication means 118, such as a dial up connection, ISDN, etc., as will be appreciated by one skilled in the art.
  • the receiving computer 110 is coupled to a network 140, such as a LAN. a WAN, the Internet, etc.
  • the sending computer 120 is also coupled to the network 140 in this embodiment.
  • a flow diagram illustrating an embodiment of a method 200 of the present invention is shown.
  • step 202 a connection is made between a sending computer and a receiving computer.
  • step 204 it is determined whether the sending computer is compliant with a method of the present invention, that is, in this embodiment, whether the sending computer is RAPID compliant. If so, the receiving computer receives a set of RAPID location designators, and perhaps other data, in step 206.
  • the location designators preferably refer to data stored in a data repository that may be accessed in order to generate information desired to be communicated by the sending computer. Based on the addresses, the receiving computer retrieves appropriate data from the data repository in step 208, and in step 212, reconstructs the communicated information at the receiving computer.
  • step 204 If it is decided in step 204 that the sending computer is not RAPID compliant, data representing the information to be communicated is instead received via transmission in step 210. and interpreted conventionally in step 212.
  • step 210 data representing the information to be communicated is instead received via transmission in step 210. and interpreted conventionally in step 212.
  • RAPID is resident on the receiving computer in advance of the first time such data is used to construct files desired to be communicated.
  • the first visit to a unique web site by the receiving computer utilizing the present invention may produce a result in an amount of time comparable to that taken by a receiving computer using cache, even though cache could not have accomplished the same result during a first time visit to a web site.
  • RAPID addresses can point to RAPID data and thereby construct new. fresh web page content through the transmission of only an amount of data comparable to that required for a caching system to check the same web site for freshness of cached files.
  • the present invention may further be able to in effect increase the available bandwidth in telecommunications or other data transfer infrastructures, including associated interfaces, by reducing an amount of data that must be transmitted in order to communicate an otherwise much larger data file.
  • sending computers and receiving computers alike, having low baud rate data transfer means interfaced to the Internet can benefit from increased bandwidth.
  • Increased bandwidth availability permits the faster throughput of data due to less data being transmitted.
  • packet delays are reduced.
  • the receiving computer may now be limited to a greater degree by constraints of its own processing power than by limitations resulting from a speed at which data is communicated.
  • the present invention may also be used to reduce a size and improve effectiveness of conventional web cache memory in receiving computers.
  • Web page content pre ⁇ 'iously stored in conventional web cache memory can. in accordance with the present invention, be stored in part with RAPID location designators. This action can reduce the amount of data required to perform cache functions.
  • Conventionally downloaded data files stored in cache can be converted to RAPID.
  • Cache can be represented in part or entirely with RAPID permitting the elimination of redundant cache data.
  • RAPID is designed to work seamlessly with conventional data, such as GIF, JPEG and other commonly known data formats used in conjunction with Internet standards. Whether or not the entire web cache memory is converted is inconsequential to the effective utilization of a combination of RAPID and conventional cache memory.
  • Data files will preferably be interpreted by a browser as conventional data files. Thus, a file replicated from RAPID or received conventionally is not discriminated or otherwise detected by the browser. This preferably allows browsing with web sites that are not compliant with the present invention.
  • a receiving computer may further be provided with a software program that cooperates with an operating system and the browser of the receiving computer.
  • the program interfaces the operating system application programming interface through the socket being used. It intercepts communications that flow through a communications layer of the receiving computer's operating system.
  • the software may, in accordance with RAPID instructions, first extrapolate necessary data from the repository, and replicate a communicated file from the receiving computer repository. This file may be presented in conventional formats such as HTML, GIF or JPEG, or other such formatting/protocol standards as may be necessary to create the desired result on the receiving computer.
  • all requests from the browser are preferably converted to RAPID compliant data before the browser transmits a page request or other data external to the receiving computer. It is further possible, if desired, to transmit RAPID compliant data back to the sending computer, in cases where the sending and receiving roles reverse.
  • RAPID location designators and other such modified data to reference repository data rather than transmit actual data allows a reduction of the size of memory required to maintain cache. This inherently provides faster access by memory devices to store and retrieve information.
  • a RAPID compliant session is negotiated between the sending computer and the receiving computer when first establishing communication. This causes all further communications between the two computers to conducted in RAPID.
  • the present invention can dramatically reduce the amount of web cache memory required by web cache servers and web content search engines permitting faster operation of databases, and further reducing the telecommunications bandwidth for accessing and updating web cache memory.
  • RAPID that resides on a receiving computer represents a body of data which, in part or in whole, corresponds to data needed to construct a file or other data form desired to be communicated from a sending computer to the receiving computer.
  • the sending computer To cause a certain data file that corresponds to a data file that the sending computer desires to communicate to be generated on the receiving computer, the sending computer must point to portions of the RAPID repository on the receiving computer that when assembled in a designated order, constitutes the desired data file or other data form to be communicated.
  • the sending computer orchestrates the construction of this file by using RAPID location designators which point to locations within the memory of the receiving computer's RAPID repository.
  • a data file reconstructed using RAPID is correlated from an identical data structure represented by the RAPID repository on the receiving computer.
  • the bodies of data residing on the receiving computer and sending computer are in one embodiment identical, at least with respect to portions of the bodies relating to a data file to be reconstructed.
  • the sending computer need not physically possess all data in the repository of the sending computer. It is only preferable that the sending computer possesses a representation of the receiving computer ' s repository, which may be much smaller in data size, and which permits a substantial appreciation of the contents of the repository.
  • the body of RAPID repository data as a whole contains all or portions of data that is used in files.
  • the data repository has removed certain redundant data to optimize memory space required by the receiving computer. This method of optimizing memory will often lead to smaller collections, or repositories, of RAPID data and RAPID files, thereby facilitating faster memory access due to reduced data footprint within the memory of the receiving computer. This further expands applicability of the present invention to receiving computers having limited memory space.
  • RAPID is. whenever practical, organized and optimized so as not to duplicate given segments of common data. For example, if certain data segments are found in two or more locations in a body of RAPID files, decisions will be made as to whether or not to eliminate the duplication. Under optimal circumstances, it is preferable not to possess duplicated data. Such data may be referenced by the RAPID location indicators whether in one or two locations in memory. Thus, one location is sufficient.
  • the RAPID repository can also be represented either in its entirety or in part by compressed data. When represented entirely, it may be impractical to decompress the entire repository. Thus, it may be more practical to decompress only relevant parts of the repository and store this decompressed code in electronic memory, as opposed to hard disk memory.
  • the present invention may share certain goals with the compression of data.
  • the present invention is also very different from data compression in many aspects.
  • data compression compresses data by substituting mathematical algorithms for identical data segments that repeat throughout a data file. When decompressed, these algorithms are used to replace the missing data segments by reversing the process.
  • data compression is not always effective for certain types of data. For example, compression is ineffective when the data to be compressed is very random in nature, due to a fact that random data typically possess few repeating characteristics.
  • a RAPID repository can consist of data that is not readily compressible, such as due to randomness. Such files can be completely replicated using RAPID location designators.
  • compressed files posses all representative data segments needed to decompress the data at the receiving computer.
  • RAPID possesses all or most of its data segments within the memory of the receiving computer.
  • the present invention is in that sense a unique and contrary approach to the basic nature of data compression. Data compression must analyze and apply its mathematical computations to an entire data file in order to yielding greater efficiency through the discovery of more common data segment which may be substituted in a larger file. High yield compression is not obtainable in smaller data files or applications such as streaming video and streaming audio where it is necessary for the receiving computer to decompress and process such files immediately upon receiving them.
  • a RAPID repository of the present invention can yield a very small data segment as instructed by a single location designator which can be used and processed immediately by the receiving computer. Unlike data compression, no decompression is required.
  • a RAPID repository may contain flags, or data markers, in certain locations that will assist location designators in expeditiously reaching given areas of data in an efficient manner. These flags may be strategically located at the beginning and ends of data segments that are commonly accessed, or they may represent complete files. Preferably, there will be far fewer flags required than actual starting and ending possibilities with respect to all data within the repository.
  • Reconstructing on a receiving computer data that a sending computer desires to communicate to the receiving computer, without actually transmitting the data may be accomplished by instructing the receiving computer with one or more RAPID location designators.
  • location designators are small data instructions that reference the locations of desired portions of RAPID residing within the repository of the receiving computer.
  • RAPID address calls are preferably small in size relative to the RAPID files they reference.
  • RAPID addresses are approximately 100 bits in length, not including any associated network protocol information. It is possible for such an address to reference one or more RAPID files, potentially resulting in the creation of a file that includes all of the RAPID resident on the receiving computer. This is possible as RAPID calls can either reference portions of desired files or entire files, which themselves may reference other RAPID files.
  • a single RAPID address or a few RAPID addresses will reference a lookup table containing numerous other RAPID addresses within the memory of the receiving computer.
  • This feature can permit certain portions of a web page, and in some circumstances, an entire web page, to be reconstructed from within the receiving computer. This is accomplished by building a hierarchical database that possesses all locator address and other data such as index pages, etc., needed to reconstruct a web page.
  • Such a database preferably requires one or a small number of addresses that point to other sub-locator addresses.
  • the present invention allows the receiving computer to check each file for freshness. Furthermore, RAPID does not need for a session to be established to validate each file, as only instructions may change for this data.
  • the receiving computer may construct new files from its RAPID and need not use RAPID address calls from cache. In these circumstances, no new additional data files need downloading if the new data required is already resident in the receiving computer ' s memory. Thus, it is possible for the data within an entire web page to change and not require the transmission of any new data files, only new RAPID addresses constituting slightly more or slightly less data than the previous RAPID address.
  • RAPID may be received from portable memory media such as a compact discs, tapes or SuperDisks, perhaps using high density memory storage means such as ZIP; from memory within an internal architecture of the receiving computer, such as solid state memory or hard-disk; from an interface to a sending computer with RAPID over a network such as the Internet or other such networks external to the receiving computer's location; or any other desired communication means.
  • portable memory media such as a compact discs, tapes or SuperDisks, perhaps using high density memory storage means such as ZIP
  • memory within an internal architecture of the receiving computer such as solid state memory or hard-disk
  • RAPID may be received from an interface to a sending computer with RAPID over a network such as the Internet or other such networks external to the receiving computer's location; or any other desired communication means.
  • RAPID on a compact disc as a supplement to RAPID previously installed from one or more other compact discs or other sources containing RAPID.
  • the RAPID currently on a hard disk of the receiving computer for example, can be used together with the RAPID on the one or more compact discs, thus effectively utilizing the entire non- redundant RAPID contents without a need to run or install all RAPID content individually.
  • the present invention provides the ability to anticipate content changes of a web page in advance of its desired viewing by an operator of a receiving computer.
  • web sites are maintained by organizations that operate in a manner comparable to publishing organizations that issue printed publications.
  • many of these organizations know all or a large part of their publishing material in advance of the actual posting of such material to their web sites.
  • Information likely to be known in advance includes relatively large data objects such as GIFs. JPEGs and other image files. These files are less likely to change than text.
  • the date/time clock of the receiving computer or a small address/command from the sending computer is used to cause the receiving computer to substitute old RAPID files with new RAPID files or insert new RAPID files that will be available for immediate use at the appropriate time.
  • RAPID files will in some circumstances be reserved for larger data files such as graphics and multimedia files.
  • Smaller data files such as text which, in many cases, represent the most dynamic body of total web page content, can be downloaded real-time if desired. Download of text is often fast enough that an average page of text may be generated in approximately the time it takes to effectively generate and format a number of RAPID objects on the screen of the receiving computer. Thus, the short time lapse required to generate the resulting screen display for a web page will give the impression to the operator of the receiving computer that a very fast download has occurred.
  • a central repository of RAPID files, RAPID objects and RAPID addresses, based on a current state of web page content of web page sending computers using RAPID may be maintained on each receiving computer.
  • These sending computers may be continually polled regarding available updates by a receiving computer practicing the present invention.
  • sending computers may self-initiate actions to provide updated RAPID files, RAPID objects and RAPID addresses.
  • These updates are processed by receiving computers in part by considering certain priorities such as time sensitivity factors, size of files, type of data, and classes of web site of sending computers.
  • RAPID files, RAPID addresses and RAPID fragments, once accumulated and processed in the aforementioned manner, are transmitted either by initiation of the sending computer or the receiving computer, to update RAPID within the RAPID repository of the receiving computer.
  • ISPs It is not essential that ISPs retain complete sets of RAPID files and data objects to provide effective requests for RAPID compliant web sites. It is only preferred that the ISPs possess and timely maintain current RAPID addresses to correspond with RAPID files resident within the memories of receiving computers. As such, an ISP web cache memory can be substantially reduced in content by using the comparatively smaller RAPID addresses, and to a lesser degree than conventional data files, data objects and RAPID files. Transmission of these addresses can be accomplished with substantially reduced data transmissions. This may be an advantage of providing a central repository to update receiving computers and ISPs. Otherwise, downloads of entire web page contents would be required to update cache memory. Furthermore, conventional cache utilized by ISPs is typically passive, which requires a data file to pass through the cache in order to update its memory. However, the data repository of the present invention could proactively update the ISP cache with RAPID address calls in order to provide continuously fresh data and substantially conserve back-end bandwidth. The repository would be substantially fresh due to the update polling and receiving utility described above.
  • RAPID may use placeholders for information such as a company's logo, including files such as GIFs and JPEGs. Immediately after such a file has completed its download, the placeholder will switch to the intended file.
  • RAPID files resident within the memory of the receiving computer are occasionally modified, deleted and/or substituted automatically upon the initiation of the sending or receiving computer. This action will preferably, but not necessarily, depending on the sophistication of the operating system and other relevant features of the receiving computer, occur without hindering an operation of programs in current use by the operator. For example, updating may occur in the background. Alternatively, updating of RAPID files may be scheduled during times when the receiving computer is not otherwise actively transmitting or receiving data, as discussed below. This may be useful in preparing RAPID files for first time visits to web sites, or to maintain freshness of changing web sites. This can be performed through a data depository or directly from the sending computer.
  • an intermittent data file push may be used to permit a receiving computer to accept a data push for continuous or non-continuous time periods. This allows the receiving computer to update RAPID while intermittently transmitting or receiving data files, such as from a different web site, and during idle transmission periods with respect to a web site conducting the update.
  • a possible advantage of an intermittent data file push may be that the receiving computer operator is able to continue browsing the Internet without the need to be directly connected with a web site pushing the data file. The operator may also connect to other sites.
  • the intermittent data file push method may also be used to download other files that are requested by the receiving computer such as software program applications. As such, the receiving computer operator can continue to browse to other web sites while receiving the software program application download intermittently during idle data transmission lapses and interleaved with the data of the web site currently downloading.
  • RAPID fragmentation is used to reduce a data size of transmitted files, thereby resulting in reduced data transmission times during real-time downloads of RAPID files.
  • RAPID fragmentation substitutes or supplements only selected portions of RAPID files, thus utilizing the remaining portions of the exiting RAPID and eliminating the need to replace RAPID in its entirety on the receiving computer.
  • RAPID fragmentation By only transmitting fragments of a data file that in effect, change the appearance, state or function of a file, less data is required than to transmit an entirely new data file.
  • a graphics data file containing a representation of one predominate flower in a floral bed.
  • a fragmented RAPID can cause the substitution of only the one flower and not the background containing a bed of other flowers, the ground, the sky, etc.
  • the data file needs only to change the one focal flower.
  • Updating in this manner may in many cases reduce the amount of data required to be transmitted, as compared to transmitting an entire replacement data file. Because graphics designers and others responsible for designing and maintaining web sites compose graphics with a knowledge of data file optimization, fragmented RAPID can be designed for data file size optimization and can thereby achieve dramatic data file size reductions.
  • RAPID addresses transmitted by sending computers are small enough to minimize a size and number of TCP/IP packets transmitted.
  • routers may prioritize the routing of packets based on their size, total number of related packets, and bandwidth availability of a number of given paths through which data can be directed.
  • RAPID addresses and RAPID files are uniquely identified in a manner that may in some circumstances, lead a router to identify related packets as unrelated. This will cause the router to direct the data addresses to a path within the network that is faster than a path that may otherwise be chosen by the router.
  • RAPID files can be fragmented into smaller sets of data files, a real-time network test determination can be made by the sending computer to determine whether it is faster to parse the RAPID file into smaller data files to accelerate the delivery of the data, or rather tosend the RAPID file intact. Depending on conditions of transmission, a further decision can be made to instruct a router to send the RAPID on a predetermined path or transmit the file conventionally leaving the determination up to the router.
  • intercepted transmissions may include only these address calls, which by themselves will be meaningless and useless without the corresponding matching RAPID files referred to. As such, it will be difficult for unauthorized and unscrupulous observers of transmissions to match unknown RAPID with the observed addresses transmitted. This acts to prohibit any remote representation of the data intended to be communicated to the receiving computer unless the observer has in its possession the matching RAPID body from the specific receiving computer.
  • RAPID files with RAPID address calls by sending unique RAPID address calls. This is accomplished by uniquely configuring the RAPID resident on each receiving computer, causing the RAPID address calls to be unique for each receiving computer.
  • RAPID files Due to a threat of viruses, it may also be desirable to screen, in advance, the RAPID files resident on a receiving computer, for viruses that may reside in a memory of the receiving computer. As such, potentially infectious data viruses that may otherwise be present and undetectable in new data files downloaded from a sending computer may be detected. Additionally, because the resident data files are pre-screened and are often installed via non-bandwidth consuming media such as compact disc, RAPID files will be less vulnerable to online intervention through the communications network. Since realtime screening will not be necessary for the construction of RAPID files on the receiving computer, the present invention leads to a further desired result that the receiving computer will be inherently faster.
  • certain RAPID files may be classified as common and used in the programming of web pages, for example, compatible with the RAPID system. Providing that the files used in the construction of web sites generally comply with the data resident in the receiving computer, these webs sites can construct any combination of these types of sites with a virtually unlimited number of receiving computers.
  • Certain RAPID files may be classified as matriculated data files, and are preferably used with a select fewer number of web sites. These files may constitute such objects as copyrighted corporate logos or designs. These matriculated objects can also serve as common objects to a number of web site pages within a designated web site. Like common data files, once modified, each data file will effect each occurrence of the data file as it is used, and thus will reduce the amount of data required to update or modify the web site on the resident memory of the receiving computer.
  • data representing a file may. if desired, be stored at a higher than necessary resolution.
  • a GIF file for example, once constructed by RAPID could be resized and reshaped according to specific instructions from a sending computer. This would eliminate the need to store variations of the same file within the same RAPID body. Since the GIF would already be resident on the receiving computer, the fact that it may at times be displayed at a higher resolution would be inconsequential to bandwidth consumption.
  • correlated RAPID files may be resident within the memory of receiving computers, larger and more complex files are possible than might otherwise be deemed practical for download from a web site, particularly in cases of a slow data transmission interface.
  • Increased data file size yields such advantages as greater graphic resolution, fuller bodied stereo sound effects, sharper video at more frames per second than smaller data files, etc.
  • the present invention further provides for comprehensive web page content searching (either supplementing on line searches or offline) by providing identification labels for numerous types of data, including graphics, video, audio and text, within RAPID repositories.
  • RAPID may further contain separate summary descriptions of web sites for generalized searching.
  • the present invention provides for offline interaction with any number, depending on a size of a RAPID repository, of web sites. For web sites that possess address tables permitting the assembly of all inter-related RAPID files needed to construct a web page, the web site can be reconstructed without the need for an external data transfer connection. Unlike web cache memory, these web sites can be reconstructed without prior downloading during a first time visit. Even without a connection present, the present invention can thus give the appearance to the receiving computer operator of connected, updated pages by substituting such dynamic aspects of the web pages as a current time and date.
  • the present invention can permit offline searches of RAPID files consisting of web page content. Because RAPID is resident on the memory of, or otherwise accessible by, the receiving computer, searching can be performed while not connected to any external data communication means. Additionally, if searching is performed while connected to and interacting with a web not having a search engine content, the receiving computer operator does not need to interrupt the Internet session to visit such a site. The operator can simply perform a search via a pop-up menu, for example, that in one embodiment is displayed over a top of an existing application on a computer screen. Searching using data mainly present on the receiving computer will save bandwidth and eliminate network latency in waiting for responses.
  • the present invention is not limited to storage of RAPID internally to a receiving computer.
  • RAPID may also reside on, for example, a LAN or WAN sending computer or server or proxy server, subordinate to a sending computer interfaced with the Internet.
  • all non-discrete receiving computers may retain little or no RAPID, thus relying on the high-speed network interface between the LAN sending computer and the receiving computer to transmit full data files. This is particularly useful for local networks suffering from bandwidth limitations.
  • the LAN sending computer may retain all or part of the RAPID files, thus permitting one central repository, thereby conserving memory and processing resources on the receiving computers.
  • LANs and other such networks can further be used to passively communicate data from a sending computer to a receiving computer in accordance with the present invention at much higher speeds than many other data transfer means, leaving significantly more bandwidth available for other transmissions.
  • RAPID files can be transferred from the LAN sending computer to the receiving computer without speed degradation discemable to the receiving computer operator.
  • portions of RAPID can reside on numerous receiving computers within the LAN, with the aggregate thereof representing the total body of RAPID. This body can then be called upon automatically by other receiving computers, which can share their RAPID with the other computers, thus permitting the aggregate of all resident RAPID on the LAN to create the functional equivalent of a very large local hard drive.
  • Using the present invention it is possible to provide a computer operator with a selection of web sites to choose from which are RAPID compliant, and therefor offer shorter download times.
  • This selection may be provided when the operator attempts to visit a web site that is not RAPID compliant. In one embodiment, this is accomplished when the receiving computer operator enters a URL address into a browser. Apart from a resulting attempt by the browser to connect to a corresponding site, this further preferably causes the RAPID database to search for web sites similar in content and present such alternative RAPID compliant web sites to the operator. This presentation may take a form of a pop-up window in front of the current operating software, or other suitable forms. Any of these RAPID compliant web sites selected by the computer operator will likely offer a faster download in lieu of the choice. This scenario will preferably apply to web site content searches performed both while connected to the Internet and during offline operation.
  • RAPID can accumulate and tabulate searches and other actions, such as Internet browsing activity, at the receiving computer, or on a private LAN, for example.
  • the receiving computer can contribute its tabulated information entirely anonymously or partly anonymously, to entities on the Internet requiring or desiring such information.
  • tabulated information such as relates to personal preferences of the computer operator may be useful to external entities.
  • the dissemination of such personally identifiable information raises numerous personal privacy concerns.
  • web browsing habits can be tracked and interpreted immediately at the receiving computer, leading to data that can be used to, for example, serve appropriate advertisements from RAPID stored on or accessible by the receiving computer.
  • focused advertising may be accomplished quickly and without releasing personal information external to the receiving computer, thereby retaining the privacy of the computer operator.
  • users may be given an option to exclude certain behavior, such as the browsing to web sites of a certain subject matter, from their personal profiles. If it is thereafter desired to share marketing data, the data can be shared in an anonymous manner.
  • advertisers may be charged for the storage of their ads in RAPID on receiving computers, based on a potential that such ads will meet a particular user's preferences and thereby be served thereto.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A system and method for data communication allowing a first computer to communicate information to a second computer via a set of instructions that correspond to data files residing on the second computer. The first computer is thereby able to cause a desired result in the second computer through transmission of these instructions, the transmitted instructions representing less data than would otherwise be required for communication of the same information.

Description

System and Method for Improved Data Communication
Background of the Invention
Field of the Invention
The present invention relates generally to data communications. More specifically, the present invention relates to a system and method for increasing a speed and efficiency of data communication in networks by reducing a-quantity of data that must be transmitted.
Related Art
Computers today largely depend on external communications to send and receive information used to communicate news, send and receive constructed operator-specific information such as e-mail, remotely operate software programs, upload/download data files, install software programs and a myriad of other functions. In recent years, a dramatic increase in utilization of the Internet has greatly increased a need for improved external communications in computers for personal, business, and other uses. This is true for hardwired telecommunications, as well as satellite, cellular and other wireless communication means as well.
The Internet is a global network interconnecting a great number of smaller computer networks. The Internet includes government, education, and business computer networks, and is generally available to the public. The Internet facilitates many types of transactions, including the operating of computers from remote locations, transferring files between computers, etc., by providing a standardized protocol to read and interpret such data on remote computers. These transactions are largely supported by Hypertext Transfer Protocol (HTTP) and Transfer Controlled Protocol/ Internet Protocol (TCP/IP), which facilitate the transferring of data files containing text, pictures, sounds, video, etc. Information contained within the Internet network includes collections of data files that in part represent Web pages, groups of which constitute Web sites. Individual Web pages are typically identified within a network by Uniform Resource Locator addresses commonly referred to as URLs. Programs such as Web browsers that are compatible with a data format used in various transactions may be used to transmit data files and interpret received data files in a receiving computer.
Included in the networks that make up the Internet is a sub category of computers referred to as Local Area Networks (LANs), Wide Area Networks (WANs) and the like. These are computers interfaced with each other by means of a commonly utilized design architecture. Like other computers that require external communication means to interface with the Internet, these discrete computers also require external communication means. However, unlike the comparatively slow, less than 56 Kilo Bits Per Second (KBPS), analog interfaced, Public Switched Telephone Network (PSTN) access methods utilized by the vast majority of computers for the Internet, LAN and WAN interfaces are often digital and may operate at much higher speeds, commonly in the Mega-Bits Per Second (MBPS) range between a LAN receiving computer and a LAN sending computer. In some circumstances, LAN sending computers (often referred to as hosts or servers) are interfaced to external data communications at single points, which permit transmission of external Internet communications from the sending computers to numerous discrete LAN receiving computers. This eliminates the need for multiple external communication interfaces. In should be noted, however, that data communications for LAN servers are often relatively expensive and sophisticated digital means such as high bandwidth T carriers (1.544 megabit per second (MBPS)), which are costly, and not as readily available and/or practical for use by a vast majority of receiving computers owned and operated by the general public. It is these faster and more sophisticated interfaces that provide sufficient bandwidth to permit Internet communications with several simultaneous discrete LAN receiving computers through a single point at the LAN sending computer. But depending on the number of discrete receiving computers accessing the Internet simultaneously, even with a high speed interface, the time required to receive data can be just as long as on its slower PSTN counterpart.
Although currently used less often, another means of external communication used is wireless. For most experts monitoring future advances and predicting trends of technology in this field, it is generally anticipated that wireless technologies will dominate and will shortly become the preferred delivery method for Internet-related data transmission. These forms of communications rely on either line-of-site microwave/infrared methods or non-line-of-sight lower band radio frequency methods to communicate. Line-of-sight methods are inherently faster, permitting in the case of microwave transmissions data transmission speeds in the megabit per second range. Conversely, lower band radio waves penetrate obstacles like building structures and are more practical for common use with regard to installation costs and portability. Low frequency band radio waves are commonly used with portable receiving computers to transmit data over cellular technologies (considered medium range) but are limited to much lower baud rates. Transmission speeds are more typically in the hundreds of bits per second or low thousands of bits per second range, due to processing of the often attenuated and/or interference-laden signals received. Another line-of-site method used to communicate involves light emitting infrared bands that can transmit data at very high speeds. However, this method is severely restrictive due to distance and accurate line-of- site positioning and is not considered portable.
Additional issues pertaining to limitations of communications methods relate to a processing ability of receiving computers. While communication methods may be insensitive to an amount or type of data transmitted, that is, the representative "on" and "off state (e.g. "zeros" and "ones"), receiving computers on the other hand are extensively affected by the amounts of data received and the time which is expended in receiving and processing the data in order to achieve a desired result. A desired end result of many transmissions is the display of information on a display screen of a receiving computer. It is important to note that the time it takes to reach this result includes processing time by the sending computer and the time it takes to create the display. If communications are fast (as in high speed digital telecommunications) but the receiving computer is slower to process data than it is to receive it, then in effect, the fact that the communication means is faster does not lead to enjoyment of any speed advantage by the receiving computer operator. But this is rarely the case. While there remains a vast number of antiquated receiving computers (in the tens of millions) that download complex graphics and application programs from the Internet, taking substantial added time to process the data locally and act on the data once received, these computers still typically process the data faster than they receive it. This is due to the slowness and other limitations of the analog PSTN.
The vast majority of Internet use routinely transmits comparatively large data files via relatively low baud rate communication methods. This typical communication range is 9.6 kilo-bits per second (KBPS) to 14.4 KBPS or 28.8 KBPS to 56 KBPS. The present day state of the "last mile" telecommunications PSTN substantially limits the effective delivery of data to a maximum baud rate not to exceed 56 KBPS. At a time of this writing, the average national baud rate connection to Internet Service Providers (ISP or ISPs) through common PSTN as published and surveyed by the Pacific Bell Telephone Company, is approximately 29 KBPS. This takes into account all higher speed communication methods such as xDSL and ISDN (later described) as well as lower speed communication methods such as through dial-up connections. With a lower baud rate connection, for example, a 56 KBPS analog modem commonly negotiates a connection of 14.4 to 36.8 KBPS connection, due in large part to either the condition of the internal customer premise telephony circuit and/or the condition of the outside telecommunications PSTN plant.
Still, there are a variety of higher speed communications methods including Asynchronous Digital Subscriber Lines (ADSL). Integrated Services Digital Network (ISDN), Digital Broadband Cable. T carriers, and a number of other specialized high speed data communication delivery methods which are comparatively very limited in availability due to limitations of the PSTN or other infrastructure constraints. These aforementioned methods are costly to implement and require extensive telecommunication infrastructure changes by the telecommunication companies and to a lesser degree, changes to the customer premise circuit and customer premise equipment. ADSL, ISDN and Broadband Cable are the most commonly utilized data communications methods for residential high-speed applications, where available from the telecommunications provider and financially feasible. However, these methods are comparatively rare in availability and often the expense incurred by telecommunication companies to install these communication methods will largely restrict availability to non-metropolitan areas within the foreseeable future. Many industry observers claim that only a relatively small fraction of the population will adopt such high-speed telecommunications within the next ten years.
With the average national data transfer baud rate of access providers at 29 KBPS, it is very burdensome for the average receiving computer to download large data files over the Internet. Increasingly, the Internet is transforming into a commercial Mecca. Businesses are faced with intense competition for their web sites. One competitive response to intense competition is to visually differentiate the web sites of various businesses through increased utilization and enhancement of graphics, animation, audio, and increased amounts of information. All of these strategic tactics substantially add to the amount of data needed to transmit a web page and its contents. Often, such a comprehensively designed web site with a data connection with baud rates approximating the average of 29 KBPS could take more than one minute to download and fully display on the receiving computer screen. To illustrate this further, downloading a 96 kilo byte (KB) web page, using a 29 KBPS analog PSTN connection with a data transfer rate of 1.6 KBPS, will take approximately 60 second to complete the download.
Software applications in the receiving computer such as web browsers often provide the ability to integrate cache memory methods to store entire or partial contents of web pages from recent downloads for faster future retrieval. The browser is a program that accesses, displays, and navigates data files constituting web pages and other data transmitted from sending computers by communicating with them over the Internet. Cache is an allocated memory subsystem that preserves recently downloaded data for quick future access without the need to download the data a second time. Cache memory stores the contents of frequently accessed web pages, for example, or those web pages specially designated for storage and retrieval, and the call addresses where these data files are stored within the memory of the receiving computer. When a URL is requested by way of input from the computer operator, the receiving computer references a call address in memory. Its cache then checks to see whether it holds that address. If the cache memory of the receiving computer holds cache memory associated with that address, the memory (web page contents) is checked against the file in the sending computer for freshness. If fresh, the data file is returned from cache memory of the receiving computer instead of receiving the entire file over telecommunications. If the receiving computer's file is old or stale compared to the sending computer, a download of the old file must be performed from the sending computer to the receiving computer.
Web cache memory is most useful under two conditions; first, when the telecommunication or transmission method is slow as compared to the microprocessor speed of the receiving computer; and second, when bandwidth savings is a priority. These web cache memory methods will offset and defray both the effect of slow communications and internal processing of received data by the receiving computer thus consuming less bandwidth. However, cached web pages are stored only after first receiving a web page download. Thus, web page cache memory cannot be used for first time downloads. Additionally, if the sending computer's web page contents have changed since the last download preserved by web cache, the browser software of the receiving computer will instruct the sending computer to download a fresh version to replace the stale web page contents once again for storage into memory. Depending on the options selected by the user within the browser, an entire page could be forced to download instead of merely the affected file portion, thereby further slowing the download of a page, in spite of the fact that nearly all content of the web page (perhaps the only difference is a date/time stamp) has already been stored in cache and is fresh. Furthermore, the browser program commonly only stores a limited number of these cached data files because the receiving computer often does not have the memory capacity, whether solid state or hard drive storage, to accommodate too many of these web pages. Thus, only a few routinely visited web pages are practical to retain in web cache memory.
To access the Internet, receiving computers commonly interface data communications means with an access provider, often an Internet Service Provider (ISP). The ISP is a method that supplies Internet connectivity services to individuals, businesses, and other organizations. ISPs principalh' connect slower analog PSTN networks to higher speed backbone networks. Some ISPs are large national or multinational corporations that offer access in many locations, while others are smaller ISPs that offer services to a single city or region.
Intermediary devices that are critical to the data communications stream of the Internet network are hubs, bridges, gateways, repeaters, and routers. These devices are intrinsic to the efficiency of data traffic within the Internet data communications network. Mostly, these devices link the myriad of networks together and manage and expedite data delivery. On a single network linking many receiving computers and sending computers through a myriad of possible connections, a router receives transmitted messages in the form of data packets and forwards them to their correct destinations. Under certain routing protocols, the same paths need not be used each time. This allows the most efficient available route to be taken.
The ISP is inherently a contiguous component of the Internet as is the router. Data that flows to the ISP from the sending computer and which is destined for the receiving computer is received by the ISP at substantially higher transmission rates than those at which data is transmitted to the receiving computer. Further, data transmitted from the sending computer to the ISP is often delayed due to network traffic and server latency. The data communications and bandwidth bottleneck for the ISP and the Internet principally lies in the connection between the ISP and the receiving computer. To reduce network delays and the amount of bandwidth needed to send and receive data from a sending computer to the ISP. the ISP utilizes web cache in a method similar to that used in the browser of the receiving computer, as discussed above. It is noteworthy that in circumstances where the receiving computer is interfaced via a high speed connection to an ISP, the speed constraint becomes the data path from the ISP to the sending computer and not between the ISP and the receiving computer.
A large number of the representative body of sending computers connected to the Internet are small businesses or individuals who do not have access to, or cannot afford the expense of, high-speed data communication connections. In these cases, web page cache memory at the ISP is essential to minimizing the speed degradation for such inbound telecommunications because of the slow baud inbound rates of sending computers.
To decrease the affect of sluggish performance of the receiving computer due to slow data transfer, some sending computers are capable of transmitting information automatically at a request of the receiving computer or sending computer. This method is generally known by those skilled in the art as "push" technologies if initiated by the sending computer and "pull" technologies if initiated by the receiving computer. In discrete networks and the Internet, data can be automatically sent during non-waking hours and non-peek operational hours, thereby decreasing data communication latency caused by real-time downloads. Furthermore, in the case of single residential PSTN line use, "push" methods can transfer data during non-waking hours freeing up telephony service needed by the resident during waking hours.
Data communications that transmit over the Internet pass through numerous unsecured networks that are readily viewable and interceptable by potentially unscrupulous persons who can utilize such data for unlawful or harmful practices. This is largely because the Internet protocol is an open architecture, readily understood and decipherable by anyone knowledgeable in the field. Only intentionally encrypted messages transmitted and formatted for purposes of transmitting sensitive data, such as credit card numbers, are reasonably safe from unscrupulous intervention and related unlawful use of such information. While it would serve some advantage to protect receiving and sending computers on the Internet by encrypting all transmissions, as a practical matter it would be infeasible since encryption of this type can add significant additional data bits to transmissions. Often, these transmissions cannot be interpreted by the receiving computer in a timely manner due to the additional processing required to decipher them. If all transmissions were encrypted, this would further burden an already sluggish Internet.
Computer viruses are a troublesome concern and can be extremely damaging to users of the Internet. Viruses arise from the intentional embedding of malicious intervening software code that is concealed in what are otherwise considered to be safe, legitimate data files. These files invade the receiving computer under the guise of a legitimate download from a legitimate sending computer. To be a computer virus, such code needs only meet two criteria. First, it must be executable, often through placement within the path of execution of another program, or through self-execution. Secondly, it must replicate itself by, for example, copying itself to other executable files or to storage disks of the receiving computer. Because these viruses are embedded in software code that is downloaded from the sending computer to the receiving computer as a complete file, there is no practical way of detecting the virus unless the receiving computer has a software program that can identify the virus by matching it to identical known code or certain virus profile characteristics resident in its virus scanning program. If the virus scanning program does not have the matching virus to compare the newly downloaded code to, the virus will invade the receiving computer and likely cause damage to its software or hardware.
To summarize, the state of the art in the field of data communication suffers a number of disadvantages. Pertaining to data communications, particularly with respect to such networks as the Internet:
(a) The most widely available data transfer means (analog PSTN) cannot provide a sufficient data baud rate or bandwidth to provide acceptably rapid data communication, such as with regard to web page downloads. Often, web page download times exceed those desired and expected by operators of receiving computers.
(b) Web page download times continue to increase as web sites become increasingly complex.
(c) Advances in available telecommunications, data compression and other means of increasing data delivery rates to receiving computers fail to provide rates that meet the expectations and satisfaction of operators of receiving computers.
(d) Compressed data reduces data transmission times, but at the same time increases processing time due to decompression time necessary to produce deciphered data. (e) Data encryption methods add to processing time at both sending and receiving computers, thereby adding to a total time required to transmit web pages or other data.
(f) A processing speed of a vast majority of present day receiving computers is substantially greater than the speed at which complex data may be received from web site servers.
(g) Due to speed constraints of PSTN telecommunications networks, commercial web sites are often limited in the application programs, the amount and resolution of graphics, and other improvements and content that they may provide to effectively compete with and differentiate from other web sites. As a result of increased complexity of a particular web site, an operator of a receiving computer with a slow communications connection is likely to become impatient and irritated at the business presenting the web site. This may cause the operator to drop the site, visit another site or express dissatisfaction with the business.
(h) Cached data files often need to be re-downloaded in their entirety, perhaps due only to minor changes. A connection must also be made with the sending computer verifying freshness of data files.
(i) Data stored in cache memory must first be downloaded before it can be stored and retrieved for future use.
(j) Web cache memory requires large amounts of data storage, which often contains redundant and stale data files, in order to maintain a useful collection of data corresponding to web sites that may potentially be visited in the future. (k) Working offline (while not connected to telecommunications means) causes data to be retrieved from cache memory, and not by comparing the memory for freshness to actual web site data files. Thus, up-to-date information cannot thereby be provided.
(1) Data push methods for single PSTN lines interfaced with receiving computers require too much time to update web pages during waking hours and must be performed during evening or non-waking hours. This practice limits the timeliness and freshness of the web page information due to the age of the content. This practice also consumes unnecessary bandwidth and leads to an inconvenience for operators of receiving computers.
(m) Widely used medium-range wireless data communications (often Cellular and radio band technologies) are too slow and expensive to allocate adequate bandwidth to effectively afford receiving computers wireless portability for receiving web pages from sending computers over the Internet.
(n) Proxy servers of interfaced LANs perform centralized web page cache functions for a number of receiving computers connected to the LAN and subordinate to the proxy server. The performance of such proxy servers suffers the same limitations as does cache on receiving computers that are independent from such LANs. Furthermore, with respect to LANs and WANs and other data communication networks that typically have higher speeds than their analog counterparts, the transmission of graphics, video, sound and software programs can bring about severe speed degradation due to the volume of data for subordinate receiving computers interfaced to the network. Because of the importance of bandwidth, higher speed networks can suffer adverse speed effects similar to those suffered by dial-up analog PSTN networks. (o) New computer viruses, or varying strains of older viruses, can be hidden within data files and may not be discovered by virus scanning programs due to uniqueness of the viruses and a resulting failure of matching code detection means of virus scanning programs.
(p) Privacy is a widespread concern amongst Internet users and is an issue that is inherent in networks. One proposed solution is the use of such measures as data encryption. However, encryption and decryption require processing time as well as additional data, thereby slowing performance of receiving computers. For conventional web page downloads, this slowed performance is unacceptable to many computer operators.
(q) ISPs must maintain large cache memories in order to facilitate faster downloading of web page content from web sites from the ISP to the receiving computer, and in the interests of network latency, backend bandwidth and cost.
(r) Receiving computers require large amounts of web cache memory which is useful only for retrieval of web page content that has not changed since the time when the data was initially stored in memory. As can be readily appreciated, what is needed is a means to communicate relatively large amounts of data while actually transmitting smaller amounts of data. For example, it would be desirable to be able to communicate a complex web page containing numerous relatively large data files from a sending computer to a receiving computer without having to transmit all of the data that makes up the web page. Summary of the Invention
The present invention is system and method for communicating data from a server, or sending computer, to a client, or receiving computer, without the necessity of transferring an entirety of the data. In accordance with the present invention, a sending computer transfers to a receiving computer that has relatively immediate access to data necessary to generate a desired result in the receiving computer, enough information to generate that result from the accessible data.
In one aspect, the present invention provides a data communication system having a sending computer, coupled to a data repository, for transmitting instructions that describe a communication with reference to the data repository. The system further includes a receiving computer, coupled to the sending computer, for interpreting the instructions with respect to the data repository and determining from the interpretation content of the communication.
In another aspect, the present invention provides a method for communicating information between a server and a client computer. The method includes receiving at the client computer a set of instructions from the server that reference discrete portions of data accessible by the client computer. The set of instructions defines the communicated information with respect to the data. The method further includes reconstructing the communicated information on the client computer from the set of instructions and the data. Brief Description of the Figures
FIG. 1 is a block diagram of an embodiment of a system of the present invention. FIG. 2 is a flow diagram illustrating one embodiment of a method of the present invention.
Detailed Description of the Preferred Embodiments
Overview
The present invention allows a first computer to communicate information to a second computer via a set of instructions that correspond to, or cause the locating and retrieval of segments of, data files residing on the second computer. When retrieved and organized, these data files constitute, in its entirety, the information desired to be communicated. The first computer is thereby able to cause a desired result in the second computer through transmission of these instructions, the transmitted instructions representing less data than would otherwise be required for communication of the same information.
This may be accomplished by comparing the instructions from a first computer, perhaps a sending computer, to Randomly Accessible Para-Integrated Data (hereinafter referred to as RAPID), stored in a data repository on the second computer, the receiving computer, in accordance with the present invention. Preferably, the sending computer knows the contents of the data repository, such as through identification by the receiving computer of a version of the repository it possesses, or other means. From this identification, the sending computer may reference a replica of the receiving computer's RAPID repository and analyze this code for correlation to portions of data the sending computer desires to communicate. The sending computer may then build an instruction set consisting of addresses, or other data designators, that reference the code to be harvested from the receiving computer's repository in order to replicate the data desired to be communicated by the sending computer. Thus, the present invention involves a method not of data compression, but rather of data manipulation, although it nonetheless leads to similar results as the compression of data.
The repository code, in one embodiment, is a separate body of data residing within a receiving computer for harvesting purposes and within a sending computer for comparison purposes. The sending computer version is preferably an accurate representation of the receiving computer's repository, although it need not, in terms of bit- by-bit information, include all of the data. It is only desirable that the sending computer knows the pertinent contents of the receiving computer's repository. It is also feasible that any data resident on the receiving computer that can be replicated with the matching data on the sending computer and that the sending computer intends to replicate on the receiving computer, can be used as part of the repository.
As an example, discrete files such as GIFs and JPEGs are easy to identify and can be used as part of the repository. Thus, a receiving computer could communicate that its repository version includes these files, whether part of the cache memory or other memory. As such, it is possible to harvest any GIF or JPEG at the request of an independent sending computer for the purpose of replicating desired data on the receiving computer, even though such GIF or JPEG files were intended for other uses. To illustrate further, data files relating to another web site and its respective web pages that were previously stored on the receiving computer either in cache memory or otherwise, can be readily considered as part of the data repository which can be harvested in part or whole for use in replicating an unrelated web page. Furthermore, portions of these files and other bodies of data unrelated to the repository can be used. These bodies of data could include portions of text files, certain organized and unorganized data, and executable software programs, for example, that can be readily identified by their version identification numbers.
Constructing an instruction set needed to replicate a file or other data on a receiving computer may consist of a number of different elements, predicated on a condition of the data repository. In some cases, an entire file can be harvested with only one address pointing to a singular location within the repository, or header information of a file within cache memory, for example. Other files may need a combination of locator addresses, supplemental code represented identically as it appears within the file (commonly compressed to further minimize bit transmission size), and/or commands to cause to certain actions to be performed within the receiving computer. This creates an instruction set that will harvest, where possible, data from within the receiving computer, avoiding the actual transfer of data that would otherwise need to be transferred. At the same time, the harvesting process may be supplement with the transfer of actual data where the alternative of transmitting addresses instead would lead to a greater net data transmission than would transmitting the data itself.
The data repository may also include a series of unrelated data strings which by itself, represents a plethora of combinations of zeros and ones. When a sufficient amount of data can be identified within the repository of the receiving computer, this data can be used in lieu of transmitting the actual strings of data. Again, as a practical matter, this method is preferable when, as is often the case, the total amount of data transmitted in the form of address pointers corresponding to the desired data to be replicated would be less than that required to transmit the actual data. System, Method and Apparatus of the Present Invention
The present invention may be used to dramatically reduce a number of data bits required to be transferred between a sending computer and a receiving computer in order to produce a desired result in the receiving computer. The reduction in data bits may further lead to a reduction in the time required, in contrast to conventional means, to download a web page, a file, or other data forms. In one embodiment, this may be accomplished by transmitting from the sending computer to the receiving computer relatively small addresses or other data location designators that correspond to the RAPID repository. RAPID, at least in part, preferably takes the form of discrete files and other unrelated data resident on the receiving computer.
With reference to Figure 1, an embodiment of a system 100 of the present invention is illustrated. As shown, the system 100 includes a receiving computer 110, a sending computer 120. and a data repository 130 coupled to the receiving computer 110 and accessible to the sending computer 120. By accessible it is meant that the sending computer 120 can determine the contents of the data repository 130. Thus, the sending computer 120 may be coupled to the data repository 130, may be coupled to a separate copy of the data repository 130, may be coupled to some less data intensive representation of the data repository 130, etc.
The receiving computer 110 preferably includes a browser 112 operating in conjunction with a data buffer 114 and an operating system 116 of the receiving computer 110. The data buffer 114 preferably acts as an interface between the receiving computer 110 and the data repository 130, via a repository buffer 132. The browser 112 preferably acts as an interface between the receiving computer 110 and an external communication means 118, such as a dial up connection, ISDN, etc., as will be appreciated by one skilled in the art. Through the external communication means 118, the receiving computer 110 is coupled to a network 140, such as a LAN. a WAN, the Internet, etc. The sending computer 120 is also coupled to the network 140 in this embodiment.
Referring next to Figure 2. a flow diagram illustrating an embodiment of a method 200 of the present invention is shown. In step 202, a connection is made between a sending computer and a receiving computer. In step 204, it is determined whether the sending computer is compliant with a method of the present invention, that is, in this embodiment, whether the sending computer is RAPID compliant. If so, the receiving computer receives a set of RAPID location designators, and perhaps other data, in step 206. The location designators preferably refer to data stored in a data repository that may be accessed in order to generate information desired to be communicated by the sending computer. Based on the addresses, the receiving computer retrieves appropriate data from the data repository in step 208, and in step 212, reconstructs the communicated information at the receiving computer. If it is decided in step 204 that the sending computer is not RAPID compliant, data representing the information to be communicated is instead received via transmission in step 210. and interpreted conventionally in step 212. Of course, numerous variations of the embodiments illustrated in Figures 1 and 2 are contemplated, some of which are discussed below.
In a case where it is desired to communicate a specific complete data file, for example, from a sending computer to a receiving computer, data designators that correspond to RAPID on the receiving computer are sent by the sending computer, thereby causing certain designated RAPID resident on the receiving computer to generate the desired data file. Through the present invention, it is possible to communicate a data file such as a GIF or JPEG producing rich visual information without the need to transmit the comparatively larger conventional data file from the sending computer.
Unlike cache, which must obtain its content through data transmission, such as when a receiving computer operator visits a particular web site for the first time, RAPID is resident on the receiving computer in advance of the first time such data is used to construct files desired to be communicated. Thus, the first visit to a unique web site by the receiving computer utilizing the present invention may produce a result in an amount of time comparable to that taken by a receiving computer using cache, even though cache could not have accomplished the same result during a first time visit to a web site. Furthermore, even if the content of a previously visited web page had been cached, if any portion of the data thereon is stale (i.e. has since been updated), any usefulness of cache is negated as the web page must at least in part be retransmitted. To the contrary, RAPID addresses can point to RAPID data and thereby construct new. fresh web page content through the transmission of only an amount of data comparable to that required for a caching system to check the same web site for freshness of cached files.
In this manner, the present invention may further be able to in effect increase the available bandwidth in telecommunications or other data transfer infrastructures, including associated interfaces, by reducing an amount of data that must be transmitted in order to communicate an otherwise much larger data file. Through the present invention, sending computers and receiving computers alike, having low baud rate data transfer means interfaced to the Internet can benefit from increased bandwidth. Increased bandwidth availability permits the faster throughput of data due to less data being transmitted. In addition, because there are less packets transmitted, packet delays are reduced. Thus, in addition to the ability of receiving computers to process RAPID location designators faster than they could process an entire data file, the receiving computer may now be limited to a greater degree by constraints of its own processing power than by limitations resulting from a speed at which data is communicated.
In one embodiment, the present invention may also be used to reduce a size and improve effectiveness of conventional web cache memory in receiving computers. Web page content preλ'iously stored in conventional web cache memory can. in accordance with the present invention, be stored in part with RAPID location designators. This action can reduce the amount of data required to perform cache functions. Conventionally downloaded data files stored in cache can be converted to RAPID. Cache can be represented in part or entirely with RAPID permitting the elimination of redundant cache data. In one embodiment, RAPID is designed to work seamlessly with conventional data, such as GIF, JPEG and other commonly known data formats used in conjunction with Internet standards. Whether or not the entire web cache memory is converted is inconsequential to the effective utilization of a combination of RAPID and conventional cache memory. Data files will preferably be interpreted by a browser as conventional data files. Thus, a file replicated from RAPID or received conventionally is not discriminated or otherwise detected by the browser. This preferably allows browsing with web sites that are not compliant with the present invention.
In accordance with the present invention, a receiving computer may further be provided with a software program that cooperates with an operating system and the browser of the receiving computer. In one embodiment, the program interfaces the operating system application programming interface through the socket being used. It intercepts communications that flow through a communications layer of the receiving computer's operating system. When a RAPID compliant communication is detected, the software may, in accordance with RAPID instructions, first extrapolate necessary data from the repository, and replicate a communicated file from the receiving computer repository. This file may be presented in conventional formats such as HTML, GIF or JPEG, or other such formatting/protocol standards as may be necessary to create the desired result on the receiving computer. Similarly, when a session is set up with a RAPID compliant sending computer or server, all requests from the browser are preferably converted to RAPID compliant data before the browser transmits a page request or other data external to the receiving computer. It is further possible, if desired, to transmit RAPID compliant data back to the sending computer, in cases where the sending and receiving roles reverse.
Using RAPID location designators and other such modified data to reference repository data rather than transmit actual data allows a reduction of the size of memory required to maintain cache. This inherently provides faster access by memory devices to store and retrieve information. A RAPID compliant session is negotiated between the sending computer and the receiving computer when first establishing communication. This causes all further communications between the two computers to conducted in RAPID.
Furthermore, the present invention can dramatically reduce the amount of web cache memory required by web cache servers and web content search engines permitting faster operation of databases, and further reducing the telecommunications bandwidth for accessing and updating web cache memory. In accordance with the present invention, it would only be necessary to communicate RAPID and not the entire data files when communicating to a RAPID compliant receiving computer.
.? ,. RAPID
In accordance with the present invention. RAPID that resides on a receiving computer represents a body of data which, in part or in whole, corresponds to data needed to construct a file or other data form desired to be communicated from a sending computer to the receiving computer. To cause a certain data file that corresponds to a data file that the sending computer desires to communicate to be generated on the receiving computer, the sending computer must point to portions of the RAPID repository on the receiving computer that when assembled in a designated order, constitutes the desired data file or other data form to be communicated. The sending computer orchestrates the construction of this file by using RAPID location designators which point to locations within the memory of the receiving computer's RAPID repository. These pointers indicate where to begin and terminate harvesting of data which, when numerous segments thereof are assembled in an appropriate order, can constitute an entire data file, which corresponds to the data file or other data form the receiving computer desires to communicate to the receiving computer. The order of RAPID is not relevant to the assembling of the desired data file. However, in light of mechanical limitations of hard disk drive access movements, it may sometimes be more efficient to physically organize frequently accessed data in certain areas of memory to expedite retrieval thereof, thereby optimizing a speed at which the memory surrenders data. This may be dependent on a data organization structure of the receiving computer's storage management system, which may influence how RAPID files are physically grouped together or sub-organized through a RAPID file system.
When a method of the present invention is utilized, a data file reconstructed using RAPID is correlated from an identical data structure represented by the RAPID repository on the receiving computer. The bodies of data residing on the receiving computer and sending computer are in one embodiment identical, at least with respect to portions of the bodies relating to a data file to be reconstructed. However, as discussed above, the sending computer need not physically possess all data in the repository of the sending computer. It is only preferable that the sending computer possesses a representation of the receiving computer's repository, which may be much smaller in data size, and which permits a substantial appreciation of the contents of the repository.
Using the data organization method of the present invention, the body of RAPID repository data as a whole contains all or portions of data that is used in files. Thus, the data repository has removed certain redundant data to optimize memory space required by the receiving computer. This method of optimizing memory will often lead to smaller collections, or repositories, of RAPID data and RAPID files, thereby facilitating faster memory access due to reduced data footprint within the memory of the receiving computer. This further expands applicability of the present invention to receiving computers having limited memory space.
In accordance with the present invention, it is preferable to optimize the data size of the RAPID repository within the storage memory of the receiving computer. In a preferred embodiment, RAPID is. whenever practical, organized and optimized so as not to duplicate given segments of common data. For example, if certain data segments are found in two or more locations in a body of RAPID files, decisions will be made as to whether or not to eliminate the duplication. Under optimal circumstances, it is preferable not to possess duplicated data. Such data may be referenced by the RAPID location indicators whether in one or two locations in memory. Thus, one location is sufficient.
-O S- However, the amount of the data, type of data, and its relative proximity to other commonly related data will play a role in deciding whether or not to delete it.
The RAPID repository can also be represented either in its entirety or in part by compressed data. When represented entirely, it may be impractical to decompress the entire repository. Thus, it may be more practical to decompress only relevant parts of the repository and store this decompressed code in electronic memory, as opposed to hard disk memory.
As noted previously, the present invention may share certain goals with the compression of data. However, the present invention is also very different from data compression in many aspects. For example, data compression compresses data by substituting mathematical algorithms for identical data segments that repeat throughout a data file. When decompressed, these algorithms are used to replace the missing data segments by reversing the process. Unlike a method of the present invention, data compression is not always effective for certain types of data. For example, compression is ineffective when the data to be compressed is very random in nature, due to a fact that random data typically possess few repeating characteristics. On the other hand, a RAPID repository can consist of data that is not readily compressible, such as due to randomness. Such files can be completely replicated using RAPID location designators. Still further, compressed files posses all representative data segments needed to decompress the data at the receiving computer. Thus, more data is required for transmission of a full data file representation. To the contrary, RAPID possesses all or most of its data segments within the memory of the receiving computer. The present invention is in that sense a unique and contrary approach to the basic nature of data compression. Data compression must analyze and apply its mathematical computations to an entire data file in order to yielding greater efficiency through the discovery of more common data segment which may be substituted in a larger file. High yield compression is not obtainable in smaller data files or applications such as streaming video and streaming audio where it is necessary for the receiving computer to decompress and process such files immediately upon receiving them. To the contrary, a RAPID repository of the present invention can yield a very small data segment as instructed by a single location designator which can be used and processed immediately by the receiving computer. Unlike data compression, no decompression is required.
A RAPID repository may contain flags, or data markers, in certain locations that will assist location designators in expeditiously reaching given areas of data in an efficient manner. These flags may be strategically located at the beginning and ends of data segments that are commonly accessed, or they may represent complete files. Preferably, there will be far fewer flags required than actual starting and ending possibilities with respect to all data within the repository.
RAPID Location Designators
Reconstructing on a receiving computer data that a sending computer desires to communicate to the receiving computer, without actually transmitting the data, may be accomplished by instructing the receiving computer with one or more RAPID location designators. In one embodiment, location designators are small data instructions that reference the locations of desired portions of RAPID residing within the repository of the receiving computer. These RAPID address calls are preferably small in size relative to the RAPID files they reference. In one embodiment, RAPID addresses are approximately 100 bits in length, not including any associated network protocol information. It is possible for such an address to reference one or more RAPID files, potentially resulting in the creation of a file that includes all of the RAPID resident on the receiving computer. This is possible as RAPID calls can either reference portions of desired files or entire files, which themselves may reference other RAPID files.
In some circumstances, a single RAPID address or a few RAPID addresses will reference a lookup table containing numerous other RAPID addresses within the memory of the receiving computer. This requires fewer RAPID addresses to be transmitted, further promoting bandwidth conservation and in certain circumstances, accelerating the routing of data packets containing RAPID addresses. This feature can permit certain portions of a web page, and in some circumstances, an entire web page, to be reconstructed from within the receiving computer. This is accomplished by building a hierarchical database that possesses all locator address and other data such as index pages, etc., needed to reconstruct a web page. Such a database preferably requires one or a small number of addresses that point to other sub-locator addresses. Under this scenario, it may only be necessary to transmit the addresses or supplemental code for those items that have changed in the web page. This is due to the hierarchical database structure. As compared to cache, for example, the present invention allows the receiving computer to check each file for freshness. Furthermore, RAPID does not need for a session to be established to validate each file, as only instructions may change for this data.
If the present invention is used in a context where a web page has been modified on the sending computer as compared to the resident RAPID files, the receiving computer may construct new files from its RAPID and need not use RAPID address calls from cache. In these circumstances, no new additional data files need downloading if the new data required is already resident in the receiving computer's memory. Thus, it is possible for the data within an entire web page to change and not require the transmission of any new data files, only new RAPID addresses constituting slightly more or slightly less data than the previous RAPID address.
Acquisition and Update of RAPID by Receiving Computers
In further aspects of the present invention, simple and convenient ways for receiving computers to accept and store RAPID are provided. In one embodiment, RAPID may be received from portable memory media such as a compact discs, tapes or SuperDisks, perhaps using high density memory storage means such as ZIP; from memory within an internal architecture of the receiving computer, such as solid state memory or hard-disk; from an interface to a sending computer with RAPID over a network such as the Internet or other such networks external to the receiving computer's location; or any other desired communication means. When RAPID is received by any of the variety of external means described, such data is compared to existing RAPID stored within the memory of the receiving computer. If the memory is identical, it is not recorded and thus not duplicated, thereby conserving memory space and eliminating redundancy.
As an example, consider a case where a receiving computer had recorded previously stored RAPID on its hard drive and an operator of the receiving computer wishes to install the RAPID contents of a compact disc onto the same hard drive memory. Means for comparing, such as a software program, various hardware, etc., will determine if there exists redundant RAPID on the disk and will thereafter only install that RAPID which does not exist within the storage location that the RAPID is being transferred to.
Similarly, consider the case where the receiving computer operator wishes to use RAPID on a compact disc as a supplement to RAPID previously installed from one or more other compact discs or other sources containing RAPID. In this case, the RAPID currently on a hard disk of the receiving computer, for example, can be used together with the RAPID on the one or more compact discs, thus effectively utilizing the entire non- redundant RAPID contents without a need to run or install all RAPID content individually. Under this scenario, it is possible to install only unique (non-redundant) RAPID from a number of compact discs onto a hard drive.
In another embodiment, the present invention provides the ability to anticipate content changes of a web page in advance of its desired viewing by an operator of a receiving computer. Often, web sites are maintained by organizations that operate in a manner comparable to publishing organizations that issue printed publications. Thus, to a large degree, many of these organizations know all or a large part of their publishing material in advance of the actual posting of such material to their web sites. Although some of the material may not be known in advance, some or all of it in many cases is known days or weeks prior to the actual posting of the information on the web page. Information likely to be known in advance includes relatively large data objects such as GIFs. JPEGs and other image files. These files are less likely to change than text.
It is information of this type that may be transmitted in the form of RAPID files to the receiving computer either in part or in their entirety prior to the date of transmission or actual publication on the web site, for example. This is accomplished by allowing a data file push of RAPID files before a date of intended display or use of the information. In one embodiment, the date/time clock of the receiving computer or a small address/command from the sending computer is used to cause the receiving computer to substitute old RAPID files with new RAPID files or insert new RAPID files that will be available for immediate use at the appropriate time. Thus, when the associated web site is accessed, the impression of a fast download of a currently updated web site will be given. This same effect can also be accomplished when the sending computer directs new RAPID calls to the new RAPID data. Additionally, such RAPID files will in some circumstances be reserved for larger data files such as graphics and multimedia files. Smaller data files such as text which, in many cases, represent the most dynamic body of total web page content, can be downloaded real-time if desired. Download of text is often fast enough that an average page of text may be generated in approximately the time it takes to effectively generate and format a number of RAPID objects on the screen of the receiving computer. Thus, the short time lapse required to generate the resulting screen display for a web page will give the impression to the operator of the receiving computer that a very fast download has occurred.
In other embodiments, a central repository of RAPID files, RAPID objects and RAPID addresses, based on a current state of web page content of web page sending computers using RAPID, may be maintained on each receiving computer. These sending computers may be continually polled regarding available updates by a receiving computer practicing the present invention. In other cases, sending computers may self-initiate actions to provide updated RAPID files, RAPID objects and RAPID addresses. These updates are processed by receiving computers in part by considering certain priorities such as time sensitivity factors, size of files, type of data, and classes of web site of sending computers. RAPID files, RAPID addresses and RAPID fragments, once accumulated and processed in the aforementioned manner, are transmitted either by initiation of the sending computer or the receiving computer, to update RAPID within the RAPID repository of the receiving computer.
It is not essential that ISPs retain complete sets of RAPID files and data objects to provide effective requests for RAPID compliant web sites. It is only preferred that the ISPs possess and timely maintain current RAPID addresses to correspond with RAPID files resident within the memories of receiving computers. As such, an ISP web cache memory can be substantially reduced in content by using the comparatively smaller RAPID addresses, and to a lesser degree than conventional data files, data objects and RAPID files. Transmission of these addresses can be accomplished with substantially reduced data transmissions. This may be an advantage of providing a central repository to update receiving computers and ISPs. Otherwise, downloads of entire web page contents would be required to update cache memory. Furthermore, conventional cache utilized by ISPs is typically passive, which requires a data file to pass through the cache in order to update its memory. However, the data repository of the present invention could proactively update the ISP cache with RAPID address calls in order to provide continuously fresh data and substantially conserve back-end bandwidth. The repository would be substantially fresh due to the update polling and receiving utility described above.
As discussed above, in the course of generating content of a RAPID compliant web sites in part or wholly from RAPID files stored on a receiving computer, there may come a time when some data retrieved from the RAPID files will be stale. Thus, certain files may need to be updated. This may partly be immediately accomplished in a case of certain current information desired to be transmitted by some sites. For example, the time, date, and other such information, particularly text, can be readily and immediately provided to the receiving computer through relatively fast transmission of text. This type of supplemental data, while required to present a fully current representation of the web site, is relatively small and in most cases fragmented. Thus, the data that need be transferred to update the web page will often be relatively small and will take little time to transmit, and download time will not likely be noticeably affected. With regard to such data absent of large data files such as graphics and programs such as Java, it may not be necessary to generate the web page entirely from available RAPID information in order to give the computer operator the illusion of a rapid download. In addition, RAPID may use placeholders for information such as a company's logo, including files such as GIFs and JPEGs. Immediately after such a file has completed its download, the placeholder will switch to the intended file.
RAPID files resident within the memory of the receiving computer are occasionally modified, deleted and/or substituted automatically upon the initiation of the sending or receiving computer. This action will preferably, but not necessarily, depending on the sophistication of the operating system and other relevant features of the receiving computer, occur without hindering an operation of programs in current use by the operator. For example, updating may occur in the background. Alternatively, updating of RAPID files may be scheduled during times when the receiving computer is not otherwise actively transmitting or receiving data, as discussed below. This may be useful in preparing RAPID files for first time visits to web sites, or to maintain freshness of changing web sites. This can be performed through a data depository or directly from the sending computer. In another embodiment, an intermittent data file push may be used to permit a receiving computer to accept a data push for continuous or non-continuous time periods. This allows the receiving computer to update RAPID while intermittently transmitting or receiving data files, such as from a different web site, and during idle transmission periods with respect to a web site conducting the update. A possible advantage of an intermittent data file push may be that the receiving computer operator is able to continue browsing the Internet without the need to be directly connected with a web site pushing the data file. The operator may also connect to other sites. In addition, the intermittent data file push method may also be used to download other files that are requested by the receiving computer such as software program applications. As such, the receiving computer operator can continue to browse to other web sites while receiving the software program application download intermittently during idle data transmission lapses and interleaved with the data of the web site currently downloading.
In some cases, it may be desirable to modify and/or substitute the receiving computer's RAPID files, such as, for example, when new content becomes available. In some of these cases, portions of RAPID files may be deleted and entirely replaced by new RAPID files and as such, may require transmission of this new data to the receiving computer. To conserve the transmission length of such updates, files may be fragmented to update only those portions that have changed. In one embodiment, RAPID fragmentation is used to reduce a data size of transmitted files, thereby resulting in reduced data transmission times during real-time downloads of RAPID files. In this embodiment, RAPID fragmentation substitutes or supplements only selected portions of RAPID files, thus utilizing the remaining portions of the exiting RAPID and eliminating the need to replace RAPID in its entirety on the receiving computer. By only transmitting fragments of a data file that in effect, change the appearance, state or function of a file, less data is required than to transmit an entirely new data file. As an example, consider a graphics data file containing a representation of one predominate flower in a floral bed. There, a fragmented RAPID can cause the substitution of only the one flower and not the background containing a bed of other flowers, the ground, the sky, etc. The data file needs only to change the one focal flower. Updating in this manner may in many cases reduce the amount of data required to be transmitted, as compared to transmitting an entire replacement data file. Because graphics designers and others responsible for designing and maintaining web sites compose graphics with a knowledge of data file optimization, fragmented RAPID can be designed for data file size optimization and can thereby achieve dramatic data file size reductions.
The relatively small size of RAPID files, as well as the further fragmentation thereof, may lead to further advantages due to a manner in which data may be routed on such networks as the Internet. In one embodiment, RAPID addresses transmitted by sending computers are small enough to minimize a size and number of TCP/IP packets transmitted. Depending on a particular routing protocol utilized, routers may prioritize the routing of packets based on their size, total number of related packets, and bandwidth availability of a number of given paths through which data can be directed.
In general, the smaller the packet and the fewer the packets belonging to a file, the better the chance that the router will find faster paths than if the data were larger. This increases the chances of a smaller file, like a RAPID address call, arriving sooner to a given receiving computer than a larger file to another receiving computer. Secondly, RAPID addresses and RAPID files are uniquely identified in a manner that may in some circumstances, lead a router to identify related packets as unrelated. This will cause the router to direct the data addresses to a path within the network that is faster than a path that may otherwise be chosen by the router.
The above is especially applicable to small data packets such as RAPID addresses. These relatively smaller packets are almost always permitted swift passage. Because RAPID files can be fragmented into smaller sets of data files, a real-time network test determination can be made by the sending computer to determine whether it is faster to parse the RAPID file into smaller data files to accelerate the delivery of the data, or rather tosend the RAPID file intact. Depending on conditions of transmission, a further decision can be made to instruct a router to send the RAPID on a predetermined path or transmit the file conventionally leaving the determination up to the router.
Security
In order to protect information transmitted during a data transmission session, it may be desirable to render it as difficult as possible for a third party to intercept intelligible and usable information from a communication between a sending computer and a receiving computer. Because the present invention may communicate data by transferring finite address calls, intercepted transmissions may include only these address calls, which by themselves will be meaningless and useless without the corresponding matching RAPID files referred to. As such, it will be difficult for unauthorized and unscrupulous observers of transmissions to match unknown RAPID with the observed addresses transmitted. This acts to prohibit any remote representation of the data intended to be communicated to the receiving computer unless the observer has in its possession the matching RAPID body from the specific receiving computer. In addition, it is possible to render it even more difficult to match RAPID files with RAPID address calls by sending unique RAPID address calls. This is accomplished by uniquely configuring the RAPID resident on each receiving computer, causing the RAPID address calls to be unique for each receiving computer.
Due to a threat of viruses, it may also be desirable to screen, in advance, the RAPID files resident on a receiving computer, for viruses that may reside in a memory of the receiving computer. As such, potentially infectious data viruses that may otherwise be present and undetectable in new data files downloaded from a sending computer may be detected. Additionally, because the resident data files are pre-screened and are often installed via non-bandwidth consuming media such as compact disc, RAPID files will be less vulnerable to online intervention through the communications network. Since realtime screening will not be necessary for the construction of RAPID files on the receiving computer, the present invention leads to a further desired result that the receiving computer will be inherently faster.
Additional Features
In accordance with the present invention, certain RAPID files may be classified as common and used in the programming of web pages, for example, compatible with the RAPID system. Providing that the files used in the construction of web sites generally comply with the data resident in the receiving computer, these webs sites can construct any combination of these types of sites with a virtually unlimited number of receiving computers.
Certain RAPID files may be classified as matriculated data files, and are preferably used with a select fewer number of web sites. These files may constitute such objects as copyrighted corporate logos or designs. These matriculated objects can also serve as common objects to a number of web site pages within a designated web site. Like common data files, once modified, each data file will effect each occurrence of the data file as it is used, and thus will reduce the amount of data required to update or modify the web site on the resident memory of the receiving computer.
To further keep RAPID from containing redundant data and to thereby minimize its total data size, data representing a file may. if desired, be stored at a higher than necessary resolution. A GIF file, for example, once constructed by RAPID could be resized and reshaped according to specific instructions from a sending computer. This would eliminate the need to store variations of the same file within the same RAPID body. Since the GIF would already be resident on the receiving computer, the fact that it may at times be displayed at a higher resolution would be inconsequential to bandwidth consumption.
Because correlated RAPID files may be resident within the memory of receiving computers, larger and more complex files are possible than might otherwise be deemed practical for download from a web site, particularly in cases of a slow data transmission interface. Increased data file size yields such advantages as greater graphic resolution, fuller bodied stereo sound effects, sharper video at more frames per second than smaller data files, etc.
The present invention further provides for comprehensive web page content searching (either supplementing on line searches or offline) by providing identification labels for numerous types of data, including graphics, video, audio and text, within RAPID repositories. RAPID may further contain separate summary descriptions of web sites for generalized searching. The present invention provides for offline interaction with any number, depending on a size of a RAPID repository, of web sites. For web sites that possess address tables permitting the assembly of all inter-related RAPID files needed to construct a web page, the web site can be reconstructed without the need for an external data transfer connection. Unlike web cache memory, these web sites can be reconstructed without prior downloading during a first time visit. Even without a connection present, the present invention can thus give the appearance to the receiving computer operator of connected, updated pages by substituting such dynamic aspects of the web pages as a current time and date.
Similarly, the present invention can permit offline searches of RAPID files consisting of web page content. Because RAPID is resident on the memory of, or otherwise accessible by, the receiving computer, searching can be performed while not connected to any external data communication means. Additionally, if searching is performed while connected to and interacting with a web not having a search engine content, the receiving computer operator does not need to interrupt the Internet session to visit such a site. The operator can simply perform a search via a pop-up menu, for example, that in one embodiment is displayed over a top of an existing application on a computer screen. Searching using data mainly present on the receiving computer will save bandwidth and eliminate network latency in waiting for responses.
The present invention is not limited to storage of RAPID internally to a receiving computer. RAPID may also reside on, for example, a LAN or WAN sending computer or server or proxy server, subordinate to a sending computer interfaced with the Internet. Thus, all non-discrete receiving computers may retain little or no RAPID, thus relying on the high-speed network interface between the LAN sending computer and the receiving computer to transmit full data files. This is particularly useful for local networks suffering from bandwidth limitations. In this embodiment, the LAN sending computer may retain all or part of the RAPID files, thus permitting one central repository, thereby conserving memory and processing resources on the receiving computers.
LANs and other such networks can further be used to passively communicate data from a sending computer to a receiving computer in accordance with the present invention at much higher speeds than many other data transfer means, leaving significantly more bandwidth available for other transmissions. Furthermore, RAPID files can be transferred from the LAN sending computer to the receiving computer without speed degradation discemable to the receiving computer operator. As such, portions of RAPID can reside on numerous receiving computers within the LAN, with the aggregate thereof representing the total body of RAPID. This body can then be called upon automatically by other receiving computers, which can share their RAPID with the other computers, thus permitting the aggregate of all resident RAPID on the LAN to create the functional equivalent of a very large local hard drive.
Using the present invention, it is possible to provide a computer operator with a selection of web sites to choose from which are RAPID compliant, and therefor offer shorter download times. This selection may be provided when the operator attempts to visit a web site that is not RAPID compliant. In one embodiment, this is accomplished when the receiving computer operator enters a URL address into a browser. Apart from a resulting attempt by the browser to connect to a corresponding site, this further preferably causes the RAPID database to search for web sites similar in content and present such alternative RAPID compliant web sites to the operator. This presentation may take a form of a pop-up window in front of the current operating software, or other suitable forms. Any of these RAPID compliant web sites selected by the computer operator will likely offer a faster download in lieu of the choice. This scenario will preferably apply to web site content searches performed both while connected to the Internet and during offline operation.
Through practice of the present invention, it is possible to provide privacy for inquiries and actions that receiving computers perform while interfaced with the Internet. RAPID can accumulate and tabulate searches and other actions, such as Internet browsing activity, at the receiving computer, or on a private LAN, for example. In this way, the receiving computer can contribute its tabulated information entirely anonymously or partly anonymously, to entities on the Internet requiring or desiring such information. For example, for purposes of specific advertising, such as one-to-one advertising to be directed at a receiving computer operator, tabulated information such as relates to personal preferences of the computer operator may be useful to external entities. However, the dissemination of such personally identifiable information, such as a list of web sites visited, raises numerous personal privacy concerns. However, using the present invention, web browsing habits can be tracked and interpreted immediately at the receiving computer, leading to data that can be used to, for example, serve appropriate advertisements from RAPID stored on or accessible by the receiving computer. Thus, focused advertising may be accomplished quickly and without releasing personal information external to the receiving computer, thereby retaining the privacy of the computer operator. For further protection of personal privacy, users may be given an option to exclude certain behavior, such as the browsing to web sites of a certain subject matter, from their personal profiles. If it is thereafter desired to share marketing data, the data can be shared in an anonymous manner. In a commercial embodiment, advertisers may be charged for the storage of their ads in RAPID on receiving computers, based on a potential that such ads will meet a particular user's preferences and thereby be served thereto.
Conclusion
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. For example, the present invention is not limited to the physical arrangements described, or to use with any particular network. In addition, while numerous references have been made to communication of web page content using HTTP, the present invention is equally applicable to communication of any data forms, such as executable programs, audio files, etc., using any transfer protocol, such as FTP and others. As such, the breadth and scope of the present invention should not be limited to any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.

Claims

What is claimed is:
1. A method for communicating information between a server and a client computer, comprising: receiving at the client computer a set of instructions from the server that reference discrete portions of data accessible by the client computer, the set of instructions defining the communicated information with respect to the data; and reconstructing the communicated information on the client computer from the set of instructions and the data.
2. A data communication system, comprising: a data repository; a sending computer, coupled to said data repository, for transmitting instructions that describe a communication with reference to said data repository; and a receiving computer, coupled to said sending computer, for interpreting the instructions with respect to said data repository and determining therefrom a content of the communication.
PCT/US2000/015052 1999-06-01 2000-06-01 System and method for data communication WO2000073944A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU53111/00A AU5311100A (en) 1999-06-01 2000-06-01 System and method for improved data communication

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13688999P 1999-06-01 1999-06-01
US60/136,889 1999-06-01

Publications (2)

Publication Number Publication Date
WO2000073944A2 true WO2000073944A2 (en) 2000-12-07
WO2000073944A3 WO2000073944A3 (en) 2001-04-05

Family

ID=22474849

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/015052 WO2000073944A2 (en) 1999-06-01 2000-06-01 System and method for data communication

Country Status (2)

Country Link
AU (1) AU5311100A (en)
WO (1) WO2000073944A2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0898235A2 (en) * 1997-07-31 1999-02-24 AT&T Corp. Method and apparatus for dynamic data transfer
FR2770719A1 (en) * 1997-10-30 1999-05-07 Sagem Server/user terminal image communication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0898235A2 (en) * 1997-07-31 1999-02-24 AT&T Corp. Method and apparatus for dynamic data transfer
FR2770719A1 (en) * 1997-10-30 1999-05-07 Sagem Server/user terminal image communication

Also Published As

Publication number Publication date
WO2000073944A3 (en) 2001-04-05
AU5311100A (en) 2000-12-18

Similar Documents

Publication Publication Date Title
US5935207A (en) Method and apparatus for providing remote site administrators with user hits on mirrored web sites
US8024484B2 (en) Caching signatures
Wessels Web caching
US7149704B2 (en) System, method and computer program product for collecting information about a network user
US7363291B1 (en) Methods and apparatus for increasing efficiency of electronic document delivery to users
EP1886472B1 (en) Method for multipart encoding
US6892206B2 (en) Reduction of meta data in a network
AU747269B2 (en) Method and apparatus to determine user identity and limit access to a communications network
CA2229392C (en) Method and apparatus for precaching data at a server
US8542695B1 (en) System and method for storing/caching, searching for, and accessing data
US20010051927A1 (en) Increasing web page browsing efficiency by periodically physically distributing memory media on which web page data are cached
US20020099798A1 (en) File transfer method and system
US20020078180A1 (en) Information collection server, information collection method, and recording medium
US20050251557A1 (en) Push-type information delivery method, push-type information delivery system, information delivery apparatus and channel search apparatus based on presence service
WO2003034257A1 (en) System, method and computer program product for presenting information to a user utilizing historical information about the user
CN103001964B (en) Buffer memory accelerated method under a kind of LAN environment
US20160150017A1 (en) Data storage and retrieval
KR100367714B1 (en) Internet broadcasting system and method using the technique of dynamic combination of multimedia contents and targeted advertisement
JP2003288261A (en) Data transferring device, data transferring method, and program
JP4543532B2 (en) Information communication system
JP2006113745A (en) Internet advertising system
WO2000073944A2 (en) System and method for data communication
KR100332227B1 (en) The banner advertising method in web page using image replacement
KR100684419B1 (en) Multi-path accessed personal information management system and method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AU CA JP

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

Designated state(s): AU CA JP

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP