WO1999049400A1 - Internet data reduction system - Google Patents

Internet data reduction system Download PDF

Info

Publication number
WO1999049400A1
WO1999049400A1 PCT/AU1999/000206 AU9900206W WO9949400A1 WO 1999049400 A1 WO1999049400 A1 WO 1999049400A1 AU 9900206 W AU9900206 W AU 9900206W WO 9949400 A1 WO9949400 A1 WO 9949400A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
image
information
server
images
Prior art date
Application number
PCT/AU1999/000206
Other languages
French (fr)
Inventor
John Griffits
Original Assignee
John Griffits
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 John Griffits filed Critical John Griffits
Priority to AU30192/99A priority Critical patent/AU3019299A/en
Publication of WO1999049400A1 publication Critical patent/WO1999049400A1/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/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • 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/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/53Centralised arrangements for recording incoming messages, i.e. mailbox systems
    • H04M3/533Voice mail systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/54Arrangements for diverting calls for one subscriber to another predetermined subscriber
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/0012Details of application programming interfaces [API] for telephone networks; Arrangements which combine a telephonic communication equipment and a computer, i.e. computer telephony integration [CPI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/72Finding out and indicating number of calling subscriber

Definitions

  • the explosive growth of the Internet has resulted in network bandwidth congestion. Part of this congestion may be reduced by optimising the flow of information between Internet nodes.
  • the present invention describes a method and system to optimise, in part at least, the content and/or flow of said information.
  • One aspect of the invention examines the commonality of much of the information traversing the Internet and seeks to take advantage of said commonality to reduce unnecessary duplication of information transfers.
  • the first part of the invention describes a Partial File Update Means that conserves Internet bandwidth by constructing (at a remote node) a new version of a file from an older version of the file stored on one or multiple caches remote from a server (eg ISP and user caches).
  • the remote node combines data common to the old and new file with server supplied new data and server supplied instructions on how to integrate the new and stored information.
  • the second part describes a text compression means that references dictionaries locally accessible to one or more remote nodes.
  • the third part of the invention describes an Image Data Reduction Means (IDRM).
  • IDRM Image Data Reduction Means
  • the first part of the IDRM Common Image Index indexes images such that the same image used across multiple web pages and/or websites is not needlessly downloaded when already cached for another page.
  • Image Building Protocol describes a means to construct images by sending a series of commands that instruct a locally accessible (to the user/ISP) paint program (and/or any other image creating means) to construct the image.
  • paint programs can create many spectacular effects with a few keyboard/mouse commands.
  • 100 bytes of mouse commands may be used to create an image that is 16K in compressed form.
  • An extension of IBP builds complex images from component images.
  • the component images may be conventionally transmitted (eg jpg. gif) and/or constructed using the image building protocol (and/or any other means).
  • the fourth part describes a means to reduce the bandwidth of telephone conversations via the Internet (and/or any other means).
  • optical connectivity This preferably converts digitised voice into a series of digital phonemes that are enhanced by the use of various descriptors.
  • the fifth part describes a means to capture free to air and/or other broadcast means as a source of video information.
  • Some of the means of the invention are processor intensive Optimal practical applications may require intensive use of distributed processing, particularly at web host sites, image databases and ISP's This distributed data procesmg may be significantly enhanced by a means of optical connectivity Said optical connectivity has been developed to enhance the apparatus of the present invention, however, it may have application elsewhere
  • the invention may include (as non-limiting examples) one or more of the following benefits to participants of the Internet • conservation of available bandwidth, • reduced file transfer times from server to ISP and/or directly connected end-users. • reduced file transfer times from ISP to their end-users, • reduced cost of accessing information from the Internet, for example, • users who are paying, in part at least, on the basis of quantity of information transferred should receive reduced overall data cost because of the reduction average file size, and/or • a reduction in average file size may permit a reduction in the size of data pipelines or postpone the need to expand capacity, • improved password protection, • improved access time from servers, including web-servers, • improved utilisation of mass storage devices used as servers, and/or caches (eg proxy-servers) and/or the end-users location
  • the invention incorporates by reference the following: • Pending WO 98/54672 by G ⁇ ffits titled "Securely Mete ⁇ ng Advertising in Data Processing Systems, • Pending WO 97/25675 by G ⁇ ffits titled “A Secure Pay-As-You-Use System for Computer Software", • Pending WO 96/27155 by Shear, • Microsoft Corporation US Patent 5745095, titled “Compositing Digital Information on a Display Screen Based on Screen Descriptors" • Pending PCT AU99/00155 by G ⁇ ffits
  • the invention allows for the use of any part at least of the means described in said referenced with part at least of the means of the invention
  • the mvention further allows that the present specification can be implemented by those experienced in the art by referencing to said specification and the documents incorporated by reference
  • UDPS User Controlled Data Processing System
  • ISP or Internet Service Provider is usually an entity that buys bulk access to the Internet and resells it to end- users
  • the end-users may be single users or part of one or multiple networks
  • An ISP may also be buying Internet access from a larger (and/or other) ISP
  • the invention allows for any one or multiple, to each use part or all of the means of the invention
  • Some (usually larger) users may also have a direct connection to the Internet In this case what is desc ⁇ bed as applicable to ISP's may also apply to this category of users
  • Part at least of the invention may also be applied to end-user systems
  • Byte equates to 8 bits and is used m this context, however, it is also representative of a more generic context For example if a file (and/or any other data structure) is desc ⁇ bed as having a number (that may be any number) of bytes, this also allows for fractions of a byte Reference to a number (that may be any number) of bytes may be used when information, in part at least, is collated into any grouping of words long words and/or any other arrangement Byte may be used when it is representative of any data types, eg program instructions and/or data, text (eg acsn characters and or any other character set), and/or images, and/or sound
  • file server (or server) is generally used in this application to indicate the means that, in part at least, sources onto a network, part at least, of one or multiple files as desc ⁇ bed for the current invention
  • the server may serve web pages, and/or mail, and/or news, and/or any other types of files
  • the server may also be the recipient of files when information is loaded onto it
  • Multiple servers that may be at different physical locations) may be used to deliver one at least files
  • the invention leverages the fact that one at least file server and/or file requesting node may have local access to data processing means capable of processing relatively large amounts of data each second, in contrast to the usually slow transfer of information between server and requesting node While of particular application to the transfer of information between requesting nodes on the Internet, the invention, in part at least may be applied to any networked means (eg Intranet), and/or local storage means
  • the invention may m part provide a means for server and/or requesting node to use their data processing capabilities to reduce the information content that actually needs to be transferred along the relatively slow parts of the network
  • the invention preferably does this without impairing file data
  • the server would usually be accessing its files from storage means local to the server (eg that are linked by high speed local busses), however, part at least, of the files they access may be from one or multiple sources coupled, using any means to said server.
  • server also covers the situation where files are mirrored (in part at least) on multiple nodes
  • the mvention also allows that the actual server of files, in part at least, does not deliver files compatible (in part at least) with the present invention, and that any one or multiple other nodes between the server and one or multiple requesting nodes, may obtain one at least said not compatible files from one or multiple servers (and or from any other means), in part at least, and said one or multiple other nodes may convert one at least said files, in part at least to a format that is compatible with the invention 4 Instances where this may occur (non-exclusively) may mclude • Telephone and/or other communication earners, ret ⁇ eving files and establishing their own caching means • One or multiple ISP's establishing a link (preferably high performance) to the Internet and adapting the mvention, m part at least, to reduce the amount of traffic to other downstream nodes This may be particularly useful to an overseas ISP who wants to reduce the cost of international traffic by establishing a domestic node to capture and compress information for subsequent transfer internationally A similar p ⁇ nciple may be applied for domestic ISP'
  • the term requesting node refers to one or multiple nodes coupled to a network (usually the Internet or similar) that are requesting files from a server Said requesting node(s) preferably have a file caching means (eg a proxy-server, browser caches)
  • the requesting node is usually an ISP Said ISP may have one or multiple other ISP's coupled to them (via the Internet and/or via one or multiple other communications links)
  • One or multiple ISP's are usually coupled (usually via telephone/modem connections) to one or multiple end- users usmg the ISP as a gateway into the Internet
  • the term requesting node may also be applied to one or multiple end-users Said end-users may be one user, and/or multiple users (eg connected via one or multiple networks)
  • the end-user may have a direct connection to the Internet and/or via one or multiple ISP (and/or any other means)
  • the term remote node is usually interchangeable with the term requesting node
  • Said file cachmg means may include one or multiple storage devices coupled locally and/or remotely to one or multiple ISP's, and/or one or multiple storage devices coupled to one or multiple end-users
  • the invention also describes a means that enables one or multiple storage means coupled locally to one or multiple end-users to become part of one or multiple ISP caching means This may allow the ISP to source information from one or multiple end-users for distribution to one or multiple other end-users Information that is sourced from end-users may also be used to reduce the amount of information that needs to be downloaded from a server to refresh cache means coupled to the requesting node
  • the invention also desenbes a means to • assist ensu ⁇ ng the integrity of information obtained by said ISP caching means from one or multiple end-user caches and/or • assist in maintaining the integ ⁇ ty of one or multiple end-user systems when information is transferred to them
  • the requesting node may also act as a server for example, to upload files to a website, and/or to serve files to end-users, and/or for any other reason 5 1. Partial File Transfer.
  • va ⁇ ous caching means attached to ISP and/or end-user data processing means
  • Said cachmg means usually store previously downloaded files and delivers the stored f ⁇ le(s) when a request is made for access
  • a means is usually provided to ensure the stored file is current
  • the prefe ⁇ ed method used by the known art to ensure file currency is to access the file server, read the date the file was last modified and if the same as the cached version, deliver the cached file rather than downloading from the server
  • much of this file transfer reduction potential is wasted because even a minor change m a file on one at least servers may force the cache to update itself by downloading the new file m its entirety
  • the preferred procedure is for the ISP to access the target server and retrieve the date that the file was last updated This is usually compared with the date code in the cached file and if equal, the cached file is usually supplied to the end-user If the date code is invalid, the file is usually ret ⁇ eved from the server
  • Part of the present invention seeks to describe a means for constructing (preferably faithful) copies of file(s) on one at least nodes remote to a file server using a combmation of • information locally accessible to said nodes remote and • information supplied by said files server
  • the locally available information is usually an older version of the file stored on a cache
  • the older file is usually one previously downloaded from a server, however it too may have been constructed using one at least means described for the present invention
  • the older file may have been delivered usmg any other means, for example, on optical media (eg CD DVD)
  • Locally available may include any relevant information that can be accessed faster 6 and/or cheaper than that obtained by accessing the file server It would usually include caches maintained by an ISP, however, it may mclude as non-hmitmg examples caches connected to one at least customers of the ISP and/or other ISP's (and/or their customers)
  • the information provided by said file server is preferably the minimum amount required by the remote node to construct an accurate copy of the new file
  • Part of the present invention seeks to desc ⁇ be a partial file update means that updates an obsolete file at a requesting node with current file data stored on one at least file servers, wherem said update means • informs one or multiple file servers about, part at least of, the file information currently in one at least requesting nodes (eg at an ISP and/or end-user), and/or • sends from said server, m part at least, the information (preferably the minimal amount) needed to create an updated (and preferably current) file in said remote cache(s), using in part at least, information in cached files, in particular the obsolete version of said current file
  • the invention is preferably configured to handle multiple degrees of file obsolescence
  • a current file may be File 4 html
  • One ISP may have cached File 3 html (the preceding version), another may have File 2 html, another File 1 html
  • the invention may be configured to allow each cached file to be able to use the partial file update means Usually a more obsolete file requires more data to refresh it than more recent versions
  • the invention may also be configured such that ISP's and/or any other nodes without a partial file update means may continue to receive files in the normal manner
  • the invention may also be extended to provide partial file transfer capability to the end-user and or between end-users
  • a new version of a file loaded onto an Internet file server may mclude information that is present in older versions of said file (and/or one or multiple other cached files) on one at least remote cache means
  • the amount of duplicated information may vary from most (or all) of the file to a few words
  • Useful information in an old version of a file (and/or any other files) may be from one to n blocks in number, and each block may represent any number of bits and/or bytes
  • the construction of a new version of a file from data m an obsolete version of the file may use any one or multiple means This may include la.i) a means (File.remote_version) for the file server (and.
  • the invention also allows that one or multiple of (1 a i) through (l a x) may be means that the server (and/or requesting node) may determine inherently
  • a search engine may know that part of a page is repetitive from search to search Said search engine may not re-send (m part at least) information expected to be already present in the requestmg node
  • the server may have any name, and may be a web server and or any other type of file server coupled directly and/or indirectly to the Internet
  • the server includes a file called File html
  • File html This file(s) may be any name and the term File in File html may be replaced by any file name
  • the file may also be any type and is not limited to .html files used m the example Other common file formats (not exclusively) may include GIF, jpg. acrobat, postscript email. Microsoft Word files, and Wordperfect files
  • GIF GIF
  • jpg jpg
  • acrobat postscript email
  • Microsoft Word files and Wordperfect files
  • the usual way of requesting this file from a server would be for the receiving node to send a GET www example com/File html command (and/or a GET IP address/File html)
  • File html is 16 bytes long with each byte representing an ASCII character
  • the file may be any bit or byte length and the binary information may represent any one or multiple means Said represents may include, characters of text and/or any one or multiple other symbol set, for example, images, sound, computer instructions/data etc
  • the preferred embodiment of the invention bases the file size on the number of bytes in said file A file with one byte has a file size of $01 It increments by 1 for each additional byte
  • the byte count may use any offset (plus or minus from 1) as its o ⁇ gm, and increment or decrement using any means
  • the count may also be expressed in any arrangement of bits (bits, nibbles, words, long-words) and or any other means 9
  • the preferred method of locating bytes within the file is as an offset from an origin of zero, incrementing by one for each subsequent location Any method may be used
  • the preferred embodiment gives each byte a hexadecimal address For example, in File html below, the first C is at location $0000 and the Q is at location $000F
  • This file would usually be initially uploaded to a server, and if available for unrest ⁇ cted access, downloaded by users as required
  • a date code and or any other means may be coupled to File html enabling va ⁇ ous requesting nodes to determine the validity of File.html
  • the date code an/or any other information may be part of the file and/or within one at least other files
  • the present invention desc ⁇ bes a means for requesting nodes to access partial files from a server This may also be referenced as the File Building Protocol or FBP
  • Partial file downloading may be for any reason (eg only part of a download was completed)
  • the request will usually be for the server to provide only that information needed to allow the requestmg node to reconstruct locally cached information into a preferably complete copy of the current version of File.html on the server
  • the preferred embodiment of the mvention has one at least servers that may deliver a current version ofFile.html and one or multiple modified versions of the current file
  • the modified versions usually contain sufficient information to allow a requestmg node (m part at least) to integrate cached information with transmitted information to reproduce the current File.html Any means may be used to identify said one or multiple modified versions of File.html
  • the preferred means adds an extension to the file name, eg File_fbp_l.html
  • a non-FBP compliant requesting node may place a GET command for File html and have it delivered by FBP compliant and non-compliant servers
  • FBP compliant nodes may place a GET command for F ⁇ le_fbp_0 html This is one means of signaling FBP servers that the requestmg node is also FBP compliant The fact that the requestmg node receives a favourable response may be an inherent means for the server to indicate to the requestmg node that said server is FBP compliant
  • a non-FBP compliant server would usually send the requestmg node 'a file not found' message
  • the subsequent normal course of action is for the requesting node to perform a normal GET File html
  • Any one or multiple means may be allowed for a requestmg node to determine FBP availability
  • the following may mclude some of said means
  • a lookup means eg similar to the DNS (Domain Names Server)
  • the invention also allows for at least one FBP compliant requesting node to issue the normal GET File html command and use additional information embedded within File html to determine if the server is FBP compliant Said embedded information is preferably transparent to normal file handling processes In the case of HTML files, this additional information may appear to normal processes as comments (a method that is known to those experienced in the art, in particular to those adding additional functions to HTML code)
  • Site.info may also be kept at www example com, detailing the capabilities of the site Site mfo may include any information, eg available compression means, secu ⁇ ty, password protection, ability to run scnpts and/or any other programs, ability to integrate with databases, ability to act as one at least E-mail box etc
  • File html C G A B C D E F F A D Z M J K Q Date O FBP.identifier.
  • the FBP identifier may also be used as a means to indicate whether other files (and/or which files) on a related web-site (or server) are FBP compliant 1 1
  • File html C G A B C D E F F A D Z M J K Q Date O FBP.identifier.
  • File fbp_0.html C G A B C D E F F A D Z M J K Q _Date 0_FBP.identifier.
  • the invention allows for any means for • the requesting node to determine the currency of server files (eg request date information as per the norm). and/or • the server to transfer update information to the requestmg node
  • the preferred embodiment may have the server provide information about file currency together with any update information by one or multiple responses
  • the requesting node may request this information by one or multiple requests This may use any one or multiple means
  • the server is able to make available 1) A complete version of the current file that is accessible by non-compliant nodes (eg the means used by the known art). In the present non-hmitmg example this is identified as File.html
  • a remote node requests the server to send the F ⁇ le_fbp_y html where the value of 'y' is equivalent to the most recent version number of File html coupled to the requesting nodes cache means File_fbp_y.html preferably contains sufficient information (in part at least) that the FBP means at the requestmg node may reconstruct a replica of the latest version of File.html (and/ or F ⁇ le_fbpJ) html)
  • File_fbp_y.html preferably only contains sufficient information to indicate that the requestmg node cache means has a valid version of the file If the requestmg node cache means has an obsolete version of the file, the File_fbp_y.html preferably includes information to advise the requestmg node of this fact and (in part at least) sufficient information to update the obsolete file to the current version 12
  • the invention allows that those expe ⁇ enced in the art may readily adapt the preferred embodiment of the invention such that a request to server for update information may use multiple rather than a single requesting means (eg a request for file validity and another for actual update information)
  • the server may also return information as one or multiple files (and/or any other data structures)
  • the preferred embodiment allocates a value of 1 to 'y" when File html is first loaded onto the server
  • the preferred means of coupling the version number of a file to its file cludes lookup tables and/or embedding the version number in the file
  • 'y' is preferably incremented for each updated version of the file
  • Any means may be used to transfer the version identifier to one or multiple requesting nodes
  • the preferred means embeds this information within FPB.identifier
  • said F ⁇ le_fpb_y html is preferably a minimalist file with sufficient information to inform the requesting node that the File html its cache is current 13 Any means may be used to advise one or multiple requestmg nodes that their cache information is valid, with the preferred embodiment including a File.advice flag withm F ⁇ le_fb ⁇ _y html
  • the preferred method has a base file size of one byte (this usually refers to actual file contents, not other file structure overheads, if any) for the F ⁇ le_fbp_ html coupled to the current version of File html
  • File.advice is usually $00 This only requires a minimal data packet to instruct the requestmg node to use its cached information
  • the File.now flag may be particularly useful for users who wish to check that their ISP is actually checking with a file server to ensure that their cached files match those currently on one or multiple servers
  • the time/date stamp should usually be within a few seconds of the date on the user's computer (after time-zone adjustments if not using a standardised time base)
  • Some ISP's may be tempted to synthesise File.now contents
  • the invention also describes a means (that may be any means) to ensure that File.now is legitimate
  • the most current F ⁇ le_fbp_y html may include $00_File.valid_File.now
  • the preferred means of preventing unautho ⁇ sed changes to File now contents is to have the server include a validation key (File.now valid) withm and/or coupled to F ⁇ le_fbp_y html
  • An ISP and/or any other intermediate node preferably has no means of generating File now valid
  • the preferred method for the user to check validity of File now valid is to send the key to a third party with the means to validate and confirm File now valid
  • An alternative is to provide a secure processing means at the end-user location and perform validation in a tamperproof means
  • Another alternative is for the server to generate File now valid with a private key (eg DES) and the end-user decodes this with a matching public key
  • the mvention allows that a request from a particular node for validation information on multiple files may result in the server sending multiple answers in the one datagram
  • This method may also be adapted to improve efficiency of nodes that are not FBP compliant, when accessing date (and or any other) information on server files This may be an automatic response, however, it is preferable that the requestmg node actually request this facility
  • the preferred embodiment has the requestmg node include a mult ⁇ ple_request flag in a GET F ⁇ le_fbp_y html request file that is part of a multiple request For example, File_fbp_y.x.html, where x may be any code, preferably a number 1-9 (it may be any value)
  • a request from a node to a server for multiple files on that server may be constructed using any means
  • the .x may also be deleted 14 and the position of the various stnng
  • Any means may be used by the server to provide one or multiple requesting nodes with a multi-file response
  • the preferred means envelopes cache files that are valid withm the one response Other files are usually handled by discrete responses (see below)
  • F ⁇ le_fbp_l html $00_File.valid_File.now
  • a FBP compliant requesting node needing to check the validity of its version of File html would usually extract the 1 from the version number and use this as the one in the GET F ⁇ le_fbp_l html request
  • F ⁇ le_fbp_2 html $00_File.valid_File.now
  • a requestmg node that caches version 2 of File html would usually send a GET F ⁇ le_fbp_2 html when it needs to check the validity of a cached file
  • any requesting nodes with version 1 of the file would usually have an invalid (in part at least) file in their cache means Consequently
  • F ⁇ le_fbp_l html requires modification to reflect these changes
  • the preferred embodiment allows for any means for the server to inform a remote cache that its file is not valid
  • One method changes the value of the first byte from $00 to $FF Therefore F ⁇ le_fbp_l html may be represented by $FF_File.valid_File.now.
  • the information with Update.mfo is preferably sufficient to enable at least one remote caching means to update cached information
  • the length of File_fbp_l.html is preferably a smaller file than that required to download the new version ofFile.html
  • a comparison of the two versions of the file reveals that the bytes in locations $02 through $0B of version 1 correspond to locations $03 through $0C of version 2 CGABCDEFFADZMJKQ ZZXABCDEFFADZEJK
  • the preferred embodiment of the invention has the server transfer information to the requesting node (and/or one or multiple coupled nodes) about the length (in number of bytes) of the usable st ⁇ ng (or block) length starting from _block.n_start_location If it is one byte, the length is $0001
  • the File.remote_block.l_length $000 A
  • the preferred embodiment has the server transfer information to the requesting node (and/or one or multiple coupled nodes) about the locat ⁇ on(s) the new file that previously cached information may be placed
  • This is one means of implementing File.remote.new_block.n_location (l.a vi)
  • the Update.mfo section of File bp.l. html is preferably comp ⁇ sed of _block. l_start_locat ⁇ on ($0002) + _block ljength ($000A) + _new_block ljocation ($0003)
  • the invention also allows for any means that transfers part of a file from a server to a requestmg node (and/or one or multiple coupled nodes) and/or any means to direct the placement of said transferred part into a file structure on said requestmg node (and/or coupled nodes), wherem, said file structure is a replica (in part at least) and or will be a replica (m part at least) of one at least files on said server and/or coupled to said server.
  • the preferred embodiment of the mvention makes it fairly straightforward to implement this means As we have already specified a) the size of the new file to the requestmg node (and/or one or multiple coupled nodes) and b) the information needed to move usable cache information into relevant slots in the new file structure, it is preferable to send a single block with the new information to said requestmg node, m sequential order from start to finish Said requestmg node can then infer the location into which to slot this information as it will usually already have transferred all usable cache information into the new file structure For
  • the next part of the application describes a means to reduce the amount of data required to represent the textual component of information, particularly information coupled, in part at least, to the Internet (that max include files and/or web page information)
  • Said textual component may be representative of any natural language (eg French, German English) and/or any computer language (especially languages with a natural language component, eg Java, Javasc ⁇ pt, HTML Basic, Postscript, Adobe Acrobat), and or word processor files (that may mclude Microsoft Word and/or Wordperfect compatible files), and/or any other symbolic representation
  • the invention allows for any means (that may also referenced m this application as the Primary Text Compression Means or PTCM) that m part at least, shares the properties of (2.a.i) and/or (2.a.ii) Terms used in (2 a l) and (2 a n) have the same definition
  • Said Internet Files may be any file, and/or any other data and/or program structure, coupled to and/or potentially able to be coupled to one or multiple nodes of the Internet (and/or similar, eg Intranets, ⁇ Networks), and/or 18 in transit between said nodes
  • Internet Files may mclude, m part at least • HTML files, and/or • program files, and/or • audio files (eg sound files, packets carrying telephone conversations, packets carrying sound attached to video), and/or video files (eg pre-recorded video, live video, video conferencing), and/or image files ( gif, jpg, syn), and/or constructed files (see later m this desc ⁇ ption), and/or word processor files (eg Microsoft Word, Wordperfect etc ). and/or any other files and/or records an/or data structures and/or program structures
  • audio files eg sound files, packets carrying telephone conversations, packets carrying sound attached to video
  • video files eg pre-recorded video, live video, video conferencing
  • image files gif, jpg, syn
  • word processor files eg Microsoft Word, Wordperfect etc
  • Said potentially able to be coupled may include any information that is not currently accessible to the Internet, however, it is in a format and/or may be converted to a format that may be coupled to the Internet (and/or equivalents)
  • This may include, for example, • information on optical media (eg CD's, DVD's) and/or any other portable media, wherein said media is in transit and or in any other way, not currently accessible to the Internet (eg if the media is not mounted in a drive), and/or • information on one at least mass storage devices coupled to a user controlled data processing system, that is not currently connected to and or not currently accessible to the Internet , and/or information on one at least mass storage devices at ISP's, and/or web-servers, and/or any other one or multiple Internet nodes, where said information is not currently accessible to the Internet
  • optical media eg CD's, DVD's
  • any other portable media wherein said media is in transit and or in any other way, not currently accessible to the Internet (eg if the media is
  • Said transit between nodes may mclude any telecommunications means and/or transfer on any physical medium, in particular optical media (eg CD ROM, DVD)
  • Said text information subject to the Primary Text Compression Means may also be referenced as Compressible Text Information (or CTI) when in plain text form, and/or Dictionan Compressed Text (or DCT) when compressed
  • CTI Compressible Text Information
  • DCT Dictionan Compressed Text
  • the invention also allows for any means that applies, part at least, of 1 a l and/or 1 a n to text information for any other purpose This may mclude compression in part at least, of • information used in word processor documents (and/or equivalents), and/or • electronic books, magazines, newspapers, and/or • any other text applications
  • the Text Dictionary Means may be any means that provides one or multiple libraries of any symbolic elements, that may include • characters, and/or • words, and/or • phrases, and/or • sentences, and/or • paragraphs, and/or • pages and/or part pages, and/or • chapters, and/or • pictograms, and/or • part at least of previous versions of said one or multiple files containing text information (as referenced in l a above), and/or any one or multiple other files, and/or • any other symbolic representation and/or combmation of symbolic representations (that may include sequences of symbols used to represent computer programs and or data, for example HTML code, Javascript, Java, Acrobat, Postsc ⁇ pt) wherem, part at least of said symbolic elements are actually and/or are potentially, directly and/or indirectly, representative of one or multiple text strings (usually of any length greater than zero) in one or multiple Internet files and/or any other files containing text information, and said symbolic elements are preferably arranged, in part at least, such that said one or multiple
  • the Text Dictionary Means may m part at least, form part of one or multiple files containing its coupled Dictionary Compressed Text and/or may be, part at least, of any one or multiple other files and/or any other storage format means
  • the preferred Text Dictionary Means includes the use of one or multiple core text dictionaries, that m part at least mclude one or multiple of the symbolic elements described in 2.b. 20
  • the core text dictionaries are preferably supplied to multiple nodes on the Internet (and/or equivalent) in order to decompress files compressed, in part at least, using dictionary information.
  • Core text dictionaries are usually resident on one or multiple devices local to each node using PTCM.
  • DCT information may be created by one or multiple nodes, in part at least, using core text dictionaries; and or at locations remote from nodes that decompress and/or transfer DCT information.
  • core text dictionaries are used in the compression and/or decompression of text that is to be supplied to one or multiple other parties (eg. one or multiple nodes on the Internet), part at least of their content is usually common across multiple locations.
  • the dictionary When core text dictionaries are used to compress text information for local use, eg. to improve file storage means on a mass storage device, the dictionary may be unique, in part at least, and may be customised to meet the specific data content of the files that it is compressing.
  • the effectiveness of the Primary Text Compression Means is usually related, in part at least, to the success of replacing character (and/or any other symbolic) strings of information within Compressible Text Information, with pointers to equivalent strings in one or multiple core text dictionaries, such that, the data used to store the pointer information (and/or any support code) is less than that used to maintain CTI in uncompressed form.
  • pointers may be: • direct pointers, and/or • used in part at least, in calculating one or multiple other pointers and or any other means (eg. jump tables) that directly and or indirectly, in part at least, provide a means to regenerate, part at least of the original CTI, using part at least of the information within, one at least core text dictionaries.
  • means eg. jump tables
  • the present invention allows that said equivalent strings in the text dictionaries may be identical to their coupled text strings in the original C ⁇ and/or they may have any indirect relationship (eg. the replacement may be a translation to another language and/or part of an encryption means).
  • the number of bytes in said multiple files • may be reduced when stored on a mass storage means and restored, in part at least, to their normal content when required; and/or • may be reduced prior to transmission from at least one node on the Internet (and/or equivalent, including Intranets) to at least one other node, and restored in part at least, to their normal content when required, and or transferred to one at least other nodes, that in part at least may be DCT 21 format
  • Said transmission may be telecommunications and/or the physical transfer of one or multiple media means (eg removable d ⁇ ve cartridges, CD ROM's, DVD Discs etc )
  • PTCM may be used in part at least, to compress text information stored on a mass storage means (eg hard disks, CD ROM's, DVD's) This usually improves the number of files that can be stored on said mass storage means and preferably reduces the time to retrieve said files from said mass storage means
  • a mass storage means eg hard disks, CD ROM's, DVD's
  • a preferred embodiment of the mvention desc ⁇ bes a Data Interceptor Device that attaches to at least one hard drive, and/or CD ROM D ⁇ ve. and/or DVD ROM D ⁇ ve It may selectively restore, part at least, of the original file information as it passes from the mass storage means, to one or multiple data processing units (eg the server) Additionally, said device preferably creates Dictionary Compressed Text (DCT) from Compressible Text Information (CTI) Said device is referenced as a Data Interceptor Means (or DID)
  • DCT Dictionary Compressed Text
  • CTI Compressible Text Information
  • the invention seeks to replace (preferably as much as possible) the text information of a file with pointers to information am one at least dictionaries at one at least remote nodes
  • Said dictiona ⁇ es are preferably common across multiple nodes of the Internet (said nodes preferably include web-servers, and/or ISP's and/or end-users)
  • Said dictionaries may include other files known to be present at a remote node
  • Core dictionaries are preferably resident on devices that compress Compressible Text Information and/or reverse this compression, and/or readily accessible to said devices that compress CTI and/or the reverse 22
  • the preferred core text dictionaries may be combined in part at least with any one or multiple other core text dictiona ⁇ es and or any other types of dictiona ⁇ es, and/or any other data and/or program structures
  • Core text dictionaries may use any database format and/or other data structure
  • Core text dictionaries may mclude any file and/or database and/or any other data structure that includes any combination (m part at least) of
  • the preferred dictionary includes multiple character strings that may be words and/or phrases and/or sentences of alphanume ⁇ c characters that may include one or multiple non-alphanumeric characters
  • Core Text Dictionaries are preferably supplied in optical format and physically transported to the remote node
  • the invention allows for any means of coupling, part at least, of said dictionaries • to the means of creating (in part at least) a compressed version of said text and/or • to the means of restoring (in part at least) a decompressed version of said text
  • Part at least of compressed information may be encrypted This may use, in part at least, the method and or apparatus of trusted systems as desc ⁇ bed in the previously described disclosed documents
  • IDRM Image Data Reduction Means
  • the majo ⁇ ty of Internet images are presently transferred m compressed format
  • the usual compressed formats expected by browsers are GIF (eg blueball gif) and JPEG (eg redsquare jpg)
  • the present invention preferably provides a means for servers to recognise whether or not a requestmg remote node is compliant with the means of the invention
  • a means is preferably provided for compliant nodes to recognise that a particular file/image uses one at least means of the mvention (and as such may require additional processing at the remote and/or other locally coupled nodes) It is also preferable that non-compliant nodes can also access the image files
  • the preferred embodiment includes a compliance identifier m the file name (eg _ ⁇ drm (copy ⁇ ght 1999 to John G ⁇ ffits), to indicate the file/image is compatible with IDRM of the invention)
  • the compliance identifier is preferably located p ⁇ or to the tag (eg jpg, gif) m the image filename
  • the file name of a green square may be represented as greensqr_idrm.jpg
  • Non-compliant nodes would usually see this image as a JPEG file of an image called greenSqr_ ⁇ drm and handle it
  • Images that are compliant with the invention may be named using one at least Common Image Index Means (CDC) (see below) and/or one at least Image Building Protocol (TPB) Means It is preferable that a means is provided to indicate to remote nodes if one at least images includes one or both of CDC, IBP
  • the preferred embodiment replaces _ ⁇ drm with _ ⁇ drm_c if the image is named using the CDC means, and _ ⁇ drm is replaced with drm b if the image uses the image building means
  • the preferred embodiment replaces _ ⁇ drm with _ ⁇ drm_a if CDC and IBP are used
  • the web page may include an image reference to • greensqrjdrmj; jpg if it follows CDC protocol and does not use IBP
  • Non-compliant nodes preferably request the file greensqr_ ⁇ drm_c jpg
  • Compliant nodes preferably request the file greensqr_ ⁇ drm_c_l jpg (
  • Common Image Index (CIX).
  • the known art does not desc ⁇ be a coherent system for the naming and indexing of image information across websites and servers despite the fact that many different web addresses use the same commodity images
  • Well- organised websites may create an image folder such that identical images are used by multiple pages withm that website, however, the ISP and/or end user are likely to be caching multiple copies of the same image (under the same an/or different names) in their caches They are also likely to be downloading an image from website x (x 24 may be any site) when they have previously downloaded one or multiple copies of the image from one at least other sites
  • the Common Image Index seeks to minimise repetitive downloading of previously cached images
  • the invention desc ⁇ bes an absolute image index that is controlled by one at least predetermined image clea ⁇ ng houses and a relative image index that may be created by local entities (non-hmitmg examples including multiple website hosts, ISP caches, end-user caches) Moreover, the invention seeks to describe a means that permits non-compliant nodes to receive image information as per the expected norm
  • the absolute image index preferably allocates a unique name (preferably alphanume ⁇ c) to images submitted (and/or in any other way obtained) for absolute indexing
  • Absolute indexing is preferably performed by one at least image clea ⁇ ng house (that may have multiple geographic locations and/or multiple net Internet ID addresses)
  • Said clearing-house preferably maintains a database of all submitted images and allocates a unique ID to each image
  • a search is preferably made of the existing image database to verify that the image is not already catalogued This would usually involve comparing part at least of each image file previously indexed with the image file to be indexed
  • the preferred method of providing remote nodes with image information is to provide high performance Internet pipes directly to the image database maintained by the image-clea ⁇ ng house This contrasts to the present art wherein each website is the source of image information
  • the invention allows that images provided under the absolute mdex means may be sourced from any means with non-limiting options including common image databases maintained by web hosts, ISP's Individual websites may continue to source absolute images
  • DVD Digital Video Disc
  • the preferred method of naming image files under said absolute indexing means is to include • a unique identifier (eg AAAAAAOOOOOOl), and • an absolute index identifier (eg _a ⁇ x), in the extensions field of the image file name
  • the image of a green square may be identified as greensqr_(AAAAAA0000001_a ⁇ x)_ ⁇ drm_c jpg
  • the _a ⁇ x is preferably a reserved symbol and not used m the name of images that do not use ADC
  • the web page reference to the image excludes an absolute IP address directing it to the image source
  • ADC image servers for a particular remote node, are preferably those servers in closest geographical proximity to said remote node.
  • the remote node would normally request an image from the first choice and if not delivered withm a predetermined time it may request the image from the next choice, etc
  • the invention allows that non-compliant nodes may need to source images from the website server providing the web page the image is to be displayed withm (the usual method with the current art)
  • the preferred method is for the web page server to re-send the request to the image server (eg at the image clearing house)
  • the preferred means of returning the image to the requesting remote node (eg user) may mclude as non-limiting examples • the image server transferring the image to the web-server, that sends it to the requestmg node with the webpage server ID returned m the IP packet (as expected by the receiving node) • the image server sends the image directly to the requesting node with the image server ID in the IP packet • the image server sends the image directly to the requesting node with the image server ID replaced by webpage server ID in the IP packet
  • the webpage When an end-user wants to access a webpage, the webpage is usually accessed from the Internet and/ or from local caches
  • the known art usually checks the contents of the webpage for references to image files that are part of the page (and/or used for any other reason)
  • Local caches may be examined for the named image This may be used if present
  • a request may be sent for the image to be downloaded from a remote source This may be from an image cache at the end-user's ISP and or other end-users coupled to said ISP and/or any other Internet nodes In many cases the image is sourced directly from the webpage server
  • the known art usually caches information for separate websites in a file structure that separates the contents of different websites
  • website A where A may be any name
  • the Website A folder may have multiple sub folders that may be arranged in any hierarchical (and/or other means) structure
  • the structure usually reflects the structure used to store website A on its server Within Website A folder, one at least sub folder is preferably an Images folder that stores part at least of the images used by Website A
  • a webpage may include a reference to an image called examplejmage (where examplejmage may be the name of any image) This may be identified as being located at www websiteA images/examplejmage Locations that this image may be fetched from may include the images folder at the worldwide address websiteA, and/or an images folder in a websiteA folder in a user cache and/or ISP cache The image may also be located in the same folder as the
  • a cache When a cache is checked for the presence of one at least images, the known art checks for the presence of the image m the designated folder It is possible that the image is already cached m a folder withm the websiteA folder (and/or elsewhere), however, if it is not withm the designated folder, the image may be re-downloaded from an external source (eg the webpage server) This is a waste of bandwidth 26
  • m a user cache the websiteA folder may include a folder identified as webpageA_example that mcludes a copy of the webpage identified as webpage A example
  • the webpage, webpageA_example may reference an image that it expects to find in folder webpage_A.
  • this image may not be present m the cache in this location
  • the user node would usually then attempt to access examplejmage from an external node This is usually from the webpageA folder stored on the websiteA server It may also be accessed from an intermediate node
  • the user's ISP may have examplejmage cached in its own cached version of the webpageA folder This process may be despite the fact that examplejmage may already be stored in the images folder within the websiteA folder m the user's cache (eg from a page access to websiteA that references examplejmage in the images folder) It is also possible the multiple different images are stored withm different folders withm folder websiteA using the same name
  • examplejmage being found in multiple folders within the folder websiteA. it may also be located withm one at least other folders withm a user/ISP cache that cache other websites (and or any other files), for example websiteB (that may represent any website name)
  • folder websiteB may mclude a folder webpageB_example that includes webpageB_example
  • the latter may reference examplejmage in the images folder with folder websiteB (this is usually a different images folder to that desc ⁇ bed for the websiteA folder)
  • the browser and/or any other means
  • the known art may result in an inefficient method of caching images that may result m multiple replication of images m caches and the need to make external accesses to images that are already cached one at least times
  • the present invention seeks to overcome these deficiencies, in part at least
  • images, m particular images that may be used by multiple websites are allocated a preferably unique ID means (eg filename), for example, as previously described for the absolute image index It is preferable that these absolutely indexed images are stored at known locations that are preferably optimised to minimise duplication of image transfers
  • one at least image servers may provide images for a large number of websites and/or web host sites This may minimise the unnecessary duplication of the same image across multiple web host sites and/or multiple websites with the same web host and/or any other servers
  • ISP and/or user (and any other remote nodes) caches are optimised such that absolutely indexed images are stored in one at least locations accessible by a web pages from a plurality of websites
  • Non-limiting examples may include • an optical storage means coupled to the user node and/or ISP node
  • absolute indexed images may be supplied as libraries on optical media (eg CD-ROM, DVD)
  • User's may have part at least of this library and/or their ISP may have part at least of the library 27 • a wnteable storage means (eg.
  • the preferred embodiment has the browser and/or any other locally coupled means first access one at least ADC caches at the remote node (eg coupled to a user's node) If the image is not present one at least user caches, said means preferably requests the ISP to check its caches and/or caches of other customers of the ISP The next step may be to check one at least central image servers
  • the invention allows that ADC images may be accessed on any one at least nodes on the Internet (eg the webpage server) This arrangement may be configured such that a user (and/or ISP) preferably only caches one copy (or a minimal number) of a particular image
  • the preferred method to identify ADC images is to have a software means parse the image file names looking for _a ⁇ x m a preferably predetermined location
  • Remote nodes that are not compliant with the invention preferably continue to access ADC images using known means
  • Relative Image Index (RIX)
  • the invention also allows that there may be a need for a coherent means of naming images that is not as specific as the ADC means and that preferably does not rely on a centralised indexing means These are referenced as relative indexed images and are intended to provide a means of minimising unnecessary image transfers usmg a cataloguing means that is preferably local, in part at least, to one at least nodes on the Internet
  • the index names are preferably unique to that particular node, however, they may not be unique across different nodes and the same image may exist at different nodes under different names
  • RIX images are preferably provided with a new name if there are any changes to the image
  • the preferred method of naming image files under said relative indexed images is to mclude • a relatively unique identifier (eg _AAAAAA0000001 ), • a relative index identifier (eg _ ⁇ x), • the node ID that the images are relatively unique to m the extensions field of the image file name
  • the image of a green square may be identified as greensqr_(AAAAAA0000001_nodeID_r ⁇ x)jdrm_c jpg
  • the _ ⁇ x is preferably a reserved symbol and not used in the name of images that do not use RDC
  • Relative image indexing may be better understood by way of an example of a typical application
  • a particular example_webhost (that may represent one at least, any webhostmg facility) may provide website services for x websites (x may be any number)
  • Said example_webhost max provide an image indexing service for one or multiple website customers
  • each RDC provider is given a unique image index node ID that preferably is included m the image name of images indexed by said RDC provider •
  • part at least of the images referenced by one or more websites located at said webhost are given an ID that is unique to that webhost •
  • RDC images are preferably located on an images server means local to said webhost (the images may, in part at least, be located anywhere) When a web page is loaded onto one of the servers controlled by said example_webhost.
  • a means at said example_webhost examines references to images withm said page • one at least image names referenced by the webpage may use an ADC and or RDC means and/or one at least any other type of image naming system (for example the known art of image naming for webpage images)
  • the preferred embodiment examines non-ADC/RDC images and compares them to the existing database of RDC images (it may also compare images to a database of ADC images, however, said database may not be as comprehensive as the central database of ADC images) • If an image matches an existing database image, the image name within the webpage is preferably changed to that of the relevant RDC image m the database • If the image is new to the database, a new RIX compatible image name is preferably created and the image name in the webpage suitably adjusted Changing the webpage image name is preferably done before the webpage goes live (for example, to prevent two versions of the image name existing in cyberspace)
  • the invention allows that a RDC image name may be changed to an ADC and/or a non-ADC/RDC image name changed to an ADC name by any means including means located at said example_webhost
  • a means is preferably located at said example ebhost that intercepts remote node requests for access to ADC/RDC images from particular websites and sources the image from the RDC server (usually locally) and or redirects to an ADC server (as previously described)
  • the IP packets returned to the requestmg node are preferably suitably modified to meet the expectations of the requesting node
  • These requests would usually be from non-compliant nodes (usually from a browser having difficulty with an embedded absolute image address)
  • Compliant nodes preferably direct requests for images directly to the appropriate servers
  • a webhosting facility may index a large number of images into RDC mode This reduces the number of raw images that need to be examined by a central image indexing means
  • example_webhost may compare RDC images with ADC databases and rename RDC images to the approp ⁇ ate ADC name, further rationalising the development and maintenance of the ADC database 29
  • example_ webhost maintains a database of converted image names and is able to deliver an ADC version of the image when a request is made for the RDC version This will usually only occur when pages have been distributed to cyberspace with the RDC name prior to conversion to the ADC name
  • a particular example_webhost may have a limited number of images that it may need to index and it need only provide a name unique to that node ISP's and end-users (as non-limiting examples) may be retrieving images from multiple physical sites They may receive an image from one site that uses the known art, the same image from another site using AIX means and the same image from multiple other sites with different RIX names
  • the invention allows for any means to rationalise these images at nodes remote from the server of the ⁇ mage(s)
  • end-user compliant nodes include a means to examine image references m incoming and/or cached web pages (preferably all pages)
  • ADC cache means ADC images that are not present portable cache means (where used) are preferably stored m a w ⁇ teable cache means
  • RDC cache means While the invention allows that RDC images may be distributed to users on portable media, they will usually be stored in a dynamic cache means coupled to said end- user means and loaded to said cache from the Internet
  • the end-user maintains • a RDC cache means (RDC_cache_ext) for images loaded from external nodes as RDC compatible images, preferably with a corresponding webpage reference to the RDC image and • a RDC cache means (RJX_cache_user) for images loaded as non-ADC RDC formats and converted to a user RDC format (as desc ⁇ bed later)
  • RDC_cache_ext a RDC cache means for images loaded from external nodes as RDC compatible images, preferably with a corresponding webpage reference to the RDC image
  • RJX_cache_user for images loaded as non-ADC RDC formats and converted to a user RDC format (as desc ⁇ bed later)
  • GID General Image Dump
  • all cached images are stored m one at least of ADC.
  • the prefe ⁇ ed embodiment of the invention preferably guarantees that ADC and RDC images are stable over time Any change to these images is preferably reflected in a new name This may allow the user to perform useful and reliable image cache rationalisation
  • images loaded under other naming formats may be subject to unpredictable change
  • the image name may be changed at a website with no content change
  • the image content may be changed with no name change This may limit the user's options m local image cache rationalisation
  • end-user nodes include a means to examine incoming and or cached RDC images and compare them with images in the ADC cache It is preferable that images that match ADC images have their names changed to the corresponding ADC name It is preferable that the matching RDC image is removed from the RDC cache It is preferable that the RDC image reference in the co ⁇ esponding web page(s) is changed to a reference to the ADC name
  • a non-exclusive option may be to leave the RDC image reference the web page and provide a means that examines the UARLM (see next paragraph) for an equivalent ADC image name and a means for said ADC image to be fetched from the ADC cache
  • a database (or any other reference means) is maintained by the end-user node that cross- references RDC images with their corresponding ADC name
  • This cross-reference means is referred to as the User ADC/RDC Lookup Means (UARLM)
  • UARLM User ADC/RDC Lookup Means
  • end-user nodes include a means to examine incoming and or cached RDC images and compare them with images in the RDC cache It is preferable that images that match other RDC images have their names changed to the corresponding RDC name It is preferable that the matching RDC image is removed from the RDC cache It is preferable that the RDC image reference in the corresponding web page(s) is changed to a reference to the previously cached RDC name
  • a non-exclusive option may be to leave the RDC image reference in the web page and provide a means that examines the URRLM (see next paragraph) for an equivalent RDC image name and a means for said equivalent RDC image to be fetched from the RDC cache
  • references to RDC ⁇ mage(s) withm a web page accessed by an end-user node are checked for availability from the • RDC cache(s), and/or • the UARLM is checked for a cross-reference for the RDC image in the AIX cache, and/or • the URRLM is checked for a cross-reference to another RDC image
  • the UARLM and URRLM are maintained even after the corresponding and/or cross-reference images may have been deleted from the various caches at the end-user node 31
  • end-user nodes mclude a means to cache non-ADC RDC images such that the images used by multiple web pages and/or websites are accessible from one at least central repositories located at said end-user node
  • a non-limit g example of a central user repository is a cache means that stores images referenced by webpages sourced from multiple websites
  • One non-limitmg example of said central repository in particular is where the filing of said images is not based, in part at least, on file structures dictated by the file structure of websites and or webpages
  • the preferred central user repository is referenced as the General Image Dump (GID)
  • GID General Image Dump
  • Non-ADC/RDC images are preferably dumped in the GID together with a tag indicating the name, and/or the source and or the validity date of the ⁇ mage(s) (eg www gatecrashers com/nanohardjpg, last update 12 March 1999)
  • a means is preferably provided that checks the GID for the image name
  • the GID may contain multiple copies of the same image and/or images that are already present in ADC and/or RDC caches It is preferable that the end-user node includes a means to rationalise the GID
  • the preferred means uses a user controlled RDC cache means (RDC_cache_user) with each image uniquely named for that user system Those expe ⁇ enced in the art will be able to adapt means described for ADC and/or RDC names to achieve this outcome
  • the preferred embodiment checks the images in the GID (preferably by a content search) and compares them with images m RDC_cache_user Matching images in the cache are preferably deleted and cross-referenced m a User User RDC lookup Means (UURLM) This preferably uses similar processes for cross-reference means desc ⁇ bed for UARLM URRLM When the browser and/or any other means searches for images in the GID.
  • UURLM User User RDC lookup Means
  • the UURLM for the image name and address and if present sources the image from RDC_user_cache It is preferable that a means is provided to verify the image m the cache is valid compared with that currently on the server (eg using the means described for validating GID images) If the GID contains images that are not in the RDC_cache_user, said image is preferably given a user RDC name and stored m the RDC_cache_user The onginal image name is preferably cross-referenced to the RDC name in the UURLM
  • the invention seeks to take advantage of the fact that many images transferred on the Internet are computer generated, in part at last Typical non-mclusive means used to generate images are paint programs and 3D modeling programs (eg ray tracing, polygon methods)
  • the known art typically generates an image that may use computer means and subsequently transfers this image to a server for 32 dist ⁇ bution via the Internet
  • a remote node downloads the image from the server, it usually receives the actual image in a compressed format (eg GIF, JPG)
  • the actual number of user instructions eg, keystrokes, mouse movements, mouse clicks, wire frame co-ordmates
  • the invention seeks to describe a means wherein the commands used to create an image are recorded and subsequently transferred to one at least servers for dist ⁇ bution via the Internet, preferably instead of transfernng actual image information
  • the node that will display the information preferably reconstructs
  • a means is preferably provided that creates the ⁇ mage(s) from the information with the relevant image file
  • one at least remote nodes includes image creating means that are equivalent to and/or able to emulate the image creating means used to initially create the image
  • a non-limitmg solution is to include a standardised paint program and or ray tracing program and/or polygon generating means at each remote node and at means used to o ⁇ gmally create images
  • the preferred embodiment tracks, in part at least, the input means (eg key presses, mouse movement, mouse clicks) used to instruct the image generating means that creates the original image
  • The are preferably recorded in a predetermined format and transferred to one at least servers and/or remote nodes for subsequent regeneration of the image by applying said record of input means to one at least image generating means at said server and/or remote nodes
  • Another non-limitmg example may track the creation of a wire frame used as mput to a polygon generating means 33
  • the mvention allows that equations may be used to represent part at least of an image
  • the following non-limitmg example may be used, m part at least, to describe an image building means
  • the invention allows for the construction of simple images and the construction of complex images from a plurality of simple images that, in part at least, are generated by an image construction means
  • the image construction means of the present mvention is a means that unlike the known art, mcludes more than the decompression of compressed image information to create digital information suitable for use in a display means
  • ImagejSize This is preferably expressed as the number of pixels (eg x60y80, for an image of width 60 pixels and height 80 pixels) While the preferred embodiment contains images withm a rectangle (or square) any bounding means may be used (eg circle, ellipse, t ⁇ angle)
  • Image_Background This describes the background colour of the image, preferably as a 24 bit colour
  • the preferred coding system has red represented by the first 8 bits, green by the second 8 bits and blue by the last 8 bits
  • the invention also allows that a range of colours may be used to represent the background, for example.
  • S000000-00007F would have all pixels with no red and green component and a blue component $00-$7F as the background colour
  • Image_Transparency This is preferably used to control the behaviour of the image background As non- limiting examples, a value of 0 may result m the background colour being displayed as designated A value of 1 may indicate that the colour is transparent to underlying graphics (eg the web page behind may show through) When an image is a composite of multiple images (as described later), a value of 2 (for example) may indicate that said background is transparent to underlying images
  • Image_Translucenc ⁇ This is preferably used to control the translucency of the image
  • a value of 0 may indicate that the image is solid with no translucency to underlying images, a value of $EF would result m the object not being seen
  • Intermediate values preferably blend (to varying degrees) the image with underlying images
  • the invention also allows that images may have a vanable translucency means
  • Said variable transparency is preferably defined as string of subumts, wherem each subunit defines a degree of transparencj (trans_degree) and the period of time said level of transparency applies (trans time)
  • the sequence 00/05, 10/05, 20/05 may indicate that the transparency is 0 for 5 video frames, $10 for 5 frames and $20 for a further 5 frames
  • the invention allows that the sequence may be any length
  • the sequence may be repeated from zero to infinite times at one or multiple intervals Any default is allowed for when the sequence is no longer cycling
  • the sequencejerminator preferably describes the behaviour at the end of a sequence
  • DynamicJFlag This is preferably used to indicate whether the image is static (eg a blueball is statically displayed) eg flag set to zero or if the image has a dynamic component, eg the flag set to 1 34
  • Non-limitmg examples may include • a means (eg ray race) to indicate that the image is the result of the preferably realtime output of a ray tracing means This preferably mcludes a means (eg refresh_period) to indicate how often the image should be refreshed This is preferably expressed as video frames For example rayjrace may be represented by the value 1 and if the image is to be updated every second frame, the value of refresh j>e ⁇ od may be 2
  • a means eg polygon to indicate that the image is the result of the preferably realtime output of a polygon generation means
  • polygon may be represented by the value 2 and if the image is to be updated every second frame, the value of refresh je ⁇ od may be 2
  • a means (eg anini) to indicate that the image is animated using a sequence of images This preferably mcludes a means (eg image_number) to indicate how many images are required for the animation It preferably includes a means to indicate the sequence that the images are displayed in (eg image_sequence),eg 01,02,03.04 may play a four image animation m sequence, whereas, 01,02,03,04,04,03,02.01 may play the animation in sequence and then reverse the sequence
  • It preferably includes a delay means ( ⁇ mage_delay) that indicates how many video frames (or any other reference) each image is displayed for It preferably indicates a means (repeat nfo) to descnbe the behaviour of the animation on completion of the sequence Those experienced in the art should be able to adapt the means desc ⁇ bed for sequencing translucency to the sequencing of animations
  • a means eg live feed
  • a means eg, broadcast TV that is captured usmg means desc ⁇ bed later m this specification
  • This preferably includes a means (eg source ndicator) to indicate the source of the image
  • Image Type a means (eg type) to indicate special types of images
  • Non-limitmg examples may include Jext (wherein the image is a box displaying text), _scroll up (an object that may be used to scroll text up) and other text manipulating objects
  • Reference Image Name a means (image_ref_name) to indicate the constructed image name
  • image_ref_name a means (image_ref_name) to indicate the constructed image name
  • it may include the name of the frames that comprise the animation
  • the file name may be that of the complex image
  • the invention allows that an existing object may be fed into the image construction means and manipulated to produce one at least other images
  • blue_ball may be supplied to the image construction means and the blue pixels replaced by green pixels to produce a green ball
  • the image )bject_name in this non-limiting example is blue_ball and green_ball may be the ⁇ mage_ref_name of the constructed image
  • the object represented by ⁇ mage_object_name may itself need to be constructed
  • Non-limitmg examples may include • _ka_jpg for a known art jpg image (no processing usually required apart from known art decompression), • _ka_gif for a known art gif image (no processing usually required to create image apart from known art decompression), • _aix for an absolute mdexed image (no processing usually required to create image apart from decompression where applicable), • _rix for an absolute indexed image (no processing usually required to create image apart from decompression where applicable), • _colourburst for an image that is created, in part at least, by applying the information in construct_sequence to a preferably standardised pamt means This may use (preferably standardised) hardware graphics engines • Jightsculpt for an image that is created, in part at least, by applying the information m construct_sequence to a preferably standardised ray tracing program This may use (preferably standardised) hardware graphics engines • Jightsculpt for an image that is created, in part at least, by applying the information m
  • Image Construction Instructions a means (eg construct_sequence) that directs said image builder to construct an image For example move cursor to xl,yl, start square, drag square to finish point at x2,y2
  • the construct_ sequence may define a series of images, for example, to create an animation sequence 36
  • Non-limiting examples may include • changing part at least of the pixel colours in an image (eg, replace the va ⁇ ous shades of blue in an image with green to change a blue ball to a green ball), • expand or compress part at least of an image, • perform mathematical operations on part at least of an image, eg cause water to shimmer
  • Said part at least of the image may be defined by any means, non-limitmg example mclude delimiting a part of the image by the x,y co-ordinates of the image, and or defining a certain colour(s) p ⁇ xel(s), •
  • the construction of an image at a remote node may be a simple image as described above
  • the image may also be more complex consisting of a plurality of simple images, each of which may mclude the means described for simple image construction and/or any other means of image generation
  • Canvas_Size This is preferably expressed as the number of pixels (eg x230y300), for an image of width 230 pixels and height 300 pixels) While the preferred embodiment contains images withm a rectangle (or square) any bounding means may be used (eg circle, ellipse, triangle) This preferably defines the image display area available to incorporate all the simple images that are part of said complex image
  • a means may be mcludes to define where the actual image is displayed withm a web page and/or any other means
  • Number lmages Preferably a hex number indicating the number of simple images withm the canvas This may be any number greater or equal than one
  • CanvasJBackground This describes the background colour of the canvas, preferably as a 24 bit colour
  • the preferred coding system is as descnbed for Image Background earlier
  • Canvas_Transparency This is preferably used to control the behaviour of the canvas background As non- limiting examples, a value of 0 may result m the background colour being displayed as designated A value of 1 may indicate that the colour is transparent to underlying graphics (eg the web page behind may show through) In the preferred embodiment the simple images follow the attributes defined as previously described eg. transparency, translucency
  • Canvas_Translucency This is preferably used to control the translucency of the canvas For example a value of 0 may indicate that the image is solid with no translucency to underlying objects (eg web page), a value of $FF may result m the object not being seen Intermediate values preferably blend (to varying degrees) the image with underlying images
  • the invention also allows that images may have a variable translucency means
  • the mvention allows for any, one at least, transparency means desc ⁇ bed for images to be applied to the Canvasjranslucency means Part only of the canvas may be given transparency/ translucency (and/or any other) attributes 37
  • Image Co-ordinates A means to describe the location withm the canvas of each simple image
  • the preferred embodiment allocates an x,y co-ordmate of 0,0 to the bottom left hand side of the canvas
  • Each image is preferably allocated an x,y co-ordmate withm the canvas that the bottom left position of each image is located at
  • the invention allows that only part of any one at least images may appear on the canvas This may use negative co-ordinates
  • the preferred means lists each simple image co-ordmate in the sequence they appear m the Image Ji st (see below)
  • Image_List A means to track the simple images in said complex image
  • the preferred embodiment uses a list of the referencejmagejiame for each simple image
  • the invention also allows for any means the allows the priority of images within the canvas to be determined (for example to determine which Image(s) appear m front of others when plural images occupy the same area of the canvas
  • the preferred means list the lowest p ⁇ ority image (le the one closest to the canvas) first in the Image_L ⁇ st and the foremost image last in said Image_L ⁇ st
  • the invention allows for a buffer means that stores component images (that may include duplicates of the same image) dunng the construction of a complex image)
  • the invention allows that the means described for the present invention may be used to output images in a format suitable for use with the knoxvn art of browser design
  • the means of the invention may also be to used with any other means, that may mclude those desc ⁇ bed in this specification and other specifications incorporated by reference
  • the known art usually supplies an image in a standard compressed format eg gif, jpg from a server means to a remote node means
  • the present invention describes plural methods of reducing this image into component parts
  • Said component parts can preferably be digitally described with fewer bytes than used when the actual digital representation of each pixel and/or groups of pixels in an actual image is compressed
  • the means of the invention preferably provides a more compressed version
  • the means of the invention may not be standard with known display (eg browser) means a means may be required to transfer images in browser compatible format
  • Non-limiting means to achieve this may include adapting known browsers (and/or creating compatible browser) to include part at least of the means of the present invention
  • Disadvantages of this may include the need to significantly rewrite existing browsers
  • Another doxvnside is that browser usually run under the host operatmg system, are written in high level languages and may have degraded performance when performing the additional processing required by this specification
  • the insertion of images into webpages (and/or any other means) is transparent to the browser and/or any other display means
  • the preferred embodiment of the invention provides for a separate means that implement part at least of the means of the present invention transparently and/or independently of the browser means and preferably of the operating system means This is referenced as the transparent_ ⁇ nternet_processor means
  • image information is written directly (direct jmage jnsertion) to the display means of a User Controlled Data Processing System (UCDPS)
  • UCPS User Controlled Data Processing System
  • Said transparentjnternet_processor may be implemented using one at least system processors
  • a means preferably hardware
  • the preferred embodiment of the mvention uses one at least processing means that are additional to the UCDPS system microprocessors to perform, m part at least, the means
  • Said transparentjnternet_processor may produce images suitable for use by known browsers and transfer said images to said browser.
  • the invention allows that images created using part at least of the means desc ⁇ bed for the present invention may be packaged into a format suitable for use by known means, eg supply to a browser means as gif and or jpg images
  • animated images they may emulate any animation protocol (eg gif animation)
  • said transparent jnternet_processor maintains control (m part at least) of images constructed using the means of the invention and inserts and/or overlays said images constructed, into web pages and/or any other means
  • One method couples a means to known browsers such that said transparentjnternet processor is aware of the display co-ordmates of web pages displayed on a UCDPS and knows the pos ⁇ t ⁇ on(s) in the page that the images belong
  • An alternative is a means wherein said transparent jnternet -rocessor can automatical!) determine the location of images on a UCDPS display means
  • a web page may have an image (marker-means) that is a rectangular outline defining the position of an image Said outline may be two pixels thick - the outer almost black (eg $010101) and the adjacent pixels slightly lighter (eg $020202) The fill in the rectangle may be one shade darker than white (eg $FEFEFE) This combination is unlikely to represent any image m practical applications Said image may be referenced in
  • the method of producing complex images descnbed for the invention may also be used with any hardware means that stores graphic objects in multiple graphics buffers and dynamically combines image components durmg the display process This may apply (as a non-limiting example) when said combines, occurs while a video frame is output to a monitor It may apply (as a non-limiting example) when one at least objects may be moved around a display (eg a video monitor) with no requirement to rewrite, in part at least, the display information of other objects Said no requirement to rewrite may apply when said other object was previously overlaid bv one at least objects that may be said moved around a display and is subsequently revealed in part at least
  • the invention non- exclusively, allows for the use of the overlay means described in pending WO 98/54672 by this inventor titled "Securely Metering Advertising m Data Processing Systems that in part describes a means of overlaying display information
  • the invention non-exclusively allows for the use of part at least of the means desc ⁇ bed m Microsoft Corporation US
  • the means of the present mvention may be readily adapted to produce a browser means that is functional online and offline
  • the present information desc ⁇ bes a means for delivery information from a plurality of sources -both local to the user and from servers Said means may be adapted by those expe ⁇ enced in the art such that it emulates other online functions
  • the browser and/or other means local to the user may not be aware that the system is online or offline
  • the secure metenng means described in WO 98/54672, WO 97/25675 and WO 96/27155 incorporated by reference, provide a secure means for metenng usage of commercial images that may be provided for use with the system and for monitoring advertising displayed to the user This may apply when the remote node is online and/or offline
  • the invention also seeks to desc ⁇ be a means to reduce the amount of digital information required to transfer telephone conversations, for example via the Internet
  • Voice Recognition Means The known art describes methods of compressing the digital data generated when a voice (and/or any other sound) is digitised
  • the present invention seeks to reduce digital data by means of a voice dictionary lookup means
  • voice recognition software may be used 40 to convert a conversation into textual information This information may then be transferred to one at least other parties and reconverted to sound
  • a more sophisticated solution relies on the fact that for a particular speaker, their conversation is basically a limited number of phonemes that may have a va ⁇ able pitch and amplitude The spacing between phonemes may be vanable A vanable amount of a conversation usually consists of pauses
  • the invention seeks to describe a means wherem a phoneme dictionary is created for an individual
  • the complex waveforms representing each phoneme are preferably digitised and each provided with a unique ID
  • One phoneme may be allocated for silence
  • One byte may encode ID's for all phonemes for a particular speaker
  • said other party preferably has local access to said phoneme dictionary This may have been previously transfe ⁇ ed prior to making connection and/or prior to and/or during a particular telephone call
  • a similar process is preferably applied to other participants in the conversation
  • the preferred embodiment of the invention digitises a speaker's voice and seeks to break the digital stream into recognisable phonemes (phoneme J sic) It then seeks to get a best fit by adjusting the amplitude and/or length of the phoneme and/or spacing between phonemes and/or any other means to get a best fit
  • one byte may represent all phonemes for a user (including a code to indicate silence and one to indicate no fit possible (secure processing means below))
  • One second of digitised speech may require 8k bytes to represent in uncompressed form Said one second may be represented by only 20 phonemes (for example)
  • For each phoneme another byte may represent amplitude (phoneme_amphtude)
  • Each phoneme may require another byte to desc ⁇ be the length of the phoneme (phonemejength)
  • Another byte may be used to indicate the time between phonemes (phonem spacing) This equates to approximately 80 byte to represent a digital signal normally requi ⁇ ng 8000 bytes A preferably
  • the simplest way of creating a user phoneme library is to create a series of sentences that cover all phonemes, preferably allowing some repetition and variation in use These are digitised to create the basic user phoneme library
  • the receiving means uses this information to reconstruct the voice
  • the invention further allows that the means that uses voice recognition to create text may be combined part at least with said phoneme compression means
  • the invention further allows that the preceding means may be open to abuse (eg synthesising voice patterns)
  • the invention allows for any means that secures telephone conversations that in part at least use digital means and in particular the means of the present invention
  • a secure voice system may apply
  • the voice is processed as described above
  • the resultant digital information is encrypted by a secure processing means coupled to an 41 electronic appliance (eg telephone, UCDPS) local to one at least participants in a telephone call
  • Said secure processing means is preferably controlled by a particular user
  • a service provider receives the information, verifies its o ⁇ gm, decodes, and re-encrypts for transfer to one at least other parties to the conversation
  • Said re- encrypts is preferably specifically targeted to another secure processing device, preferably unique to said caller(s)
  • the call can be thus verified as to origin and protected against eavesdropping
  • the call is likely to be one of thousands transiting said service provider, it is difficult for third parties to determine that two at least parties have even
  • Figure 1 shows a general overview of a non-limiting example of how the invention may be applied in a simplistic embodiment Those expe ⁇ enced in the art will be able to adapt it to more complex arrangements
  • An Internet usually has to be created
  • developer 1 may be the originator of a file FL1
  • Said developer may just have updated the file from version 2 (FL1 v2) to version 3 (FL1 v2)
  • Said developer may have used a library means, for example 6
  • This may include as non-limiting examples a text dictionary means 2 compatible with the text compression means of the mvention, ADC image library 3 (that may mclude an optical library 3a and or a w ⁇ teable library 3b, eg on hard disk), a RDC image library 4 standard GIF and JPG images 5, the user GID 7 and user RDC 8
  • the developer may create a web page for example using suitable software eg Frontpage This may reference images stored in one at least image cache means (eg the image libraries shown m 6
  • Server 31 are preferably responsible for generating the various partial file update means described for the present invention
  • a complete file FLl v3c for non-compliant nodes and compliant nodes that do not have cached older versions of the file
  • a file FLl v2/3 to update remote nodes with version 2 to version 3
  • a file FLl vl/3 to update remote nodes with version 1 to version 3
  • the server means 31 is preferably responsible for adding the text compression means to files and/or parts of files •
  • the developer may create the va ⁇ ous files required by the invention and upload them to said server 31 This may require an update means 15 to
  • the developer 1 may also need to upload image information to server 31
  • images 25 that are knoxvn to be available at the server (eg RDC images local to said server 31) and/or at other user accessible locations (eg ADC image servers)
  • the developer 1 preferably does not need to waste bandwidth by uploading these images
  • Images 26 that are not known to be located at one at least user accessible means are preferably uploaded to server 31
  • they preferably may be re-catego ⁇ sed to ADC and or RDC images
  • a means eg update means 15
  • Object 30 in the drawing represents the complex data pathways and intermediate nodes of the Internet
  • Webhost 31 preferably has access to its own libraries 6a It preferably includes a means 32 to determine if a requestmg node is compliant with the invention (eg compliant ISP 50) or non-compliant (eg NC Node 50) Said means to determine have been descnbed in detail earlier in this specification
  • said server 31 preferably delivers FLl v3c in a format consistent with the known art
  • said ISP 50 may take advantage of the invention to potentially reduce the amount of data transferred when retrieving File FLl v3 Whether or not said ISP 50 has local access to a cached version of the file FLl.
  • Non-compliant node NC Node 61 would usually be sent the file usmg known means The ISP is thus able to conserve bandwidth (and preferably cost of data) and ret ⁇ eve files faster The non-compliant node 61 is restricted to old means, however as these links are usually untimed local calls, the mam downside is slower transfers from ISP to user (and/or the reverse) In the case of compliant node 70 coupled to said compliant ISP 50,
  • ISP 50 may retrieve the updated file from node 70 This is usually a fairly cheap option, however, it may tie up node 70 Should node 70 have a cached version of version 1, it may create a partial file update means to update ISP version 1 to version 3
  • An alternative is to send a message to server 31 requesting an update means that enables ISP to update version 1 to version 2, enabling it to use the already cached FLl v2/3 to furthei update this to version 3
  • version 3 may be a text file abcdefgh
  • version 2 may be bbbdefgh
  • ISP 31 preferably has (and/or can generate) the full text of version 3 FLl v2 3 may instruct the retention of defgh m the construction of version 3 and send the st ⁇ ng abc to replace bbb
  • the server usually has no requirement to store the obsolete string bbb of version 2 FLl vl
  • server 31 may instruct ISP 50 that sequence efgh is to be retained, that it requires a d before said sequence to update to version 2. such that ISP 50 may use the FLl x2 3 to further update the file
  • server 31 may generate a placement command that can be used to instruct node 70 to send the actual characters required to convert ISP version one to version 2 Those experienced in the art will be able to design plural combinations It is preferable that said server 31 also includes a means to determine themost efficient options for these updating means Similar processes may be applied to local nodes sharing ISP 50 (for example) and/or any other nodes
  • Figure 1 also depicts a non-compliant ISP 80 that may be coupled to non-compliant node 90 and compliant node 99
  • Non-compliant node 90 preferably functions normally as per the knoxvn art
  • Compliant node 99 preferably continues to have access to the features of the invention, however, it may miss out on some of the cachmg enhancements that mav be provided by coupling to a compliant ISP Non-compliant ISP 80 ma; get some reduction in data transfers because of the usually reduced demands of the compliant nodes
  • the ISP cache in particular may become inefficient as it caches multiple versions of the same file and where a cached 44 version of Fll .v3c may have met the requirements of Node 80 and 90 with the known art.
  • said ISP 80 duplication in part at least, may consume more bandwidth.
  • Figure 1 further depicts non-limiting examples of means that may be coupled to a compliant node.
  • the prefe ⁇ ed method couples an electronic appliance (eg UCDPS 105) to the Internet is via modem 101.
  • This is preferably by an Internet (and/or any other function) Processing Engine 100.
  • Said engine 100 may be a functional block running under the operating means of said electronic appliance, in part at least. It may run transparently to said operating means and use the processing means of said appliance, in part at least.
  • the prefe ⁇ ed embodiment is to construct said engine 100 as a discrete processing means. It preferably emulates the functions of an Internet Interface such that means on the electronic appliance 105 side may not know if the system is online and/or offline.
  • all Internet caching is controlled by said engine means 100.
  • engine means 100 that delivers information to browser 106 from local caches (not shown) and/or libraries 6d as non-limiting examples. This is preferably at high speed.
  • Said engine 100 preferable includes and/or is coupled to secure processes, in particular those described in the documents incorporated by reference. Said engine preferably intercepts incoming files prior to being passed to (and/or originating from) the browser and/or any other means coupled to said electronic appliance 105.
  • the files may require the file building means 115, the image building means 116, text compression/expansion means (not shown).
  • Said engine 100 may also be coupled to a phoneme processing means 120 that preferably includes a microphone 121 and speaker 122.
  • the invention allows that the browser may be part of said engine means 100 rather than and/or in conjunction with the processing means of said appliance 105.
  • Information processed by said engine 100 may be transferred to said browser 106 in a means compatible with the known art for subsequent display via the system graphics means 107.
  • the invention allows that engine 100 (and/or any one at least coupled means) may inject display information directly into said system graphics means 107.
  • the preferred means provide a separate graphics buffer 108 that, in part at least, is under the control of engine 100.
  • the outputs of 107 and 108 are preferably mixed for output to monitor means 110. This is described in detail in the specifications incorporated by reference.
  • Figure 2 describes the preferred embodiment for dictionary text compression means.
  • the text compression means is preferably used in conjunction with the partial file means.
  • Object 150 is a non-limiting example of a file suitable for use with the FBP means of the invention.
  • the commands 151 direct placement of text and 152 is the update text string.
  • One aim of the invention is to compress the text strings in files.
  • One non-limiting means is depicted in object 155 that represents the means of 150 with the addition of text dictionary compression means.
  • the dictionary means used 157 is preferably used to indicate the dictionary used to compress the information and 45 usually need to reverse the process
  • the invention allows for the use of multiple dictiona ⁇ es
  • a map means 158 is preferably provided to identify sequences of compressed and plain text For example, a bit-map may represent the sequence, wherem 0 represents words not in the dictionary and a 1 a word in the dictionary With reference to figure 2.
  • a dictionary lookup means 159 preferably replaces words (and/or any other sequence) with a reference to said word/sequence in said dictionary
  • the residual text 160 that is not coded (in this pass at least) may be left as a text st ⁇ ng
  • a means is preferably included to delineate words/ sequences The reversal of this process to regenerate the original information should be obvious to those expe ⁇ enced in the art
  • Intrachip and Interchip signal propagation using optical means may require an increase usage of data processmg as compared with known means however, this increased processing time is preferably more than offset by the reduction in bandwidth required for transfer of information over network means
  • the prefe ⁇ ed embodiment allows for the use of distributed processing (preferably using many low-cost CPU's) This may require a large degree of mterconnectivity Said mterconnectivity may mclude the integration of multiple processors mto a single IC and the connections between IC's and modules
  • One means to improve said mterconnectivity is by optical means, m particular those disclosed herewith It will be appreciated that said optical means may have application in areas other than the present invention
  • the present art of semiconductor design is such that the propagation of elect ⁇ cal signal withm an integrated circuit may cause greater delays than the switching of electronic devices (eg logic gates) withm said IC
  • Said optical means may allow for a means of converting, in part at least, one or multiple elect ⁇ callx generated clock signals (that may originate within and/or external to an IC) into one or multiple electromagnetic frequencies (with the preferred bandwidth across the optical and/or infrared spectrum) for transmission to one at least optical receiver means (that may be withm and or without the IC) that, m part at least convert the received optical s ⁇ gnal(s) into electrical signals suitable for clocking (directly and/or indirectly) semiconductor devices (within and/or external to the IC)
  • the path may be direct (eg electrical to optical to electrical), and/or indirect (eg electrical to optical, to optical, to electrical, to optical, to elect ⁇ cal)
  • the invention also allows that any one at least clocks may be created external to an IC and enter m optical form and/or that any optical clock created withm the IC (and/or passing through the IC, using any means, that may include directly and/or indirectly clocking devices withm said IC) may exit said IC in
  • optical signal in this specification may refer to any one or multiple electromagnetic frequencies 46
  • Optical propagation of clocks may have advantages, non-limiting examples may include: i) the propagation of optical signals is constant and not affected by capacitive delays, ii) the propagation delay is a simple calculation given the physical location of the transmitting source(s) and one or multiple receix ⁇ ng sources. iii) minimise high frequency noise along conductors. iv) the system may be readily adapted from the known art for high speed transmission of fibreoptic signals, to permit clock speeds of multiple gigahertz that for practical purposes are synchronous to multiple targets. v) the ability to get the clock to parts of the chip that may be heavily congested by wiring.
  • FIG. 3 shows one a ⁇ angement of the invention.
  • the normal base of the IC with pins attached is represented by 201, with one or multiple IC substrates 202 attached.
  • One or multiple optical clocks are represented by 203 (this may use any means for converting an electrically generated (direct and/or indirect) clock signal into an optical signal.
  • One or multiple optical receivers 204 are attached (directly and/or indirectly) to the substrate 202. Said optical receivers 204 may use any known means for receiving an optical signal(s) and converting (in part at least) it to an electrical signal(s).
  • the invention allows for any means of generating: • multiple optical sources 204 for any particular clock signal (for example and non-limiting, optical clock sources representing the same clock may be distributed throughout the chip), • multiple different clock signals (for example and non-limiting, multiple clock lines each activating one or multiple optical transmitters)
  • the invention allows for any means of propagating the optical signal from transmitter(s) to receivers).
  • the prefe ⁇ ed method of propagation is to create an optically conducting space 207 between the chip substrate and the cover of the chip 205 by leaving an open space inside the IC package. Said space may be replaced in part at least by any optically conducting medium.
  • the invention allows for any means of improving the propagation of the optical signal from source to destination.
  • This may include (as non-limiting examples): • lining the interior of the cover (and/or any other part of the package and/or contents) with a suitably reflective material 206; • optical conducting pathways between source 204 and destination 203, non-limiting examples that may include • one at least optical conducting channels via any material filling part at least of said space 207; • one at least optical conducting channels (that may be optical conducting material and/or one at least holes) within one at least chip substrates: • one at least optical conducting channels (that may be optical conducting material and/or one at least holes) within the base 201 and/or cover 205 and/or any other part of the IC. 47
  • the invention allows for any number of optical clock sources These may be multiple versions of the same clock and/or multiple different clocks
  • the invention allows for any means of preventing any particular clock r ⁇ ggenng non-targeted receivers, that may include the following non-limitmg examples • a) one means is to use physical bamers to optical transmissions (a non-limitmg example may include suitably moulded extensions of the material used to form the IC package reference to figure 4 shows a simple arrangement with two different clock sources 203a and 203b arranged on substrate 202
  • the physical partition 210 constrains the optical signal from 203a to the receivers identified as 204a
  • Partition 210 constrains the optical signals from transmitter 203b to the receivers identified as 204b
  • the invention allows for any number of receivers and transmitters in any combination and any number of partitions
  • one or multiple optical receivers may be inactivated, by any means including elect ⁇ cal and/or optical signals, such that it is not responsive to one or multiple optical sources for any period and/or combination of periods of time
  • the invention allows for any means of converting, in part at least, one or multiple electrically generated signals into one or multiple electromagnetic frequencies (with the preferred bandwidth across the optical and infrared spectrum)
  • Non-limitmg examples of said signals may mclude data and/or address and/or control and/or any other signals
  • Said elect ⁇ cally generated signals may be transmitted to one or multiple optical receivers (usually withm the IC)
  • Said receivers preferably mclude and/or are coupled to a means to.
  • Any one or multiple non-clocks may be created external to the integrated circuit and enter, m part at least, m optical form Said non-clocks may interact in any way using any means with any optical clocks and/or non-clocks created withm the IC Said non-clocks may exit the integrated circuit in optical form 48
  • Any means desc ⁇ bed for optical clocks may be applied to any combmation of non-clock signals Any combination of optical clocks and optical non-clocks may be active withm an IC (concurrently and/or otherwise)
  • Any one or multiple optical transmitters may be associated (preferably integrally) with one at least optical receivers, and/or any one or multiple receivers may be associated (preferably integrally) with one or multiple optical transmitters, providing for the bidirectional transfer of information Transmitters and or receivers in the preceding arrangements may have any of the means described for transmitters and/or receivers in any other a ⁇ angement Receivers and transmitters do not need to be coupled for the bi-directional transfer of information
  • the invention allows for any means that takes one or multiple electrical inputs (and/or optical inputs) and multiplexes them into one at least optical transmitters
  • the invention allows for any means that takes the electrical (and/or optical) signals produced by one at least optical receivers and demultiplex the recovered signals into multiple outputs
  • These multiplexing and demultiplexing means may be used for any application, and may have particular application in distributing plural address and or data signals through part at least of one at least IC (and or between IC's) Said address and/or data signals are preferably converted, in part at least, to a se ⁇ al stream of optical pulses and preferably reconverted, m part at least, to parallel electrical signals after optical reception
  • One non-limitmg advantage of this mux/demux means may be to reduce the complexity of signal routing withm an IC and/or the improved utilisation of silicon (and/or any other substrate)
  • the serialising of parallel information and the reverse process at its target (and/or any other location) may be facilitated by the means that may switch optical signals faster than electrical signals
  • This increased speed may depend on the use of different semiconductor material for high speed (eg GaAs)
  • Any means to mix substrates eg GaAs, silicon
  • Reference to figure 6 may help clarify the preceding means
  • Elect ⁇ cally generated data D0-D7 is clocked from a parallel to serial converter by high speed clock CLK1
  • the outputs of 211 are converted to optical signals by 203a and 203b, and reconverted to electrical signals by receivers 204a and 204b
  • the received data is clocked into a serial parallel converter by CLK 201 that is transmitted by 203c and received
  • the substrate 202 is shown with three discrete logic blocks (there may be any number of any type), that in this example are a central processing core 220 (there may be any number), and two SRAM blocks 221 and 222 (there may be any number)
  • the only connections in common are ground 226 and power 225
  • serial optical signals in 203a,203b,203c and 203d of CPU logic 220, and equivalent serial receivers 204a.204b,204c and 204d in SRAMs 221 and 222, together with control lines (eg r/w and select) 203e/204e for SRAM 221, and 203f/204f for SRAM 222
  • discrete logic blocks can be interconnected in part or whole (with the exclusion of power rails) by optical means
  • Such an arrangement as shoxvn in Figure 7 would usually have bidirectional optical facilities for data paths For clarity these are not shown Any part or all of the optical links shown
  • the invention allows for any means that may reduce part or all of the data and/or address bus and/or control conducting lines (including clocks) linking one or multiple processing means and/or one or multiple memory storage means and/or one or multiple other partitionable logic means, by replacing part or all of said conducting lines by optical connections, using part or all of the means described in this application
  • Said optical connections may be one for one, and/or any multiplexed arrangement
  • Figure 7 shows multiple logic blocks integrated onto the same substrate
  • An important facility provided by the invention is a means to allow various logic blocks (in part or whole, in any combination) to be manufactured on separate substrates and bonded (or attached using any means) into the chip package and linked with a minimum of wired (or any other electrical) connections Said bonded may be onto the chip package itself, and/or onto part of one or multiple other chips withm the IC package
  • This method permits multiple chips that may use different processes in their manufacture, to be readily linked with high-speed optical connections
  • m part at least Figure 8 shows the internal surface of the base of the chip with a ground rail 226 and power rail 225 Three distinct IC's CPU 220.
  • SRAM 221 and SRAM 222 are attached to the power rails (225,226) All other mter-chip connections are preferably optical In most practical applications, part or all of one or more of 220,221,222 would have connections (that may be optical and/or electrical) outside the chip package While not shown in the drawings, part of 220 and/or 221 and/or 222 may be bonded onto part or all of 220 and/or 221 and/or2 22 Any optical links may be replaced in part or whole with electrical connections, with the reverse also applying (where applicable) The invention allows that any method may be used to deliver power to the various discrete chips withm the IC package A special implementation of the invention is described with reference to Figure 9 One or multiple chips 202 a ⁇ anged using any means, including those descnbed with reference to Figure 7 and 8, are attached to the base (internally) of the chip package One or multiple chips 230.
  • a ⁇ anged using any means, including those described with reference to Figures 7 and 8, is bonded to the internal surface of the top of the chip 205
  • Power rails need to be attached to 202 and 230 (these may be common and/or separate) and part or all other connections performed optically (203a, 203b, 204a.
  • This method improves packing density for a given area, provides very short optical paths and provides multiple complex structures to be integrated withm a smgle package and to 50 interface to one another
  • the invention also allows for any means that permits more than two layers of chips (in part or whole) to be a ⁇ anged within the IC package, this may include, part at least, provision of holes within intermediate chip layers, and/or receipt of signals and retransmission, and/or suitable a ⁇ angement of lenses and reflecting surfaces, and/or use of various optically conducting media (eg f ⁇ breoptics)
  • the invention allows for any means of interconnecting multiple discrete chips withm a single IC package (in part at least) wherem said discrete chips are interconnected in a planar a ⁇ angement, and/or a stacked three dimensional arrangement, wherem, part or all of the interconnections between said discrete multiple chips including part or all of the data lines and/or address lines and/or control lines and/or clock lines is by optical linkage using any part or all of the means described in this application, and part or all of the bonding (using any means) of said discrete chips may be to part of the ch ⁇ p(s) package and or part of one or multiple other discrete chips and or by any other means
  • Said any discrete chips may have any part of their logic areas linked lntrachip by optical means using part or all of the means descnbed in this application
  • Said multiple discrete chips may provide any combination of functions, and this may include any combination of one or multiple processing means and/or one or multiple memory storage means
  • a non-limiting objective of the present mvention seeks to provide a method and apparatus that permits attempts at incoming calls on a particular telephone line to be advised and/or connected to a user, while, said user and/or their computer remains connected on said telephone lme by modem or similar to one at least remote processing, and/or data storage, and/or switching facility (eg Internet Service Provider) also collectively referenced as an online facility in this document
  • the method takes advantage of call diversion facilities when linked to a telephone service Said call diversion refers to any means that permits incoming calls to be redirected to one at least alternative telephone numbers while permitting outgoing calls to be made from said telephone service
  • the method includes any means to determine (at least part of the time) when an attempt is made to connect to said online facility and/or when said attempt is successful wherem the outcome of said determine influences activation of call diversion Said activation is preferably prior to connection
  • the preferred method to said determine and/or said activate is one that is transparent to the software (eg a net browser) used to establish the connection to the online facility
  • This approach usually does not require modification of existing software
  • Said prefe ⁇ ed method preferably mcludes a physical device that can intervene between information output from a computer to establish a link with said online facility and establishment of said link (eg completion of the telephone connection)
  • Said information to establish a link is usually that which initiates dialing pulses representing the telephone number of the target online facility
  • Said intervene is preferably pnor to transmission of the electrical and/or optical signal from the users location
  • Said physical device may be in any suitable location, including the modem however it is preferably located pnor to the serial interface (or equivalent) connecting the computer to the modem in the case of an external modem, and pnor to 51 the modem logic m the case of an internal modem
  • the prefe ⁇ ed physical device is with a secure processing device as desc ⁇ bed
  • Said physical device may include any means to determine when information to be output on a telephone line is to initiate a call to said online facility and any means to activate call diversion, preferably prior to said initiates
  • the prefe ⁇ ed embodiment of the invention includes a processmg means that can interpret said protocols prior to output, and where prudent, add additional information to the output stream pnor to outputting said protocols Any means may be used to achieve this with the prefe ⁇ ed method including a lookup table (preferably programmable) that includes telephone numbers of at least one onlme facility and information on the codes required to effect call diversion and/or information to initiate call diversion, and/or information to verify said call diversion as effective, and/ or information to terminate said call diversion, and or information to verify termination of said call diversion
  • Said processmg means preferably examines information for output to the modem and detects protocols that will dial-up a telephone number The number to be dialed is preferably extracted and compared with information in said lookup table If there is a match (or any other method to effect a similar outcome) said processmg means examines the codes necessary to effect call diversion and sends these along the telephone l e The invention also allows for any means to validate that said call diversion was effected Said processing means would then normally output the information required to establish a telephone link with said onlme facility
  • the invention also allows for any means to determine when a telephone connection with said online facility has terminated wherein said determine in part at least influences the termination of said call switching
  • the prefe ⁇ ed method to achieve this is included within the physical device used to initiate call diversion Said physical device preferably uses means well know to those expe ⁇ enced in the art to monitor the state of the modem connection with the telephone line
  • the prefe ⁇ ed embodiment has said processmg means extract information from said lookup table to determine the codes to send to terminate said call diversion Said processmg means preferably initiates a call to the telephone company and transmits the approp ⁇ ate tone pulses to terminate said call diversion
  • An alternative embodiment of the invention allows for part at least of the preceding method and/ or apparatus to be implemented in a switching device that intercept part at least of the link between modem (or equivalent) and the telephone cable connecting to the telephone company network
  • the prefe ⁇ ed location of said switching device is coupled to the wall socket of the telephone, although any location is allowed for
  • the invention allows that said switching device may be integrated in part at least with a device descnbed in a co-pendmg application titled "Automatic STD and ISD Telephone Dialing Re-router"
  • Said prefe ⁇ ed switching device in part at least preferably includes a means to intercept signal on lines carrying dialing information and modify said information (eg by the addition of extra digits and/or deletion of part of the number), and/or delay transmission of said dialing information, until other information has been sent, (eg tones to connect to a telephone company and additional tones to activate call diversion), and/or 52 venfy activation of said call diversion, detect termination of calls to an online
  • Said switching device is preferably programmable, with the prefe ⁇ ed means to send a normally unused telephone number to said switching device to activate programming
  • the invention also allows that those experienced m the art should be able to implement part at least of the method of the invention in software
  • the invention allows for any means that in part at least implements the method and/or apparatus of the invention in software routines executing under one at least system microprocessors with a User Controlled Data Processing System In particular this applies to Net Browsers and/or the software used to establish a connection with an online facility
  • a method and apparatus is now described to make use of said call diversion to establish contact between one at least callers to a user while their telephone line is engaged during connection to an onlme facility
  • Any means is allowed that permits a caller who has been redirected to make direct and/or indirect contact with said user (and/or any other party at the location of the user's telephone), preferably without disrupting the user's connection with the online facility
  • the prefe ⁇ ed means of implementing contact between caller and user is to redirect the users calls to one at least telephone numbers coupled to said onlme facility
  • the invention allows for any means that permits said caller to leave a written and/or verbal message for the user, and/or the reverse, and/or that notifies the user of said written and/or verbal message, and/or the reverse
  • the invention also allows for any means that enables said caller to make voice contact with said user and/or for said user to make voice contact with said caller
  • the caller may be identified using any means, including in part at least, by having the onlme facility extract information relating to caller ID
  • the prefe ⁇ ed methods to determine who the caller wishes to contact and/or any additional information may mclude providing the onlme facility a voice facility to advise the caller of various options and/or any other information, and/or request and/or receive any information 53
  • Said voice facility may be human and/or electronic These methods are known to those expe ⁇ enced in the art
  • the caller is preferably asked to provide information using the keypad of their telephone, particularly when usmg electronic means
  • the invention also allows that the caller's voice may be digitised, m part at least This may include processmg by voice recognition means
  • the invention allows that any information, including that about the caller and/or supplied by the caller may be sent to the user This may include the callers telephone number, and/or name, and/or message
  • the invention allows for any means of providing the user with said information Said means of providing may mclude the transfer of text and/or any other visual information It may also include the transfer of digitised sound information
  • the invention allows that said information may be transfe ⁇ ed to the user realtime and/or delayed
  • One embodiment of the mvention allows for the onlme facility to establish an online voice chat-channel (usmg methods known to those expe ⁇ enced m the art) preferably using the callers telephone as the microphone and/ or speaker with the online facility providing the actual net access, and any means at the user end, preferably the microphone and speaker system coupled to their User Controlled Data Processing System
  • the net access provided by the online service may in part at least simulate net operations
  • a similar method may be used that bypasses the need for an internet voice channel, by sending digitised information to and/or from user/ online facility
  • the invention allows for any means to advise the user that there is a message and/or caller pending One means is to send the user Email However, this may not gam their immediate attention
  • a preferred embodiment actually intercepts the next web page access and mcludes a message withm its text This does not usually require any special software at the users end
  • Another preferred embodiment sends the user a message using any of the known means of transmitting warnings or similar to a user
  • This method may be implemented using any means, including an extension of the method used to intercept dialing information
  • the inclusion of video and sound generating capability withm the physical device used to intercept dialing meets these requirements
  • the use of remote control devices to control television, video players and any other type of audio/visual display devices has proven convenient for consumers
  • the present invention descnbes a method and apparatus to broaden the facilities that remote control and functionally similar devices can provide 54
  • the mvention descnbes a prefe ⁇ ed means, however, it also allows for any other means, that connected directly (including integrally) and/or indirectly, m part at least, to a Defined Control Device (also refe ⁇ ed to as a DRC). Devices
  • a Defined Control Device is any control means (in part at least) that is connected remotely by any means, including an infrared and/or optical and/or ultrasound and/or radio frequency and/or electrically conducting cable and/or optically conducting cable, to the dev ⁇ ce(s) it is controlling. and/or connected directly (including integrally) and/or indirectly by any means to the dev ⁇ ce(s) it is controlling, that controls, in part at least, one or multiple Controlled Devices, wherem said Controlled Devices may mclude
  • any device also refe ⁇ ed to as a Visual Information Display or VID in this application that, in part at least, displays visual information (including information on a CRT and/or liquid crystal display and/or plasma display) wherem part at least of said visual information displayed is transmitted directly and/or indirectly from any one or multiple remote location (eg a television station), using any one or multiple means including, but not limited to, information broadcast using the radio frequency spectrum, and/or infrared, and/or optical, and/or cabling usmg elect ⁇ cal conductors, and/or optical fibre, and/or n) any device (also refe ⁇ ed to as Video Playback Devices or VPD in this application) that in part at least intercepts (directly and/or indirectly) using any means, said visual information, between the time said visual information is transmitted and the time that it is displayed, including video tape recorders and/or players, and/or optical disk recorders and/or players, and or any data processing device used to record and/or play in part at least video information (including video
  • any sound including music and vocals
  • said AGD mcludes television and radio receivers, wherein part at least of the audio information used to generate said sound is transmitted directly and/or indirectly from any one or multiple remote location (eg a television and/or radio station) using any one or multiple means, including but not limited to information broadcast using the radio frequency spectrum and/or infrared and/or optical, and or cabling using electncal conductors and or optical fibre, and/or IV) any device (also refe ⁇ ed to as an Audio Playback Device or APD in this application) that in part at least intercepts (directly and/or indirectly), using any means, said audio information between the time said audio information is transmitted and the time it is displayed, includmg audio and/or video tape recorders and/or players.
  • any one or multiple remote location eg a television and/or radio station
  • any one or multiple means including but not limited to information broadcast using the radio frequency spectrum and/or infrared and/or optical, and or cabling using electncal conductors and or
  • said intercept may be any functionally non-delayed intercept (eg the use of an APD to immediately reroute incoming visual information to the AGD), and/or any delayed rerouting of information (eg the recording of the transmitted audio information for delayed and or repetitive playback), when 55 said control means can be influenced duectly and/or indirectly by the consumer and/or by any remote means, and said control means determines in part at least, directly and/or indirectly, any one or multiple of the following a) the selection of any one at least sources of visual and/or audio information, including the selection of a particular broadcast and or cable television station (eg channel selector), and/or broadcast and/or cable radio station (eg tuning frequency of the receiver) of said Controlled Devices and/or b) the selection of any alternate sources of audio and/
  • Controlled Devices and/or d) the brightness and/or contrast of the image displayed (including no image displayed) directly and/or indirectly by said Controlled Devices. and/or e) the recording of information onto any means, includmg tape and/or optical media and/or computer memory storage devices by said Controlled Devices, and/or f) the playback of information recorded as desc ⁇ bed in e) and or by any other means by said Controlled Devices
  • remote control devices One popular use of remote control devices is to change the channel, mute or eliminate the sound, and or blank or dim the picture when one or multiple commercials are being displayed on a television
  • the problem with this is that the viewer/listener usually needs to periodically reverse these processes (in part at least) to check whether or not the normal program has recommenced
  • a remote control device that could detect when the normal program has recommenced on at least one desired channel and/or that detects any other one or multiple events (usually predetermined by the consumer) would be expected to benefit consumers Consumers may be able to select items of a type and/or level of importance, and/or they may wish to view commercials from particular companies and/or they may wish to view commercials with particular content and/or they may wish to view commercials rated to a predetermined level of content interest (eg those that are entertaining)
  • DCD Defined Control Device
  • mte ⁇ ret Content Information transmitted usmg any means
  • the Service Provider is usually independent of the Information Provider, however, the invention allows that part or all of the Content Information may be provided by Information Prox ⁇ ders 56
  • the invention allows for any means that permits Service Providers to generate any type of Content Information pertaining to any one or multiple Defined Material This may be with and or without the permission of one or multiple Information Providers
  • the prefe ⁇ ed means is to have one or multiple people (usually employees of the Service Provider) viewing and/or listening to Defined Information using any one or multiple methods available to the consumer This process may be assisted using any means, including any type of data processmg system Said people usually classify the material into various categories that may be supplied to any data processing means (and/or any other means) for compilation (that may be combined with any other information, from any source, eg programming information, cu ⁇ ent time) into Content Information for subsequent transmission, using any means, to one or multiple Defined Control Devices, at one or multiple consumers
  • the invention allows for any means that may include withm the Content Information, a means that permits televisions (and/or any equivalent and/or any other Controlled Device) that are not equipped with the 'V-Chip' to be able to perform any equivalent function, in part at least, to televisions (and/or any equivalent and/or any other Controlled Device) that are equipped with said 'V-Chip'
  • the invention allows for any means of deriving V-Chip equivalent information for any one or multiple Defined Information, for subsequent use m directly and/or indirectly influencing, in any way, at least one DCD to cause. in part at least, one or multiple Controlled Devices to perform equivalent and/or enhanced functions as would be the case with an installed V-Chip
  • the prefe ⁇ ed method to de ⁇ ve V-Chip equivalent information is any system that may electronically extract the relevant information embedded withm Defined Information supplied by one or multiple Information Providers. where said embedded information is used to control (in part at least) a V-Chip when present and activated
  • the Service Provider may extract V-Chip information from Defined Information as it is being broadcast (and/or otherwise supplied), for immediate transfer as Content Information to the consumer
  • the prefe ⁇ ed method supplies a V-Chip and or equivalent logic with the relevant input signals, and uses one or multiple output signals to indicate to any data processmg means the type of V-Chip equivalent information that is to be included in the Content Information
  • V-Chip equivalent information may be obtained by preprocessing of Defined Mate ⁇ al by the Service Provider and/or in part or whole, from any one or multiple other sources
  • V-Chip equivalent information (and/or an estimate of and/or enhanced version of) in part at least, to be synthesized usmg any means This is usually by one or multiple individuals viewing the information and determining those sections unsuitable for the audience that would normally be affected by the presence of a V-Chip Said determination may be in realtime and/or processed, and may be for any reason
  • the usual reason is that Defined Information does not include V-Chip information and/or that the cnte ⁇ a used (in part at least) to o ⁇ gmally create V-Chip information are not suitable for the intended audience 57
  • V-Chip information and or V-Chip equivalent information may be used, in part at least, to create one or multiple codes withm Content Information to cause one or multiple target Defined Control Devices to direct one or multiple Controlled Devices to effect any V-Chip functional equivalent and/or enhancement
  • the invention also allows for any means at the consumer location, apart from a V-Chip withm the television (and/or equivalent), that extracts V-Chip information (in part at least) from Defined Information and, in part at least, performs directly and/or indirectly, any of the functions described for DCD and/or Controlled Devices and/or Defined Information m response to V-Chip and/or V-Chip equivalent information transmitted as Content Information
  • the V-Chip usually functions by blanking the screen (and or the sound) and/or placing snow (and/or equivalent) on screen to prevent children (and/or any other groups) viewing information deemed unsuitable by parents (and/or any other groups)
  • the invention may redirect the consumer to any one at least alternate sources of information (eg another channel and/or any other source of video/sound information such as video cassette, video disk, computer games, teletext,, content mformation
  • the invention allows for any means that may remove and/or modify (using any means) undesirable mformation by providing (in part at least) one or multiple alternate sources of video and/or sound
  • the invention allows for any means attached directly (including mtregal) and or indirectly to one or multiple V-Chips that may provide any type of means to switch to an alternate video and/or sound source when said V-Chip modifies (in any way) mformation displayed on the associated image output devices
  • the prefe ⁇ ed method of transmitting Content Information from a Service Provider to the Consumer is the broadcasting on any permitted radio frequency using any one or multiple transmitters, for reception by one at least radio receivers attached directly and/or indirectly, part at least, to one or multiple Defined Control Device located with one or multiple consumers
  • the prefe ⁇ ed means may use a bandwidth used to send digital information to electronic paging means and piggyback onto an existing provider of this information
  • the means to transmit and receive this information are known to those experienced in the art
  • the invention allows that any other radio transmission means and/or frequency spectrum may be used to broadcast Content Information
  • the invention also allows that Content Information may be supplied using any cable means (includmg electrically conductive and/or optically conductive), including cable TV links (and/or equivalent) and or switched public telephone network This may be a cable link means directly to the consumer, with any means to retrieve this information, that may include any direct and/or indirect means using the Internet, and/or the use of any cable means to deliver Content Information to any other one or multiple means for further transmission to the consumer Said further transmission may include any cable means, that may mclude local cabling ( electric and/or optical) and/or any radio transmission means, and/or any infrared transmission means, and/or any optical transmission means (that may include laser), and/or any ultrasound transmission means, with said further transmission means also referenced in this application as Dist ⁇ mped Transmission 58
  • the invention also allows for any non-cable means (including any method descnbed previously for direct transfer to consumers) to transmit information to any distribution means that may further redistnbute it to consumers Said dist ⁇ bution means may include any means discussed for Dis
  • the receiving device for Content Information may be compatible with cellular phone (and/or similar) transmissions, and that this may mclude one or multiple receiving means that retransmit (using any means) to consumer locations, and/or receiving means located in the consumer location, that may include means directly and/or indirectly attached to a DCD and/or any other means
  • the mvention allows for any means that may permit multiple devices to receive from the one channel (and/or the same digital address), with only one (or a limited number) of de ices transmitting to the base station in a particular cellular area
  • This method is also referenced as Genenc Reception with Controlled Transmission (or GRCT)
  • the invention allows for the use of GRCT with any means that requires the generic broadcasting of information to multiple devices with a receiving means in one or multiple cellular areas
  • the prefe ⁇ ed method of implementing GRCT is to have a knoxvn device (referenced as the Master Device) with each required cellular area This performs the normal transmit and receive functions and is used to establish the normal parameters for information mterchange
  • One or multiple other devices (Slave Devices) within the cellular area are programmed to the same parameters as the Master Device and follow its behaviour Slave Devices do not usually transmit back to the base station Because a cellular area may
  • the invention allows that GRCT may be used for personal paging systems, avoiding the need to establish multiple dedicated paging transmitters Any method is allowed for that may permit the Slave Device to become attached to a new master as it shifts from one cellular area to another
  • the Content Information is preferably transmitted in digital format using pulse code modulation, however, any other method may be used for said transmission, including any combination of means

Abstract

A file transfer method whereby a file is transferred between a server and a remote node over a network, wherein the file is reconstructed at least in part from information locally accessible to the node. The method encompasses transferring files over the Internet, wherein the files are reconstructed using dictionary lookup means. As well as a method for transmitting digital telephone converstaions wherein the receiving unit includes a library of modules which represent in part the sending sound waveforms. Further disclosed are methods for naming image files used on the Internet wherein the images coupled to said files are known to be constant across a plurality of websites. A method for transferring image files from a server to a receiving node wherein the image is constructed at the receiving node in response to a series of commands. And a method for transferring data/information in optical format within an integrated circuit.

Description

Title: Internet Data Reduction System.
Description:
The explosive growth of the Internet has resulted in network bandwidth congestion. Part of this congestion may be reduced by optimising the flow of information between Internet nodes.
The present invention describes a method and system to optimise, in part at least, the content and/or flow of said information. One aspect of the invention examines the commonality of much of the information traversing the Internet and seeks to take advantage of said commonality to reduce unnecessary duplication of information transfers.
• The first part of the invention describes a Partial File Update Means that conserves Internet bandwidth by constructing (at a remote node) a new version of a file from an older version of the file stored on one or multiple caches remote from a server (eg ISP and user caches). The remote node combines data common to the old and new file with server supplied new data and server supplied instructions on how to integrate the new and stored information. • The second part describes a text compression means that references dictionaries locally accessible to one or more remote nodes. • The third part of the invention describes an Image Data Reduction Means (IDRM). The first part of the IDRM, Common Image Index indexes images such that the same image used across multiple web pages and/or websites is not needlessly downloaded when already cached for another page. The second part of IDRM. Image Building Protocol (IBP), describes a means to construct images by sending a series of commands that instruct a locally accessible (to the user/ISP) paint program (and/or any other image creating means) to construct the image. For example, paint programs can create many spectacular effects with a few keyboard/mouse commands. For example, 100 bytes of mouse commands may be used to create an image that is 16K in compressed form. An extension of IBP builds complex images from component images. The component images may be conventionally transmitted (eg jpg. gif) and/or constructed using the image building protocol (and/or any other means). • The fourth part describes a means to reduce the bandwidth of telephone conversations via the Internet (and/or any other means). This preferably converts digitised voice into a series of digital phonemes that are enhanced by the use of various descriptors. • The fifth part describes a means to capture free to air and/or other broadcast means as a source of video information. 2 Some of the means of the invention are processor intensive Optimal practical applications may require intensive use of distributed processing, particularly at web host sites, image databases and ISP's This distributed data procesmg may be significantly enhanced by a means of optical connectivity Said optical connectivity has been developed to enhance the apparatus of the present invention, however, it may have application elsewhere
The invention may include (as non-limiting examples) one or more of the following benefits to participants of the Internet • conservation of available bandwidth, • reduced file transfer times from server to ISP and/or directly connected end-users. • reduced file transfer times from ISP to their end-users, • reduced cost of accessing information from the Internet, for example, • users who are paying, in part at least, on the basis of quantity of information transferred should receive reduced overall data cost because of the reduction average file size, and/or • a reduction in average file size may permit a reduction in the size of data pipelines or postpone the need to expand capacity, • improved password protection, • improved access time from servers, including web-servers, • improved utilisation of mass storage devices used as servers, and/or caches (eg proxy-servers) and/or the end-users location
The invention incorporates by reference the following: • Pending WO 98/54672 by Gπffits titled "Securely Meteπng Advertising in Data Processing Systems, • Pending WO 97/25675 by Gπffits titled "A Secure Pay-As-You-Use System for Computer Software", • Pending WO 96/27155 by Shear, • Microsoft Corporation US Patent 5745095, titled "Compositing Digital Information on a Display Screen Based on Screen Descriptors" • Pending PCT AU99/00155 by Gπffits The invention allows for the use of any part at least of the means described in said referenced with part at least of the means of the invention The mvention further allows that the present specification can be implemented by those experienced in the art by referencing to said specification and the documents incorporated by reference
This specification may use a User Controlled Data Processing System (UCDPS) as the remote node in describing part of the means of the invention This is by way of example only The means may be applies to any other node on the net, in particular ISP's
The means of the invention are described with reference to the Internet They may also be applied in part at least for any other wide area network, and/or any LAN and/or to reduce local storage requirements at a UCDPS
Definitions: 3 ISP or Internet Service Provider is usually an entity that buys bulk access to the Internet and resells it to end- users The end-users may be single users or part of one or multiple networks An ISP may also be buying Internet access from a larger (and/or other) ISP When there are multiple ISP's m the chain, the invention allows for any one or multiple, to each use part or all of the means of the invention Some (usually larger) users may also have a direct connection to the Internet In this case what is descπbed as applicable to ISP's may also apply to this category of users Part at least of the invention may also be applied to end-user systems
Byte equates to 8 bits and is used m this context, however, it is also representative of a more generic context For example if a file (and/or any other data structure) is descπbed as having a number (that may be any number) of bytes, this also allows for fractions of a byte Reference to a number (that may be any number) of bytes may be used when information, in part at least, is collated into any grouping of words long words and/or any other arrangement Byte may be used when it is representative of any data types, eg program instructions and/or data, text (eg acsn characters and or any other character set), and/or images, and/or sound
File Server. The term file server (or server) is generally used in this application to indicate the means that, in part at least, sources onto a network, part at least, of one or multiple files as descπbed for the current invention The server may serve web pages, and/or mail, and/or news, and/or any other types of files The server may also be the recipient of files when information is loaded onto it Multiple servers (that may be at different physical locations) may be used to deliver one at least files
The invention leverages the fact that one at least file server and/or file requesting node may have local access to data processing means capable of processing relatively large amounts of data each second, in contrast to the usually slow transfer of information between server and requesting node While of particular application to the transfer of information between requesting nodes on the Internet, the invention, in part at least may be applied to any networked means (eg Intranet), and/or local storage means
The invention may m part provide a means for server and/or requesting node to use their data processing capabilities to reduce the information content that actually needs to be transferred along the relatively slow parts of the network The invention preferably does this without impairing file data
The server would usually be accessing its files from storage means local to the server (eg that are linked by high speed local busses), however, part at least, of the files they access may be from one or multiple sources coupled, using any means to said server The term server also covers the situation where files are mirrored (in part at least) on multiple nodes
The mvention also allows that the actual server of files, in part at least, does not deliver files compatible (in part at least) with the present invention, and that any one or multiple other nodes between the server and one or multiple requesting nodes, may obtain one at least said not compatible files from one or multiple servers (and or from any other means), in part at least, and said one or multiple other nodes may convert one at least said files, in part at least to a format that is compatible with the invention 4 Instances where this may occur (non-exclusively) may mclude • Telephone and/or other communication earners, retπeving files and establishing their own caching means • One or multiple ISP's establishing a link (preferably high performance) to the Internet and adapting the mvention, m part at least, to reduce the amount of traffic to other downstream nodes This may be particularly useful to an overseas ISP who wants to reduce the cost of international traffic by establishing a domestic node to capture and compress information for subsequent transfer internationally A similar pπnciple may be applied for domestic ISP's with large bandwidth connections who may then squeeze more information along smaller downstream data pipes, including the transfer of information from ISP to end-user
Requesting node. The term requesting node refers to one or multiple nodes coupled to a network (usually the Internet or similar) that are requesting files from a server Said requesting node(s) preferably have a file caching means (eg a proxy-server, browser caches) The requesting node is usually an ISP Said ISP may have one or multiple other ISP's coupled to them (via the Internet and/or via one or multiple other communications links) One or multiple ISP's are usually coupled (usually via telephone/modem connections) to one or multiple end- users usmg the ISP as a gateway into the Internet The term requesting node may also be applied to one or multiple end-users Said end-users may be one user, and/or multiple users (eg connected via one or multiple networks) The end-user may have a direct connection to the Internet and/or via one or multiple ISP (and/or any other means) The term remote node is usually interchangeable with the term requesting node
Said file cachmg means may include one or multiple storage devices coupled locally and/or remotely to one or multiple ISP's, and/or one or multiple storage devices coupled to one or multiple end-users
The invention also describes a means that enables one or multiple storage means coupled locally to one or multiple end-users to become part of one or multiple ISP caching means This may allow the ISP to source information from one or multiple end-users for distribution to one or multiple other end-users Information that is sourced from end-users may also be used to reduce the amount of information that needs to be downloaded from a server to refresh cache means coupled to the requesting node The invention also desenbes a means to • assist ensuπng the integrity of information obtained by said ISP caching means from one or multiple end-user caches and/or • assist in maintaining the integπty of one or multiple end-user systems when information is transferred to them
The requesting node may also act as a server for example, to upload files to a website, and/or to serve files to end-users, and/or for any other reason 5 1. Partial File Transfer.
The amount of data traffic on the Internet (and/or any other network) may be partially reduced by the use of vaπous caching means attached to ISP and/or end-user data processing means Said cachmg means usually store previously downloaded files and delivers the stored fιle(s) when a request is made for access A means is usually provided to ensure the stored file is current The prefeπed method used by the known art to ensure file currency is to access the file server, read the date the file was last modified and if the same as the cached version, deliver the cached file rather than downloading from the server However, much of this file transfer reduction potential is wasted because even a minor change m a file on one at least servers may force the cache to update itself by downloading the new file m its entirety
It is one objective of the present mvention to describe a Partial File Transfer Means that may be used to reduce the amount of information retπeved from a server when a file is updated
Background to Internet File Caching. When an end-user sends a packet requesting retrieval of a file from a server their ISP may intercept this request and check for the presence of the file on their local cache If the information is not cached, the request is usually forwarded to the target server When the file is retπeved, it may be cached with the ISP as well as being passed on to the requesting user
If the user requested file is already stored within the cache, the preferred procedure is for the ISP to access the target server and retrieve the date that the file was last updated This is usually compared with the date code in the cached file and if equal, the cached file is usually supplied to the end-user If the date code is invalid, the file is usually retπeved from the server
Present methods for cache refreshmg may waste a lot of Internet bandwidth Even minor changes to a file may oblige the ISP to retrieve the entire file This is despite the obsolete file in the cache usually including part of the data found in the new version of the file The end- user may also have varying amounts of the file data in their local caches
Part of the present invention seeks to describe a means for constructing (preferably faithful) copies of file(s) on one at least nodes remote to a file server using a combmation of • information locally accessible to said nodes remote and • information supplied by said files server
The locally available information is usually an older version of the file stored on a cache The older file is usually one previously downloaded from a server, however it too may have been constructed using one at least means described for the present invention The older file may have been delivered usmg any other means, for example, on optical media (eg CD DVD) Locally available may include any relevant information that can be accessed faster 6 and/or cheaper than that obtained by accessing the file server It would usually include caches maintained by an ISP, however, it may mclude as non-hmitmg examples caches connected to one at least customers of the ISP and/or other ISP's (and/or their customers)
The information provided by said file server is preferably the minimum amount required by the remote node to construct an accurate copy of the new file
l.a) Part of the present invention seeks to descπbe a partial file update means that updates an obsolete file at a requesting node with current file data stored on one at least file servers, wherem said update means • informs one or multiple file servers about, part at least of, the file information currently in one at least requesting nodes (eg at an ISP and/or end-user), and/or • sends from said server, m part at least, the information (preferably the minimal amount) needed to create an updated (and preferably current) file in said remote cache(s), using in part at least, information in cached files, in particular the obsolete version of said current file
Moreover, the invention is preferably configured to handle multiple degrees of file obsolescence For example a current file may be File 4 html One ISP may have cached File 3 html (the preceding version), another may have File 2 html, another File 1 html The invention may be configured to allow each cached file to be able to use the partial file update means Usually a more obsolete file requires more data to refresh it than more recent versions The invention may also be configured such that ISP's and/or any other nodes without a partial file update means may continue to receive files in the normal manner The invention may also be extended to provide partial file transfer capability to the end-user and or between end-users
A new version of a file loaded onto an Internet file server (eg a web page server) may mclude information that is present in older versions of said file (and/or one or multiple other cached files) on one at least remote cache means The amount of duplicated information may vary from most (or all) of the file to a few words When a file has been renamed all of its contents may be identical with cached versions stored under the old file name Useful information in an old version of a file (and/or any other files) may be from one to n blocks in number, and each block may represent any number of bits and/or bytes The construction of a new version of a file from data m an obsolete version of the file may use any one or multiple means This may include la.i) a means (File.remote_version) for the file server (and. or one at least intermediary and/or coupled nodes and/or any other means) to determine which version of one at least files are present on said one or multiple requesting nodes, and/or l.a.ii) a means (File.remote_contents_history) for the file server (and/or, one at least intermediary and/or coupled nodes and/or any other means) to determine, m part at least, the information content withm (and/or coupled to) one at least files present on said one or multiple requestmg nodes, and/or 7
1 l.a.iii) a means (File.remote_block.n_location. where n may = am
2 number) for the file server (and/or; one at least intermediary and/or coupled
3 nodes and/or any other means) to determine, in part at least, the locatιon(s)
4 of one or multiple blocks (and/or parts of blocks) of bytes within one at
5 least files on said one or multiple requestmg nodes, in particular the
6 locatιon(s) of byte strings (said string may be any length greater than zero)
7 that may be used in building, in part at least, a new file at said one or
8 multiple requesting nodes from
9 • information within older versions of said file and/or
10 one at least other files,
11 and/or
12 • said one at least servers,
13 and/or
14 l.a.iv) a means (File.remote block.n start location, where n may be am
15 number) for the file server (and/or, one at least intermediary and/or coupled
16 nodes and/or any other means) to indicate to one or multiple requestmg
17 nodes the start locations of one or multiple blocks of bytes (and/or part
18 blocks) that are to be incorporated mto said new file, in part at least,
19 and/or
20 l.a.v) a means (File.remote_block.n_length, where n may be any number)
21 for the file server (and/or, one at least intermediary and/or coupled nodes
22 and/or any other means) to indicate, in part at least, to one or multiple
23 requesting nodes, the number of bytes in said one or multiple blocks as
24 described m (1.a IV),
25 and/or
26 l.a.vi) a means (File.remote.new_block.n_location, where n may be any
27 number) for the file server (and or. one at least intermediary and/or coupled
28 nodes and/or any other means) to indicate, in part at least, to one or
29 multiple requestmg nodes that are constructing, in part at least, a new file
30 from locally and/or remotely accessible information, the location in said
31 new file in which to place block n from the old file,
32 and/or
33 l.a.vii) a means (File.new_length) for the file server (and/or. one at least
34 intermediary and/or coupled nodes and/or any other means) to indicate to
35 one or multiple requestmg nodes the size of said new file,
36 and/or
37 l.a.viii) a means (File.identity) for the file server (and/or. one at least
38 intermediary and/or coupled nodes and/or any other means) to indicate to
39 one or multiple requestmg nodes the name and/or version of the updated
40 file, that may mclude the name of compression parameter extensions.
41 and/or 42 8 l.a.ix) a means (Node.remote_partial_enabled) for the file server (and/or, one at least intermediary and or coupled nodes and/or any other means) to determine, in part at least, if said one or multiple requestmg nodes may handle, in part at least, the partial file update means of the invention, and • if unable to handle partial file update means to preferably service these nodes appropriately, • if the affirmative, preferably to service partial file capable nodes appropπately, and/or l.a.x) a means (File.rename_convert) to retain in part at least, earlier details of a file that is renamed, and preferably advise caches to check for old names when requesting access to the new file names, and preferably to use information cached for the old file name(s) to build (in part at least) the file information corresponding to the new name
The invention also allows that one or multiple of (1 a i) through (l a x) may be means that the server (and/or requesting node) may determine inherently For example, a search engine may know that part of a page is repetitive from search to search Said search engine may not re-send (m part at least) information expected to be already present in the requestmg node
A simple embodiment will now be descπbed It assumes that there is a website called www.example.com This is the server of the files descπbed in this example In practice, the server may have any name, and may be a web server and or any other type of file server coupled directly and/or indirectly to the Internet
In the present example the server includes a file called File html This file(s) may be any name and the term File in File html may be replaced by any file name The file may also be any type and is not limited to .html files used m the example Other common file formats (not exclusively) may include GIF, jpg. acrobat, postscript email. Microsoft Word files, and Wordperfect files The usual way of requesting this file from a server would be for the receiving node to send a GET www example com/File html command (and/or a GET IP address/File html)
In the present example, File html is 16 bytes long with each byte representing an ASCII character In practical applications of the invention, the file may be any bit or byte length and the binary information may represent any one or multiple means Said represents may include, characters of text and/or any one or multiple other symbol set, for example, images, sound, computer instructions/data etc
The preferred embodiment of the invention bases the file size on the number of bytes in said file A file with one byte has a file size of $01 It increments by 1 for each additional byte
The initial File html in our example has a byte count of decimal 16 or Hex 10 (this is the preferred notation) Its File.new_length = $10 In practice the byte count may use any offset (plus or minus from 1) as its oπgm, and increment or decrement using any means The count may also be expressed in any arrangement of bits (bits, nibbles, words, long-words) and or any other means 9
The preferred method of locating bytes within the file is as an offset from an origin of zero, incrementing by one for each subsequent location Any method may be used The preferred embodiment gives each byte a hexadecimal address For example, in File html below, the first C is at location $0000 and the Q is at location $000F
File.html = C G A B C D E F F A D Z M J K Q _Date 0
This file would usually be initially uploaded to a server, and if available for unrestπcted access, downloaded by users as required A date code and or any other means may be coupled to File html enabling vaπous requesting nodes to determine the validity of File.html The date code an/or any other information may be part of the file and/or within one at least other files
Let us assume that at some time (date 1) the contents of File.html are changed to Z Z X A B C D E F F A D Z E J K Date l.
Current methods of accessing this file on the net usually require all of this information to be downloaded. replacing the existing cached file (if present) The present invention would usually be configured to allow this normal process to operate, and a file called File.html would usually be available as expected by current Internet processes. However, as the bytes in locations $03 to $0c in File.html with a date code, Date_l. are identical to bytes in locations $02 to $0b in the Date 0 version of the file, it may be more efficient to transmit • the new information and • a means to the target node that allows it to extract (in part at least) information from any cached versions ofFile.html with a date code of Date 0
The present invention descπbes a means for requesting nodes to access partial files from a server This may also be referenced as the File Building Protocol or FBP
Partial file downloading may be for any reason (eg only part of a download was completed) In the current context, the request will usually be for the server to provide only that information needed to allow the requestmg node to reconstruct locally cached information into a preferably complete copy of the current version of File.html on the server
The preferred embodiment of the mvention has one at least servers that may deliver a current version ofFile.html and one or multiple modified versions of the current file The modified versions usually contain sufficient information to allow a requestmg node (m part at least) to integrate cached information with transmitted information to reproduce the current File.html Any means may be used to identify said one or multiple modified versions of File.html The preferred means adds an extension to the file name, eg File_fbp_l.html
When an FBP compliant requestmg node wants to download File.html it may require a means to determine if the server for File html is able to deliver _fbp_x (where x may be any value) type files Said means to determine preferably does not disrupt files delivered to non-FBP compliant requesting nodes One method that may be used 10 in the preferred embodiment is duplication on the server of the current version of File htm and its renaming to File_fbp_0.html
A non-FBP compliant requesting node may place a GET command for File html and have it delivered by FBP compliant and non-compliant servers
FBP compliant nodes may place a GET command for Fιle_fbp_0 html This is one means of signaling FBP servers that the requestmg node is also FBP compliant The fact that the requestmg node receives a favourable response may be an inherent means for the server to indicate to the requestmg node that said server is FBP compliant
A non-FBP compliant server would usually send the requestmg node 'a file not found' message The subsequent normal course of action is for the requesting node to perform a normal GET File html
Any one or multiple means may be allowed for a requestmg node to determine FBP availability The following may mclude some of said means
• A lookup means, eg similar to the DNS (Domain Names Server)
• The invention also allows for at least one FBP compliant requesting node to issue the normal GET File html command and use additional information embedded within File html to determine if the server is FBP compliant Said embedded information is preferably transparent to normal file handling processes In the case of HTML files, this additional information may appear to normal processes as comments (a method that is known to those experienced in the art, in particular to those adding additional functions to HTML code)
• The inclusion of a FBP compliant identifying means in the domain name of the website For example, www example com may become wrww example fbp
• One a least site detail files (Site.info) may also be kept at www example com, detailing the capabilities of the site Site mfo may include any information, eg available compression means, secuπty, password protection, ability to run scnpts and/or any other programs, ability to integrate with databases, ability to act as one at least E-mail box etc
Using the current example, the following versions of File html may be on the server File html = C G A B C D E F F A D Z M J K Q _Date 0 Fιle_fbp_0 html = C G A B C D E F F A D Z M J K Q _Date 0
Alternatively, if usmg embedded information within File html to identify the file (and/or server) as FBP compliant , our example may include • File html = C G A B C D E F F A D Z M J K Q Date O FBP.identifier. The FBP identifier may also be used as a means to indicate whether other files (and/or which files) on a related web-site (or server) are FBP compliant 1 1
In the preferred embodiment both methods are combined, such that the following are available from the server File html = C G A B C D E F F A D Z M J K Q Date O FBP.identifier. File fbp_0.html = C G A B C D E F F A D Z M J K Q _Date 0_FBP.identifier.
The invention allows for any means for • the requesting node to determine the currency of server files (eg request date information as per the norm). and/or • the server to transfer update information to the requestmg node
If an FBP compliant requesting node needs to re-access a previously downloaded File.html. the preferred embodiment may have the server provide information about file currency together with any update information by one or multiple responses The requesting node may request this information by one or multiple requests This may use any one or multiple means
In the preferred embodiment, the server is able to make available 1) A complete version of the current file that is accessible by non-compliant nodes (eg the means used by the known art). In the present non-hmitmg example this is identified as File.html
2) A complete version of the current file that may be used by compliant nodes (eg. those designed to use the invention) This is identified as File_fbp_0.html and would usually be accessed when a node accesses the file for the first time and or the node has a sufficiently old version of the file in its cache that the server no longer maintains a partial update file
3) One or multiple partial versions of File html that maybe used by compliant nodes to update obsolete versions of the file stored in their caches These are preferably identified as File_fbp_l.html through to File_fbp_y.html. The character 'y' is preferably an integer that may vary from one to any integer value (eg y=l for version 1 of the file) In the preferred embodiment, the value of V is coupled to a particular version of File html Usually the greater the value of 'y'. the more recent the version of File html that it is coupled to When the value of y equals the current version number of file_fbp_0 html the remote node has a current version of the file
In the preferred embodiment a remote node requests the server to send the Fιle_fbp_y html where the value of 'y' is equivalent to the most recent version number of File html coupled to the requesting nodes cache means File_fbp_y.html preferably contains sufficient information (in part at least) that the FBP means at the requestmg node may reconstruct a replica of the latest version of File.html (and/ or Fιle_fbpJ) html)
If the version of File.html coupled to a requesting node is the same as that at the server, File_fbp_y.html preferably only contains sufficient information to indicate that the requestmg node cache means has a valid version of the file If the requestmg node cache means has an obsolete version of the file, the File_fbp_y.html preferably includes information to advise the requestmg node of this fact and (in part at least) sufficient information to update the obsolete file to the current version 12
The invention allows that those expeπenced in the art may readily adapt the preferred embodiment of the invention such that a request to server for update information may use multiple rather than a single requesting means (eg a request for file validity and another for actual update information) The server may also return information as one or multiple files (and/or any other data structures)
The preferred embodiment allocates a value of 1 to 'y" when File html is first loaded onto the server The preferred means of coupling the version number of a file to its file mcludes lookup tables and/or embedding the version number in the file
The value of 'y' is preferably incremented for each updated version of the file Any node that downloads the initial version of the file preferably receives a version.identifier = 1 Any means may be used to transfer the version identifier to one or multiple requesting nodes The preferred means embeds this information within FPB.identifier
When a requesting node needs to check the validity of the version of File html held in its cache it may issue a GET Fιle_fbp_l html The information returned m Fιle_fbp_l html preferably includes all the information needed to update the cached file Whenever File html is updated on the server, Fιle_fbp_l html is preferably changed on the server to mclude these updates In this manner, each time a requestmg node requests Fιle_fbp_l html, it receives information that will update it to the current file contents When the file is updated at the remote node, it is usually provided with an updated version.identifier associating it with the newer version of the file For example if the cache were updated with version 4 of the file, its 'y' value preferably becomes 4 and the next time the requesting node checks for the validity of File html m its cache it would issue a GET Fιle_fbp_4 html Any means may be used to update the version identifier The preferred means transfers version identifier as part of FBP.identifier The latter is preferably included, m part at least, withm the Fιle_fbp_y html The server may have multiple Fιle_fbp_y html, with values of y (for example) from 1 to a number representing the latest version of the file In practice it may not be desirable to maintain information to update cached files beyond a certain time (and/or any other criteria) The preferred means to accommodate requests for deleted _fbp_\ files is to send the current version of Fιle_fbp_0 html (effectively the entire file) This does not usually require access to earlier versions of the file
The value of 'y' in a GET request for File_fbp_y.html implicitly advises the server of the current version of the file in the remote cache, providing a File.remote_version means as described in (1 a 1) The transfer of a new version identifier with Fιle_fpb_y html also provides the File-identity means of (1 a vin)
If the value of y' in a GET Fιle_fbp_y html matches the version number coupled to the current file html on one or multiple servers, said Fιle_fpb_y html is preferably a minimalist file with sufficient information to inform the requesting node that the File html its cache is current 13 Any means may be used to advise one or multiple requestmg nodes that their cache information is valid, with the preferred embodiment including a File.advice flag withm Fιle_fbρ_y html The preferred method has a base file size of one byte (this usually refers to actual file contents, not other file structure overheads, if any) for the Fιle_fbp_ html coupled to the current version of File html
If the file m the remote cache is valid, File.advice is usually $00 This only requires a minimal data packet to instruct the requestmg node to use its cached information
Any information may be included in Fιle_fbp_y html and/or File advice Options that may be useful may include • File.valid flag = time and/or date file last updated, and/or • File.now flag = time and/or date stamp that the cache checked for validity The File.now flag may be particularly useful for users who wish to check that their ISP is actually checking with a file server to ensure that their cached files match those currently on one or multiple servers When the user requests a file that includes the File.now facility, the time/date stamp should usually be within a few seconds of the date on the user's computer (after time-zone adjustments if not using a standardised time base) Some ISP's may be tempted to synthesise File.now contents To help prevent this, the invention also describes a means (that may be any means) to ensure that File.now is legitimate
The most current Fιle_fbp_y html may include $00_File.valid_File.now
The preferred means of preventing unauthoπsed changes to File now contents is to have the server include a validation key (File.now valid) withm and/or coupled to Fιle_fbp_y html An ISP and/or any other intermediate node preferably has no means of generating File now valid The preferred method for the user to check validity of File now valid is to send the key to a third party with the means to validate and confirm File now valid An alternative is to provide a secure processing means at the end-user location and perform validation in a tamperproof means Another alternative is for the server to generate File now valid with a private key (eg DES) and the end-user decodes this with a matching public key These are methods known to those experienced in the art An ISP and/or any other node may apply a similar process to test the mtegπty (and/or for any other reason) of any one or multiple intermediaries between them and the server
On the Internet, datagrams with small amounts of data may contain a high proportion of protocol information (eg IP and TCP) To further improve efficiency of transfers, the mvention allows that a request from a particular node for validation information on multiple files may result in the server sending multiple answers in the one datagram This method may also be adapted to improve efficiency of nodes that are not FBP compliant, when accessing date (and or any other) information on server files This may be an automatic response, however, it is preferable that the requestmg node actually request this facility The preferred embodiment has the requestmg node include a multιple_request flag in a GET Fιle_fbp_y html request file that is part of a multiple request For example, File_fbp_y.x.html, where x may be any code, preferably a number 1-9 (it may be any value) A request from a node to a server for multiple files on that server may be constructed using any means The .x may also be deleted 14 and the position of the various stnngs used as a default numbering system The preferred method of formulating a multi-file request may include the following format File.a_fbp_y.l/html_File.b_fbp_y.2/html_ File.z_fbp_y.n/html_filerequestID.html. The packetID may be used by the server as a reference when the requestmg node receives a response from the server (and or for any other purpose) The invention allows that a requestmg node may only require (m part at least) information about cached file that are still valid, rather than updating one or multiple of cached files that are invalid Any means may be used, with the preferred method embedding a flag withm filerequest_ID The invention allows for any means that permits the requesting nodes to determine if one at least files m its cache is valid without receiving update information if the file(s) is invalid The preferred means may include a multi-file request with only the relevant file included An alternate preferred embodiment modifies the Fιle_fbp_y html to indicate that this is an information only request One methods to do this changes the format to File_fbpi_y.html
Any means may be used by the server to provide one or multiple requesting nodes with a multi-file response The preferred means envelopes cache files that are valid withm the one response Other files are usually handled by discrete responses (see below) The following is one method filerequestID_fileID(eg. x=l) fileID(eg. x=2)_fileID(eg. x=n)
Returning to our example file, when the server is initially loaded with File html it is preferably capable of delivering the following related files
File html = C G A B C D E F F A D Z M J K Q _Date 0_FBP.identifier_version= 1. File fbp 0 html = CGABCDEFFADZMJKQ Date 0_FBP.identifier_version = 1. Fιle_fbp_l html = $00_File.valid_File.now
A FBP compliant requesting node needing to check the validity of its version of File html would usually extract the 1 from the version number and use this as the one in the GET Fιle_fbp_l html request
The next step describes the effects of modifying File html File html = Z Z X A B C D E F F A D Z E J K _Date l_FBP.identifier_versιon= 2. File _fbp_0 html = ZZXABCDEFFADZEJK Date l FBP.identifier version= 2. A new file is created Fιle_fbp_2 html = $00_File.valid_File.now A requestmg node that caches version 2 of File html would usually send a GET Fιle_fbp_2 html when it needs to check the validity of a cached file However, any requesting nodes with version 1 of the file would usually have an invalid (in part at least) file in their cache means Consequently Fιle_fbp_l html requires modification to reflect these changes The preferred embodiment allows for any means for the server to inform a remote cache that its file is not valid One method changes the value of the first byte from $00 to $FF Therefore Fιle_fbp_l html may be represented by $FF_File.valid_File.now. This may instruct the cache that its file is invalid, however, it does not usually provide information about how the file may be updated (apart from a default decision to download a new copy of the file) The preferred method includes update information (update info) File fbp l html preferably = SFF File.valid File.now I pdate.info 15 The information with Update.mfo is preferably sufficient to enable at least one remote caching means to update cached information The length of File_fbp_l.html is preferably a smaller file than that required to download the new version ofFile.html A comparison of the two versions of the file reveals that the bytes in locations $02 through $0B of version 1 correspond to locations $03 through $0C of version 2 CGABCDEFFADZMJKQ ZZXABCDEFFADZEJK The preferred embodiment of the invention has the server mclude File.new_length means m File_fbp_y.html This advises the requesting node about the size of the new file In the case of version 2, File.new_length = $F0 The preferred embodiment has the requestmg node (and/or any coupled nodes) slot new information (preferabh supplied by the server) together with useful cached information (usually stored at the remote node) into appropπate locations in the new file template The preferred embodiment of the mvention has the server transfer information to the requestmg node (and/or one or multiple coupled nodes) describing the location of one or multiple blocks of usable information in the cached file This is one means of implementing File.remote_block.n_start_location (La m) The preferred means uses the first byte m the existing cached file as a reference point Its location is $00, the next byte $01 etc The preferred maximum size is 64K. allowing locations to be pinpointed using two bytes If the file is larger than this any means may be used (including expanding the number of bytes to pinpoint a particular location), however, the preferred method of handling larger files is to break them into pages
In the present example there is only one overlapping block (for clanty the overlapping sequence JK in each version is excluded in this description) in version 1 that is useful and this is located at position $02 File.remote_Block.l_start_location= $0002
The preferred embodiment of the invention has the server transfer information to the requesting node (and/or one or multiple coupled nodes) about the length (in number of bytes) of the usable stπng (or block) length starting from _block.n_start_location If it is one byte, the length is $0001 This provides one means of implementing File.remote_block.n_length In the present example there is only one relevant block and its size is 10 bytes The File.remote_block.l_length =$000 A
The preferred embodiment has the server transfer information to the requesting node (and/or one or multiple coupled nodes) about the locatιon(s) the new file that previously cached information may be placed This is one means of implementing File.remote.new_block.n_location (l.a vi) In the present example the block of information from version 1 of the file (_block.l_start = $02 and _block ljength = $0a) is placed into location $03 of the new file File.remote.new_block.l_location = $0003 At this stage the Update.mfo section of File bp.l. html is preferably compπsed of _block. l_start_locatιon ($0002) + _block ljength ($000A) + _new_block ljocation ($0003)
Practical implementations of the invention will usually have multiple blocks of information shared between old and new versions of files The preferred method is to arrange them sequentially as shown 1 6 _block. l_start Jocation, J-lock. ljength, _new_block 1 location, _block 2_startJocatιon. _block 2 Jength, _new_block.2_locatιon, _block.3_start Jocation, J-lock 3 Jength, _new_block.3 location
_block (n+l)_start Jocation, _block.(n+l)Jength. _new_block (n÷l)Jocatιon _block.n_start Jocation, _block njength, _new_block.n Jocation The value of 'n' may be any number and/or any other symbolic means The preceding forms a map of usable cache information and where to place it in the new file Collectively it forms a subset of Update.mfo called Cache.map At this stage, File_fbp_l.html = $FF_ File.valid(optional)_File.now(optional)_$0002_$000A_$0003.
The invention also allows for any means that transfers part of a file from a server to a requestmg node (and/or one or multiple coupled nodes) and/or any means to direct the placement of said transferred part into a file structure on said requestmg node (and/or coupled nodes), wherem, said file structure is a replica (in part at least) and or will be a replica (m part at least) of one at least files on said server and/or coupled to said server The preferred embodiment of the mvention makes it fairly straightforward to implement this means As we have already specified a) the size of the new file to the requestmg node (and/or one or multiple coupled nodes) and b) the information needed to move usable cache information into relevant slots in the new file structure, it is preferable to send a single block with the new information to said requestmg node, m sequential order from start to finish Said requestmg node can then infer the location into which to slot this information as it will usually already have transferred all usable cache information into the new file structure For example, when said requestmg node is constructing the new file structure of version 2 of File.html, the requestmg node usually has sufficient information from Cache.map to create the following xxxA B C D E F F A D Zxxx (x= as yet undetermined) Said requesting node preferably only needs to receive a data string in the order that it will place it into remaining slots, starting with unfilled location closest to the start of the new file (location $00) In the present example said unfilled location is $00 This stπng may also be referenced as NewData.map This is the other part of Update mfo By sending ZZXEJK to said requestmg node and combining it with Cache.map, said requestmg node is usually able to completely reconstruct the file The usual full representation (excluding options) ofFile_fbp_l.html = $FF $0002 $OO0A $0003 Z Z X E J K (the alpha-characters are shown for claπty. they are usually stored as the hex equivalent of their ASCII code if characters As previously noted, they may represent any coding means, including text, images, sound, program mstructions/data etc ) 17 In summary, after File html has been updated from version 1 to version 2. the server would usually be able to supply the following to meet the cache updating requirements of one or multiple remote requesting nodes File html = Z Z X A B C D E F F A D Z E J K _Date l_FBP.identifιer_version= 2. File bpJ) html = ZZXABCDEFFADZMJK _Date l_FBP.identifier_version = 2. File bpJ html = SFF_File.valid_File.now_ $0002 $000A $0003 Z Z X E J K_ Date l FBP.identifier version = 2 Fιle_fbp_2 html = $00_File.valid_File.now
Those expeπenced m the art will be able to extend this process to handle any number of file updates (Fιle_fbp_y html, where y may be any value from 1 to n) They will also be able to modify each of Fιle_fbp_y html for each value of y from 1 to n such that they suitably update cached files at remote nodes to the current version of Fιle_fbp_0 html
2) Text Compression Means
The next part of the application describes a means to reduce the amount of data required to represent the textual component of information, particularly information coupled, in part at least, to the Internet (that max include files and/or web page information) Said textual component may be representative of any natural language (eg French, German English) and/or any computer language (especially languages with a natural language component, eg Java, Javascπpt, HTML Basic, Postscript, Adobe Acrobat), and or word processor files (that may mclude Microsoft Word and/or Wordperfect compatible files), and/or any other symbolic representation
2.a) The invention allows for any means (that may also referenced m this application as the Primary Text Compression Means or PTCM) that m part at least, shares the properties of (2.a.i) and/or (2.a.ii) Terms used in (2 a l) and (2 a n) have the same definition
2.a.i) A means that in part at least reduces the bit and/or byte count required to store text information, • within and/or • coupled in any other way (for example, directly and/or indirectly linked files, and or implicitly linked files) to Internet Files and/or any other files wherem, said bit and/or byte count reduction is dependent, in part at least, on information withm and. or in any other way coupled to one or multiple Text Dictionary Means
Said Internet Files may be any file, and/or any other data and/or program structure, coupled to and/or potentially able to be coupled to one or multiple nodes of the Internet (and/or similar, eg Intranets, ^Networks), and/or 18 in transit between said nodes
Internet Files may mclude, m part at least • HTML files, and/or • program files, and/or • audio files (eg sound files, packets carrying telephone conversations, packets carrying sound attached to video), and/or video files (eg pre-recorded video, live video, video conferencing), and/or image files ( gif, jpg, syn), and/or constructed files (see later m this descπption), and/or word processor files (eg Microsoft Word, Wordperfect etc ). and/or any other files and/or records an/or data structures and/or program structures
Said potentially able to be coupled, may include any information that is not currently accessible to the Internet, however, it is in a format and/or may be converted to a format that may be coupled to the Internet (and/or equivalents) This may include, for example, • information on optical media (eg CD's, DVD's) and/or any other portable media, wherein said media is in transit and or in any other way, not currently accessible to the Internet (eg if the media is not mounted in a drive), and/or • information on one at least mass storage devices coupled to a user controlled data processing system, that is not currently connected to and or not currently accessible to the Internet , and/or information on one at least mass storage devices at ISP's, and/or web-servers, and/or any other one or multiple Internet nodes, where said information is not currently accessible to the Internet
Said transit between nodes may mclude any telecommunications means and/or transfer on any physical medium, in particular optical media (eg CD ROM, DVD)
Said text information subject to the Primary Text Compression Means may also be referenced as Compressible Text Information (or CTI) when in plain text form, and/or Dictionan Compressed Text (or DCT) when compressed
2.a.ii) Any means that in part at least reverses the bit and/or byte count reduction process described in (1 a 1) (usually to produce readable text and or information that may be usefully parsed, eg HTML code), wherein, said reversal is dependent, m part at least, on information, • withm, and/or • m any other way coupled to, one or multiple Text Dictionary Means 19
The invention also allows for any means that applies, part at least, of 1 a l and/or 1 a n to text information for any other purpose This may mclude compression in part at least, of • information used in word processor documents (and/or equivalents), and/or • electronic books, magazines, newspapers, and/or • any other text applications
2.b) The Text Dictionary Means may be any means that provides one or multiple libraries of any symbolic elements, that may include • characters, and/or • words, and/or • phrases, and/or • sentences, and/or • paragraphs, and/or • pages and/or part pages, and/or • chapters, and/or • pictograms, and/or • part at least of previous versions of said one or multiple files containing text information (as referenced in l a above), and/or any one or multiple other files, and/or • any other symbolic representation and/or combmation of symbolic representations (that may include sequences of symbols used to represent computer programs and or data, for example HTML code, Javascript, Java, Acrobat, Postscπpt) wherem, part at least of said symbolic elements are actually and/or are potentially, directly and/or indirectly, representative of one or multiple text strings (usually of any length greater than zero) in one or multiple Internet files and/or any other files containing text information, and said symbolic elements are preferably arranged, in part at least, such that said one or multiple text strings in said one or multiple files containing text information, may be replaced by one or multiple direct and/or indirect pointers to said symbolic elements, (the usual process dunng text compression) and/or said symbolic elements are preferably arranged, in part at least, such that said pointers may be replaced directly and/or indirectly, in part at least, with said symbolic elements that they point to usually as a means to restore the original text information to said one or multiple text files (the usual process dunng decompression of previously compressed information)
The Text Dictionary Means may m part at least, form part of one or multiple files containing its coupled Dictionary Compressed Text and/or may be, part at least, of any one or multiple other files and/or any other storage format means
2.c) The preferred Text Dictionary Means includes the use of one or multiple core text dictionaries, that m part at least mclude one or multiple of the symbolic elements described in 2.b. 20
The core text dictionaries are preferably supplied to multiple nodes on the Internet (and/or equivalent) in order to decompress files compressed, in part at least, using dictionary information. Core text dictionaries are usually resident on one or multiple devices local to each node using PTCM. DCT information may be created by one or multiple nodes, in part at least, using core text dictionaries; and or at locations remote from nodes that decompress and/or transfer DCT information.
When core text dictionaries are used in the compression and/or decompression of text that is to be supplied to one or multiple other parties (eg. one or multiple nodes on the Internet), part at least of their content is usually common across multiple locations.
When core text dictionaries are used to compress text information for local use, eg. to improve file storage means on a mass storage device, the dictionary may be unique, in part at least, and may be customised to meet the specific data content of the files that it is compressing.
The effectiveness of the Primary Text Compression Means is usually related, in part at least, to the success of replacing character (and/or any other symbolic) strings of information within Compressible Text Information, with pointers to equivalent strings in one or multiple core text dictionaries, such that, the data used to store the pointer information (and/or any support code) is less than that used to maintain CTI in uncompressed form.
The present invention allows that said pointers may be: • direct pointers, and/or • used in part at least, in calculating one or multiple other pointers and or any other means (eg. jump tables) that directly and or indirectly, in part at least, provide a means to regenerate, part at least of the original CTI, using part at least of the information within, one at least core text dictionaries.
The present invention allows that said equivalent strings in the text dictionaries may be identical to their coupled text strings in the original CΗ and/or they may have any indirect relationship (eg. the replacement may be a translation to another language and/or part of an encryption means).
By creating a core text dictionary means that may be used in conjunction with multiple files containing CΗ and/or DCT, and making said dictionary means accessible to one at least means that creates CTI from DCT, the number of bytes in said multiple files: • may be reduced when stored on a mass storage means and restored, in part at least, to their normal content when required; and/or • may be reduced prior to transmission from at least one node on the Internet (and/or equivalent, including Intranets) to at least one other node, and restored in part at least, to their normal content when required, and or transferred to one at least other nodes, that in part at least may be DCT 21 format Said transmission may be telecommunications and/or the physical transfer of one or multiple media means (eg removable dπve cartridges, CD ROM's, DVD Discs etc )
PTCM may be used in part at least, to compress text information stored on a mass storage means (eg hard disks, CD ROM's, DVD's) This usually improves the number of files that can be stored on said mass storage means and preferably reduces the time to retrieve said files from said mass storage means
A preferred embodiment of the mvention descπbes a Data Interceptor Device that attaches to at least one hard drive, and/or CD ROM Dπve. and/or DVD ROM Dπve It may selectively restore, part at least, of the original file information as it passes from the mass storage means, to one or multiple data processing units (eg the server) Additionally, said device preferably creates Dictionary Compressed Text (DCT) from Compressible Text Information (CTI) Said device is referenced as a Data Interceptor Means (or DID)
An example of the use of a core text dictionary is now descnbed - if the phrase 'Primary Text Compression Means' is used in a text file, the word 'Compression' may require 12 bytes in a file to store its eleven characters and the following space A core text dictionary constructed for 64.000 different words and phrases that includes the word 'Compression' as one entry may permit the 12 bytes currently required for the word 'Compression' in CTI format to be compressed into 2 bytes (to provide a unique address to the location of the stπng 'compression' in the 64,000 entry dictionary), and 1 byte to represent the subsequent space The information required to represent the word compression is reduced by 75% By using Text Compression Rules, it may be possible to gam additional savings One application of Text Compression Rules may mclude a means to handle spaces between words, for example, it may be presumed that if another word follows the word 'compression', then a space following the last letter is the default This default may be modified by other factors (eg the presence of a comma or period) The use of a default 'space', reduces data storage requirements for 'Compression' from 12 to 2 bytes, a reduction of 83% The capital 'C in the word 'Compression' may be subject to a rule that has this is the default m the first word of a sentence, however, it may require additional information to represent it in other locations, as is the present situation Said additional information may also be referred to in this application as Text Compression Modifiers Should the phrase 'Pnmary Text Compression Means' be an entry in the core text dictionary, the 31 bytes (including trailing space) can be compressed to 2 bytes This is a size reduction of 93 5%
The invention seeks to replace (preferably as much as possible) the text information of a file with pointers to information am one at least dictionaries at one at least remote nodes Said dictionaπes are preferably common across multiple nodes of the Internet (said nodes preferably include web-servers, and/or ISP's and/or end-users) Said dictionaries may include other files known to be present at a remote node
Core dictionaries are preferably resident on devices that compress Compressible Text Information and/or reverse this compression, and/or readily accessible to said devices that compress CTI and/or the reverse 22
The preferred core text dictionaries may be combined in part at least with any one or multiple other core text dictionaπes and or any other types of dictionaπes, and/or any other data and/or program structures
Core text dictionaries may use any database format and/or other data structure
Core text dictionaries may mclude any file and/or database and/or any other data structure that includes any combination (m part at least) of The preferred dictionary includes multiple character strings that may be words and/or phrases and/or sentences of alphanumeπc characters that may include one or multiple non-alphanumeric characters
Core Text Dictionaries are preferably supplied in optical format and physically transported to the remote node
The invention allows for any means of coupling, part at least, of said dictionaries • to the means of creating (in part at least) a compressed version of said text and/or • to the means of restoring (in part at least) a decompressed version of said text
Part at least of compressed information may be encrypted This may use, in part at least, the method and or apparatus of trusted systems as descπbed in the previously described disclosed documents
3) Image Data Reduction Means (IDRM). A significant component of Internet bandwidth is used in the transfer of image information Another non-hmitmg objective of the present invention is to reduce the amount of data used to transfer images on the Internet This means may include a Common Image Index wherem the naming of images is formalised to improve use of image caches, and an Image Building Protocol, wherein information to construct images is sent to remote nodes instead of and/or in conjunction with actual image information
The majoπty of Internet images are presently transferred m compressed format The usual compressed formats expected by browsers are GIF (eg blueball gif) and JPEG (eg redsquare jpg)
The present invention preferably provides a means for servers to recognise whether or not a requestmg remote node is compliant with the means of the invention A means is preferably provided for compliant nodes to recognise that a particular file/image uses one at least means of the mvention (and as such may require additional processing at the remote and/or other locally coupled nodes) It is also preferable that non-compliant nodes can also access the image files The preferred embodiment includes a compliance identifier m the file name (eg _ιdrm (copyπght 1999 to John Gπffits), to indicate the file/image is compatible with IDRM of the invention) The compliance identifier is preferably located pπor to the tag (eg jpg, gif) m the image filename For example, the file name of a green square may be represented as greensqr_idrm.jpg Non-compliant nodes would usually see this image as a JPEG file of an image called greenSqr_ιdrm and handle it usmg the known art of browser (and/or any other) means The server and/or one at least downstream nodes (eg ISP) preferably ensure that the image is in a standard format suitable for use by non-compliant nodes A compliant node preferably parses file names looking for the _ιdrm identifier If absent, the file is preferably treated as for the known art If present said 23 compliant node preferably performs further processing to generate the image For compliant file names the file tag (eg jpg, gif) may be irrelevant The invention allows for any means to describe the image Multiple means may be used for one at least images The preferred embodiment includes a description of the means withm the image information The preferred embodiment of the invention has a server means capable of delivering the image in a format suitable for non-compliant nodes and another format suitable for compliant nodes The preferred means of informing a server (and or any other upstream node) that a remote node is compliant is to change the compliance identifier from _ιdrm to _ιdrm_l (© 1999 John Gπffits), when a file is requested For example, a web page may include a reference to an image greensqr_ιdrmjpg A non-compliant node would send a request for this image and preferably receive it in a format compatible with the known art A compliant node preferably modifies the filename, sending a request for greensqrjdrmj jpg Said compliant node preferably receives sufficient information to construct the image and said information is preferably less than that transferred as greensqr_ιdrm jpg to non- compliant nodes
Images that are compliant with the invention may be named using one at least Common Image Index Means (CDC) (see below) and/or one at least Image Building Protocol (TPB) Means It is preferable that a means is provided to indicate to remote nodes if one at least images includes one or both of CDC, IBP The preferred embodiment replaces _ιdrm with _ιdrm_c if the image is named using the CDC means, and _ιdrm is replaced with drm b if the image uses the image building means The preferred embodiment replaces _ιdrm with _ιdrm_a if CDC and IBP are used In the case of the green square example, the web page may include an image reference to • greensqrjdrmj; jpg if it follows CDC protocol and does not use IBP Non-compliant nodes preferably request the file greensqr_ιdrm_c jpg Compliant nodes preferably request the file greensqr_ιdrm_c_l jpg (the J indicating a compliant node), • greensqr_ιdrm_b jpg if it follows IBP and does not use CDC Non-compliant nodes preferably request the file greensqrjdrmj) jpg Compliant nodes preferably request the file greensqr_ιdrm_b_l jpg (the _1 indicating a compliant node), • greensqr_ιdrm_ajpg if it follows IBP and CDC Non-compliant nodes preferably request the file greensqr_ιdrm_ajpg Compliant nodes preferably request the file greensqrjdrm_a_l jpg (the _1 indicating a compliant node),
Practical embodiments of the invention may also mclude other Jextensions) with the file name eg greensqr Jextensιons)_ιdrm_c jpg Extensions are descπbed m detail later in the specification Image names preferably include a descriptive handle (eg greensqr, blue ball), a file tag (eg jpg, gif, any other file type) and a compliance indicator (eg ldrm, indicating compliance with the image data reduction means
3a) Common Image Index (CIX). The known art does not descπbe a coherent system for the naming and indexing of image information across websites and servers despite the fact that many different web addresses use the same commodity images Well- organised websites may create an image folder such that identical images are used by multiple pages withm that website, however, the ISP and/or end user are likely to be caching multiple copies of the same image (under the same an/or different names) in their caches They are also likely to be downloading an image from website x (x 24 may be any site) when they have previously downloaded one or multiple copies of the image from one at least other sites The Common Image Index seeks to minimise repetitive downloading of previously cached images
The invention descπbes an absolute image index that is controlled by one at least predetermined image cleaπng houses and a relative image index that may be created by local entities (non-hmitmg examples including multiple website hosts, ISP caches, end-user caches) Moreover, the invention seeks to describe a means that permits non-compliant nodes to receive image information as per the expected norm
3.a.i) The absolute image index preferably allocates a unique name (preferably alphanumeπc) to images submitted (and/or in any other way obtained) for absolute indexing Absolute indexing is preferably performed by one at least image cleaπng house (that may have multiple geographic locations and/or multiple net Internet ID addresses) Said clearing-house preferably maintains a database of all submitted images and allocates a unique ID to each image When a new image is submitted for indexing a search is preferably made of the existing image database to verify that the image is not already catalogued This would usually involve comparing part at least of each image file previously indexed with the image file to be indexed
The preferred method of providing remote nodes with image information is to provide high performance Internet pipes directly to the image database maintained by the image-cleaπng house This contrasts to the present art wherein each website is the source of image information The invention allows that images provided under the absolute mdex means may be sourced from any means with non-limiting options including common image databases maintained by web hosts, ISP's Individual websites may continue to source absolute images
In addition to the online sources of absolute indexed images descπbed above, it is anticipated the pending mass uptake of Digital Video Disc (DVD) will allow remote nodes (eg end-users) to have large libraries of absolute indexed images on high capacity optical media (eg CD ROM DVD, any future optical and/or physically portable technologies) The optical media may be read only and/or read/wπte
The preferred method of naming image files under said absolute indexing means is to include • a unique identifier (eg AAAAAAOOOOOOl), and • an absolute index identifier (eg _aιx), in the extensions field of the image file name
For example the image of a green square may be identified as greensqr_(AAAAAA0000001_aιx)_ιdrm_c jpg The _aιx is preferably a reserved symbol and not used m the name of images that do not use ADC
It is also preferable that the web page reference to the image mcludes an absolute IP address directing it to the image source
In a system where ADC images are sourced from one at least central servers, it is preferable that a means exists to provide redundancy in case of server failure The preferred embodiment allows that compliant remote nodes may be provided with two at least IP addresses (preferably at different physical locations) constituting the first and 25 second source choice, for non-local ADC images The ADC image servers for a particular remote node, are preferably those servers in closest geographical proximity to said remote node The remote node would normally request an image from the first choice and if not delivered withm a predetermined time it may request the image from the next choice, etc
The invention allows that non-compliant nodes may need to source images from the website server providing the web page the image is to be displayed withm (the usual method with the current art) The preferred method is for the web page server to re-send the request to the image server (eg at the image clearing house) The preferred means of returning the image to the requesting remote node (eg user) may mclude as non-limiting examples • the image server transferring the image to the web-server, that sends it to the requestmg node with the webpage server ID returned m the IP packet (as expected by the receiving node) • the image server sends the image directly to the requesting node with the image server ID in the IP packet • the image server sends the image directly to the requesting node with the image server ID replaced by webpage server ID in the IP packet
When an end-user wants to access a webpage, the webpage is usually accessed from the Internet and/ or from local caches The known art usually checks the contents of the webpage for references to image files that are part of the page (and/or used for any other reason) Local caches may be examined for the named image This may be used if present A request may be sent for the image to be downloaded from a remote source This may be from an image cache at the end-user's ISP and or other end-users coupled to said ISP and/or any other Internet nodes In many cases the image is sourced directly from the webpage server
The known art usually caches information for separate websites in a file structure that separates the contents of different websites For example when website A (where A may be any name) is cached, it may be stored m the cache in a folder identified as Website A The Website A folder may have multiple sub folders that may be arranged in any hierarchical (and/or other means) structure The structure usually reflects the structure used to store website A on its server Within Website A folder, one at least sub folder is preferably an Images folder that stores part at least of the images used by Website A When a webpage is designed it preferably accesses images from the linked image folder For example, a webpage may include a reference to an image called examplejmage (where examplejmage may be the name of any image) This may be identified as being located at www websiteA images/examplejmage Locations that this image may be fetched from may include the images folder at the worldwide address websiteA, and/or an images folder in a websiteA folder in a user cache and/or ISP cache The image may also be located in the same folder as the webpage, in which case it may be identified as examplejmage jpg The image may also be stored in any other folder It is also possible that the webserver and/or one at least remote node caches stores a copy of examplejmage m the images folder and one at least other folders withm the websiteA folder
When a cache is checked for the presence of one at least images, the known art checks for the presence of the image m the designated folder It is possible that the image is already cached m a folder withm the websiteA folder (and/or elsewhere), however, if it is not withm the designated folder, the image may be re-downloaded from an external source (eg the webpage server) This is a waste of bandwidth 26 For example, m a user cache the websiteA folder may include a folder identified as webpageA_example that mcludes a copy of the webpage identified as webpage A example The webpage, webpageA_example may reference an image that it expects to find in folder webpage_A. however, this image may not be present m the cache in this location The user node would usually then attempt to access examplejmage from an external node This is usually from the webpageA folder stored on the websiteA server It may also be accessed from an intermediate node For example the user's ISP may have examplejmage cached in its own cached version of the webpageA folder This process may be despite the fact that examplejmage may already be stored in the images folder within the websiteA folder m the user's cache (eg from a page access to websiteA that references examplejmage in the images folder) It is also possible the multiple different images are stored withm different folders withm folder websiteA using the same name
In addition to examplejmage being found in multiple folders within the folder websiteA. it may also be located withm one at least other folders withm a user/ISP cache that cache other websites (and or any other files), for example websiteB (that may represent any website name) For example, folder websiteB may mclude a folder webpageB_example that includes webpageB_example The latter may reference examplejmage in the images folder with folder websiteB (this is usually a different images folder to that descπbed for the websiteA folder) When the browser (and/or any other means) is displaying webpageB example and needs to access examplejmage it would usually check the images folder in the websiteB folder and if not present, make an external access This may be despite the fact that examplejmage is within another website cache (eg the folder websiteA)
The known art may result in an inefficient method of caching images that may result m multiple replication of images m caches and the need to make external accesses to images that are already cached one at least times The present invention seeks to overcome these deficiencies, in part at least
The preferred embodiment allows that images, m particular images that may be used by multiple websites, are allocated a preferably unique ID means (eg filename), for example, as previously described for the absolute image index It is preferable that these absolutely indexed images are stored at known locations that are preferably optimised to minimise duplication of image transfers
For example, one at least image servers may provide images for a large number of websites and/or web host sites This may minimise the unnecessary duplication of the same image across multiple web host sites and/or multiple websites with the same web host and/or any other servers
It is also preferable that ISP and/or user (and any other remote nodes) caches are optimised such that absolutely indexed images are stored in one at least locations accessible by a web pages from a plurality of websites Non-limiting examples may include • an optical storage means coupled to the user node and/or ISP node For example, absolute indexed images may be supplied as libraries on optical media (eg CD-ROM, DVD) User's may have part at least of this library and/or their ISP may have part at least of the library 27 • a wnteable storage means (eg. magnetic disk, wπteable optical media, semiconductor memory) for caching images loaded via the Internet When a webpage references an image that may be identified as absolute index compatible, the preferred embodiment has the browser and/or any other locally coupled means first access one at least ADC caches at the remote node (eg coupled to a user's node) If the image is not present one at least user caches, said means preferably requests the ISP to check its caches and/or caches of other customers of the ISP The next step may be to check one at least central image servers The invention allows that ADC images may be accessed on any one at least nodes on the Internet (eg the webpage server) This arrangement may be configured such that a user (and/or ISP) preferably only caches one copy (or a minimal number) of a particular image
The preferred method to identify ADC images is to have a software means parse the image file names looking for _aιx m a preferably predetermined location
Remote nodes that are not compliant with the invention preferably continue to access ADC images using known means
3.a.ii) Relative Image Index (RIX) The invention also allows that there may be a need for a coherent means of naming images that is not as specific as the ADC means and that preferably does not rely on a centralised indexing means These are referenced as relative indexed images and are intended to provide a means of minimising unnecessary image transfers usmg a cataloguing means that is preferably local, in part at least, to one at least nodes on the Internet The index names are preferably unique to that particular node, however, they may not be unique across different nodes and the same image may exist at different nodes under different names
As with ADC images, RIX images are preferably provided with a new name if there are any changes to the image
The preferred method of naming image files under said relative indexed images is to mclude • a relatively unique identifier (eg _AAAAAA0000001 ), • a relative index identifier (eg _πx), • the node ID that the images are relatively unique to m the extensions field of the image file name
For example the image of a green square may be identified as greensqr_(AAAAAA0000001_nodeID_rιx)jdrm_c jpg The _πx is preferably a reserved symbol and not used in the name of images that do not use RDC
Relative image indexing may be better understood by way of an example of a typical application A particular example_webhost (that may represent one at least, any webhostmg facility) may provide website services for x websites (x may be any number) Said example_webhost max provide an image indexing service for one or multiple website customers
SUBSΗTUTE SHEET (Rule 26) (RO/AU) 28 • It is preferable that each RDC provider is given a unique image index node ID that preferably is included m the image name of images indexed by said RDC provider • In the preferred embodiment part at least of the images referenced by one or more websites located at said webhost are given an ID that is unique to that webhost • RDC images are preferably located on an images server means local to said webhost (the images may, in part at least, be located anywhere) When a web page is loaded onto one of the servers controlled by said example_webhost. it is preferable that a means at said example_webhost examines references to images withm said page • one at least image names referenced by the webpage may use an ADC and or RDC means and/or one at least any other type of image naming system (for example the known art of image naming for webpage images) The preferred embodiment examines non-ADC/RDC images and compares them to the existing database of RDC images (it may also compare images to a database of ADC images, however, said database may not be as comprehensive as the central database of ADC images) • If an image matches an existing database image, the image name within the webpage is preferably changed to that of the relevant RDC image m the database • If the image is new to the database, a new RIX compatible image name is preferably created and the image name in the webpage suitably adjusted Changing the webpage image name is preferably done before the webpage goes live (for example, to prevent two versions of the image name existing in cyberspace)
The invention allows that a RDC image name may be changed to an ADC and/or a non-ADC/RDC image name changed to an ADC name by any means including means located at said example_webhost
A means is preferably located at said example ebhost that intercepts remote node requests for access to ADC/RDC images from particular websites and sources the image from the RDC server (usually locally) and or redirects to an ADC server (as previously described) The IP packets returned to the requestmg node are preferably suitably modified to meet the expectations of the requesting node These requests would usually be from non-compliant nodes (usually from a browser having difficulty with an embedded absolute image address) Compliant nodes preferably direct requests for images directly to the appropriate servers
It will be appreciated by those expeπenced in the art that the construction and maintenance of an absolute image index is a major undertaking The invention allows that relative indexing means operating at vaπous nodes may be used to assist with the development of the absolute image base For example, a webhosting facility may index a large number of images into RDC mode This reduces the number of raw images that need to be examined by a central image indexing means Furthermore example_webhost may compare RDC images with ADC databases and rename RDC images to the appropπate ADC name, further rationalising the development and maintenance of the ADC database 29 It is preferable that example_ webhost maintains a database of converted image names and is able to deliver an ADC version of the image when a request is made for the RDC version This will usually only occur when pages have been distributed to cyberspace with the RDC name prior to conversion to the ADC name
When a non-ADC/RDC image name is released to cyberspace pπor to conversion to an ADC/RDC format, it is preferable that a cross-reference is maintained for requests for the earlier image name
In an ideal situation all of the images at example_webhost exist as ADC and/or RDC names however, the invention allows for any percentage of the images to exist in non-ADC RDC formats
The processing of RDC images by end user/ISP nodes may be more complex A particular example_webhost may have a limited number of images that it may need to index and it need only provide a name unique to that node ISP's and end-users (as non-limiting examples) may be retrieving images from multiple physical sites They may receive an image from one site that uses the known art, the same image from another site using AIX means and the same image from multiple other sites with different RIX names The invention allows for any means to rationalise these images at nodes remote from the server of the ιmage(s)
It is preferable that end-user compliant nodes include a means to examine image references m incoming and/or cached web pages (preferably all pages)
It is preferable that end-users maintain an ADC cache means ADC images that are not present portable cache means (where used) are preferably stored m a wπteable cache means
It is preferable that end-users maintain an RDC cache means While the invention allows that RDC images may be distributed to users on portable media, they will usually be stored in a dynamic cache means coupled to said end- user means and loaded to said cache from the Internet
It is preferable that the end-user maintains • a RDC cache means (RDC_cache_ext) for images loaded from external nodes as RDC compatible images, preferably with a corresponding webpage reference to the RDC image and • a RDC cache means (RJX_cache_user) for images loaded as non-ADC RDC formats and converted to a user RDC format (as descπbed later)
It is preferable that end-users maintain a non-ADC/RDC cache means referenced as General Image Dump (GID)
It is preferable that all cached images are stored m one at least of ADC. RDC and/or GID and/or other cache means described for the invention
It is preferable that images are deleted from other cache locations 30 The prefeπed embodiment of the invention preferably guarantees that ADC and RDC images are stable over time Any change to these images is preferably reflected in a new name This may allow the user to perform useful and reliable image cache rationalisation
In contrast images loaded under other naming formats may be subject to unpredictable change For example, the image name may be changed at a website with no content change The image content may be changed with no name change This may limit the user's options m local image cache rationalisation
It is preferable that end-user nodes include a means to examine incoming and or cached RDC images and compare them with images in the ADC cache It is preferable that images that match ADC images have their names changed to the corresponding ADC name It is preferable that the matching RDC image is removed from the RDC cache It is preferable that the RDC image reference in the coπesponding web page(s) is changed to a reference to the ADC name A non-exclusive option may be to leave the RDC image reference the web page and provide a means that examines the UARLM (see next paragraph) for an equivalent ADC image name and a means for said ADC image to be fetched from the ADC cache
It is preferable that a database (or any other reference means) is maintained by the end-user node that cross- references RDC images with their corresponding ADC name This cross-reference means is referred to as the User ADC/RDC Lookup Means (UARLM) It is preferable when multiple RDC names reference the same ADC that one RDC name is selected (usually the first one matched) as the entry in the UARLM and that other RDC names reference said selected RDC name in the URRLM and thus indirectly reference the ADC image
It is preferable that end-user nodes include a means to examine incoming and or cached RDC images and compare them with images in the RDC cache It is preferable that images that match other RDC images have their names changed to the corresponding RDC name It is preferable that the matching RDC image is removed from the RDC cache It is preferable that the RDC image reference in the corresponding web page(s) is changed to a reference to the previously cached RDC name A non-exclusive option may be to leave the RDC image reference in the web page and provide a means that examines the URRLM (see next paragraph) for an equivalent RDC image name and a means for said equivalent RDC image to be fetched from the RDC cache
It is preferable that a database (or any other reference means) is maintained by the end-user node to cross- reference multiple RDC names representing the same image This cross-reference means is referred to as the User RDC RDC Lookup Means (URRLM)
It is preferable that references to RDC ιmage(s) withm a web page accessed by an end-user node are checked for availability from the • RDC cache(s), and/or • the UARLM is checked for a cross-reference for the RDC image in the AIX cache, and/or • the URRLM is checked for a cross-reference to another RDC image
It is preferable the UARLM and URRLM are maintained even after the corresponding and/or cross-reference images may have been deleted from the various caches at the end-user node 31
It is preferable that end-user nodes mclude a means to cache non-ADC RDC images such that the images used by multiple web pages and/or websites are accessible from one at least central repositories located at said end-user node A non-limit g example of a central user repository is a cache means that stores images referenced by webpages sourced from multiple websites One non-limitmg example of said central repository in particular is where the filing of said images is not based, in part at least, on file structures dictated by the file structure of websites and or webpages The preferred central user repository is referenced as the General Image Dump (GID) Non-ADC/RDC images are preferably dumped in the GID together with a tag indicating the name, and/or the source and or the validity date of the ιmage(s) (eg www gatecrashers com/nanohardjpg, last update 12 March 1999) When a browser and/or any other means attempts to load an image from the net, a means is preferably provided that checks the GID for the image name and address The means preferably determines if the image is still current on the server (eg by checking the date of last update at the server) and if valid uses the image m the GID If invalid it may source a valid copy of the image from relatively local means (eg ISP cache, other end-user nodes) and/or from the image server and/or any other means
The GID may contain multiple copies of the same image and/or images that are already present in ADC and/or RDC caches It is preferable that the end-user node includes a means to rationalise the GID The preferred means uses a user controlled RDC cache means (RDC_cache_user) with each image uniquely named for that user system Those expeπenced in the art will be able to adapt means described for ADC and/or RDC names to achieve this outcome The preferred embodiment checks the images in the GID (preferably by a content search) and compares them with images m RDC_cache_user Matching images in the cache are preferably deleted and cross-referenced m a User User RDC lookup Means (UURLM) This preferably uses similar processes for cross-reference means descπbed for UARLM URRLM When the browser and/or any other means searches for images in the GID. it preferably checks the UURLM for the image name and address and if present sources the image from RDC_user_cache It is preferable that a means is provided to verify the image m the cache is valid compared with that currently on the server (eg using the means described for validating GID images) If the GID contains images that are not in the RDC_cache_user, said image is preferably given a user RDC name and stored m the RDC_cache_user The onginal image name is preferably cross-referenced to the RDC name in the UURLM
3b) Image Building Protocol In addition to describing a means to minimise the transfer of redundant image information as described under Common Image Index, the invention also seeks to describe a means to reduce the amount of information transferred per image
3.b.i) Partial Image Transfer The invention allows that when an image is changed, it may include information previously transferred to one at least remote nodes Those experienced in the art will be able to adapt the means previously described for partial file transfers to partial image transfers
3-b.ϊi) Image Construction Means The invention seeks to take advantage of the fact that many images transferred on the Internet are computer generated, in part at last Typical non-mclusive means used to generate images are paint programs and 3D modeling programs (eg ray tracing, polygon methods) The known art typically generates an image that may use computer means and subsequently transfers this image to a server for 32 distπbution via the Internet When a remote node downloads the image from the server, it usually receives the actual image in a compressed format (eg GIF, JPG) However, the actual number of user instructions (eg, keystrokes, mouse movements, mouse clicks, wire frame co-ordmates) required as inputs to an image generating means can usually be represented by much less information than that used to represent the final image The invention seeks to describe a means wherein the commands used to create an image are recorded and subsequently transferred to one at least servers for distπbution via the Internet, preferably instead of transfernng actual image information The node that will display the information preferably reconstructs the image from the information received The invention allows that any one at least intermediate nodes may reconstruct the image, in part at least Said intermediate nodes may transfer (preferably in compressed format) said reconstructed image, in part at least, to one at least downstream nodes
When a compliant node detects an image file name that indicates said file uses the image building system, eg greensqr _ιdrm_b jpg, a means is preferably provided that creates the ιmage(s) from the information with the relevant image file
The prefeπed embodiment allows that one at least remote nodes includes image creating means that are equivalent to and/or able to emulate the image creating means used to initially create the image A non-limitmg solution is to include a standardised paint program and or ray tracing program and/or polygon generating means at each remote node and at means used to oπgmally create images
The preferred embodiment tracks, in part at least, the input means (eg key presses, mouse movement, mouse clicks) used to instruct the image generating means that creates the original image The are preferably recorded in a predetermined format and transferred to one at least servers and/or remote nodes for subsequent regeneration of the image by applying said record of input means to one at least image generating means at said server and/or remote nodes
The invention allows for any means that minimises the number of recorded steps - for example multiple mouse movements may be collated into one at least reference co-ordinates at which one at least actions occurs For example, when using a paint program the brush may start at the oπgm and be moved (eg via the mouse) until it reaches a desired x,y co-ordinate Instead of recording all the mouse movements it is preferable that only said x,y is recorded At this point an action may be initiated (eg create a square) that is preferably recorded The mouse may then be dragged to the end-point of the square It is preferable that this end-point is recorded and not the intermediate mouse movements At said end point another action may be initiated (eg draw square) that is preferably recorded Another action may be to select a colour (eg green) and or gradient fill (eg dark in centre of square to light at the boundaries) and/or flood fill the square The result may be a green square with a gradient colour fill represented by thousands of shades of green The image may consist of multiple thousands of bytes, however, it may be represented by a small number of bytes in the form of instructions to a paint program (for example)
Another non-limitmg example may track the creation of a wire frame used as mput to a polygon generating means 33 The mvention allows that equations may be used to represent part at least of an image
The following non-limitmg example may be used, m part at least, to describe an image building means The invention allows for the construction of simple images and the construction of complex images from a plurality of simple images that, in part at least, are generated by an image construction means The image construction means of the present mvention is a means that unlike the known art, mcludes more than the decompression of compressed image information to create digital information suitable for use in a display means
A) Construction of Simple Images.
ImagejSize This is preferably expressed as the number of pixels (eg x60y80, for an image of width 60 pixels and height 80 pixels) While the preferred embodiment contains images withm a rectangle (or square) any bounding means may be used (eg circle, ellipse, tπangle)
Image_Background This describes the background colour of the image, preferably as a 24 bit colour The preferred coding system has red represented by the first 8 bits, green by the second 8 bits and blue by the last 8 bits The invention also allows that a range of colours may be used to represent the background, for example. S000000-00007F would have all pixels with no red and green component and a blue component $00-$7F as the background colour
Image_Transparency This is preferably used to control the behaviour of the image background As non- limiting examples, a value of 0 may result m the background colour being displayed as designated A value of 1 may indicate that the colour is transparent to underlying graphics (eg the web page behind may show through) When an image is a composite of multiple images (as described later), a value of 2 (for example) may indicate that said background is transparent to underlying images
Image_Translucenc\ This is preferably used to control the translucency of the image For example a value of 0 may indicate that the image is solid with no translucency to underlying images, a value of $EF would result m the object not being seen Intermediate values preferably blend (to varying degrees) the image with underlying images The invention also allows that images may have a vanable translucency means Said variable transparency is preferably defined as string of subumts, wherem each subunit defines a degree of transparencj (trans_degree) and the period of time said level of transparency applies (trans time) For example, the sequence 00/05, 10/05, 20/05 may indicate that the transparency is 0 for 5 video frames, $10 for 5 frames and $20 for a further 5 frames The invention allows that the sequence may be any length The sequence may be repeated from zero to infinite times at one or multiple intervals Any default is allowed for when the sequence is no longer cycling The sequencejerminator preferably describes the behaviour at the end of a sequence For example 00_00 may indicate the sequence recycles indefinitely FFJT may freeze the image at the endpomt of the cycle FF_00 may freeze the image at the start of the sequence 10_XX may sequence the image on a vaπable basis. wherem XX may represent any string that defines the delay between each run of the sequence
DynamicJFlag This is preferably used to indicate whether the image is static (eg a blueball is statically displayed) eg flag set to zero or if the image has a dynamic component, eg the flag set to 1 34
If the dynamic flag is set, the invention allows for any means to further define the dynamic nature of the image Non-limitmg examples may include • a means (eg ray race) to indicate that the image is the result of the preferably realtime output of a ray tracing means This preferably mcludes a means (eg refresh_period) to indicate how often the image should be refreshed This is preferably expressed as video frames For example rayjrace may be represented by the value 1 and if the image is to be updated every second frame, the value of refresh j>eπod may be 2
• a means (eg polygon) to indicate that the image is the result of the preferably realtime output of a polygon generation means This preferably mcludes a means (eg refresh_period) to indicate how often the image should be refreshed This is preferably expressed as video frames For example polygon may be represented by the value 2 and if the image is to be updated every second frame, the value of refresh jeπod may be 2
• a means (eg anini) to indicate that the image is animated using a sequence of images This preferably mcludes a means (eg image_number) to indicate how many images are required for the animation It preferably includes a means to indicate the sequence that the images are displayed in (eg image_sequence),eg 01,02,03.04 may play a four image animation m sequence, whereas, 01,02,03,04,04,03,02.01 may play the animation in sequence and then reverse the sequence It preferably includes a delay means (ιmage_delay) that indicates how many video frames (or any other reference) each image is displayed for It preferably indicates a means (repeat nfo) to descnbe the behaviour of the animation on completion of the sequence Those experienced in the art should be able to adapt the means descπbed for sequencing translucency to the sequencing of animations
• a means (eg live feed) to indicate that the image is a live feed eg, broadcast TV that is captured usmg means descπbed later m this specification This preferably includes a means (eg source ndicator) to indicate the source of the image
• a means (eg net_refresh) wherem the image needs to be refreshed at periodic intervals from the Internet and/or one at least local caches This preferably mcludes a means (eg net_period) to indicate how often said refresh occurs
Image Type a means (eg type) to indicate special types of images Non-limitmg examples may include Jext (wherein the image is a box displaying text), _scroll up (an object that may be used to scroll text up) and other text manipulating objects
Reference Image Name a means (image_ref_name) to indicate the constructed image name In the case of an animation sequence it may include the name of the frames that comprise the animation In the case of complex 35 images (descπbed below) that are constructed from multiple other images (that may also be constructed images) the file name may be that of the complex image
Object Image Name the invention allows that an existing object may be fed into the image construction means and manipulated to produce one at least other images For example, blue_ball may be supplied to the image construction means and the blue pixels replaced by green pixels to produce a green ball The image )bject_name in this non-limiting example is blue_ball and green_ball may be the ιmage_ref_name of the constructed image The object represented by ιmage_object_name may itself need to be constructed
Construction Means a means (eg image builder) to indicate the image construction means required to generate the ιmage(s) Non-limitmg examples may include • _ka_jpg for a known art jpg image (no processing usually required apart from known art decompression), • _ka_gif for a known art gif image (no processing usually required to create image apart from known art decompression), • _aix for an absolute mdexed image (no processing usually required to create image apart from decompression where applicable), • _rix for an absolute indexed image (no processing usually required to create image apart from decompression where applicable), • _colourburst for an image that is created, in part at least, by applying the information in construct_sequence to a preferably standardised pamt means This may use (preferably standardised) hardware graphics engines • Jightsculpt for an image that is created, in part at least, by applying the information m construct_sequence to a preferably standardised ray tracing program This may use (preferably standardised) hardware graphics engines • Jightspeed for an image that is created, in part at least, by applying the information in construct_sequence to a preferably standardised polygon generating means This may use (preferably standardised) hardware graphics engines The invention allows that pre-constructed (m part at least) images, eg _ka_gιf _aιx, _πx, _ka pg that are loaded into the image construction means ma themselves require at least one pass through their own image constructing means to generate the required image For example, a blue ball may be converted to a green ball using the image construction means described above The blueball used as input may be a ready to use image (eg jpg) or it may itself be defined by a set of commands for use m an image construction means pπor to use as part of a second image construction process
Image Construction Instructions a means (eg construct_sequence) that directs said image builder to construct an image For example move cursor to xl,yl, start square, drag square to finish point at x2,y2 The construct_ sequence may define a series of images, for example, to create an animation sequence 36 Special Effects: a means (eg special effects) to apply additional processes to images processed by said image constructing means Non-limiting examples may include • changing part at least of the pixel colours in an image (eg, replace the vaπous shades of blue in an image with green to change a blue ball to a green ball), • expand or compress part at least of an image, • perform mathematical operations on part at least of an image, eg cause water to shimmer Said part at least of the image may be defined by any means, non-limitmg example mclude delimiting a part of the image by the x,y co-ordinates of the image, and or defining a certain colour(s) pιxel(s), • make an image flash (eg construct an animation sequence wherem part of the frames have no image, • descπption of means to mput text into a text image (eg a web address that sources the information Said source may be dynamically updated)
B) Construction of Complex Images. The construction of an image at a remote node may be a simple image as described above The image may also be more complex consisting of a plurality of simple images, each of which may mclude the means described for simple image construction and/or any other means of image generation
Canvas_Size This is preferably expressed as the number of pixels (eg x230y300), for an image of width 230 pixels and height 300 pixels) While the preferred embodiment contains images withm a rectangle (or square) any bounding means may be used (eg circle, ellipse, triangle) This preferably defines the image display area available to incorporate all the simple images that are part of said complex image The mvention allows that a means may be mcludes to define where the actual image is displayed withm a web page and/or any other means
Number lmages. Preferably a hex number indicating the number of simple images withm the canvas This may be any number greater or equal than one
CanvasJBackground This describes the background colour of the canvas, preferably as a 24 bit colour The preferred coding system is as descnbed for Image Background earlier
Canvas_Transparency This is preferably used to control the behaviour of the canvas background As non- limiting examples, a value of 0 may result m the background colour being displayed as designated A value of 1 may indicate that the colour is transparent to underlying graphics (eg the web page behind may show through) In the preferred embodiment the simple images follow the attributes defined as previously described eg. transparency, translucency
Canvas_Translucency This is preferably used to control the translucency of the canvas For example a value of 0 may indicate that the image is solid with no translucency to underlying objects (eg web page), a value of $FF may result m the object not being seen Intermediate values preferably blend (to varying degrees) the image with underlying images The invention also allows that images may have a variable translucency means The mvention allows for any, one at least, transparency means descπbed for images to be applied to the Canvasjranslucency means Part only of the canvas may be given transparency/ translucency (and/or any other) attributes 37
Image Co-ordinates A means to describe the location withm the canvas of each simple image The preferred embodiment allocates an x,y co-ordmate of 0,0 to the bottom left hand side of the canvas Each image is preferably allocated an x,y co-ordmate withm the canvas that the bottom left position of each image is located at The invention allows that only part of any one at least images may appear on the canvas This may use negative co-ordinates The preferred means lists each simple image co-ordmate in the sequence they appear m the Image Ji st (see below)
Image_List. A means to track the simple images in said complex image The preferred embodiment uses a list of the referencejmagejiame for each simple image The invention also allows for any means the allows the priority of images within the canvas to be determined (for example to determine which Image(s) appear m front of others when plural images occupy the same area of the canvas The preferred means list the lowest pπority image (le the one closest to the canvas) first in the Image_Lιst and the foremost image last in said Image_Lιst
The invention allows for a buffer means that stores component images (that may include duplicates of the same image) dunng the construction of a complex image)
The invention allows that the means described for the present invention may be used to output images in a format suitable for use with the knoxvn art of browser design The means of the invention may also be to used with any other means, that may mclude those descπbed in this specification and other specifications incorporated by reference
Whereas the known art usually supplies an image in a standard compressed format eg gif, jpg from a server means to a remote node means, the present invention describes plural methods of reducing this image into component parts Said component parts can preferably be digitally described with fewer bytes than used when the actual digital representation of each pixel and/or groups of pixels in an actual image is compressed For any particular image quality using know compression methods, the means of the invention preferably provides a more compressed version As the means of the invention may not be standard with known display (eg browser) means a means may be required to transfer images in browser compatible format Non-limiting means to achieve this may include adapting known browsers (and/or creating compatible browser) to include part at least of the means of the present invention Disadvantages of this may include the need to significantly rewrite existing browsers Another doxvnside is that browser usually run under the host operatmg system, are written in high level languages and may have degraded performance when performing the additional processing required by this specification
It is preferably that the insertion of images into webpages (and/or any other means) is transparent to the browser and/or any other display means The preferred embodiment of the invention provides for a separate means that implement part at least of the means of the present invention transparently and/or independently of the browser means and preferably of the operating system means This is referenced as the transparent_ιnternet_processor means In the case of images it is preferable that image information is written directly (direct jmage jnsertion) to the display means of a User Controlled Data Processing System (UCDPS) Said transparentjnternet_processor may be implemented using one at least system processors For example a means (preferably hardware) may be coupled to an UCDPS that interrupts the system processor and directs processing to the means of the invention 38 This permits a means that runs unencumbered by the overheads of the system operating system The preferred embodiment of the mvention uses one at least processing means that are additional to the UCDPS system microprocessors to perform, m part at least, the means of the invention Said processing means may be included withm the package of one at least system microprocessors
Said transparentjnternet_processor may produce images suitable for use by known browsers and transfer said images to said browser The invention allows that images created using part at least of the means descπbed for the present invention may be packaged into a format suitable for use by known means, eg supply to a browser means as gif and or jpg images In the case of animated images they may emulate any animation protocol (eg gif animation)
It is preferable that said transparent jnternet_processor maintains control (m part at least) of images constructed using the means of the invention and inserts and/or overlays said images constructed, into web pages and/or any other means One method couples a means to known browsers such that said transparentjnternet processor is aware of the display co-ordmates of web pages displayed on a UCDPS and knows the posιtιon(s) in the page that the images belong An alternative is a means wherein said transparent jnternet -rocessor can automatical!) determine the location of images on a UCDPS display means For example, a web page may have an image (marker-means) that is a rectangular outline defining the position of an image Said outline may be two pixels thick - the outer almost black (eg $010101) and the adjacent pixels slightly lighter (eg $020202) The fill in the rectangle may be one shade darker than white (eg $FEFEFE) This combination is unlikely to represent any image m practical applications Said image may be referenced in a web page as square X (where X may be any name compatible with the image reduction means of the present invention When a non-compliant node requests this image it is preferably delivered a jpg or gif file containing the relevant image When a compliant node requests the same image, it is preferably delivered an image in the format of the invention The transparentjnternetjprocessor preferably transfer the image of said marker means to a browser means Said transparent_mternet_processor (or any other means) preferably examines the graphics output means of the UCDPS looking for the image marker and overlays the actual image into the space A means is preferably provided to monitor changes in position and or the overlay of other information on top of said markerj eans One advantage of this process is that processes may be applied to the graphics that are not possible or difficult with the known art, m particular these processes may be applied without interfenng with the normal browser functions
Another preferred embodiment of the invention provides a hardware transparentjnternetjprocessor means that includes its oxvn browser functions and overlays the browser output over the other display means of a UCDPS
The method of producing complex images descnbed for the invention may also be used with any hardware means that stores graphic objects in multiple graphics buffers and dynamically combines image components durmg the display process This may apply (as a non-limiting example) when said combines, occurs while a video frame is output to a monitor It may apply (as a non-limiting example) when one at least objects may be moved around a display (eg a video monitor) with no requirement to rewrite, in part at least, the display information of other objects Said no requirement to rewrite may apply when said other object was previously overlaid bv one at least objects that may be said moved around a display and is subsequently revealed in part at least The invention, non- exclusively, allows for the use of the overlay means described in pending WO 98/54672 by this inventor titled "Securely Metering Advertising m Data Processing Systems that in part describes a means of overlaying display information The invention non-exclusively allows for the use of part at least of the means descπbed m Microsoft Corporation US Patent 5745095, titled "Compositing Digital Information on a Display Screen Based on Screen Descriptors"
The means of the present mvention may be readily adapted to produce a browser means that is functional online and offline The present information descπbes a means for delivery information from a plurality of sources -both local to the user and from servers Said means may be adapted by those expeπenced in the art such that it emulates other online functions The browser and/or other means local to the user may not be aware that the system is online or offline The secure metenng means described in WO 98/54672, WO 97/25675 and WO 96/27155 incorporated by reference, provide a secure means for metenng usage of commercial images that may be provided for use with the system and for monitoring advertising displayed to the user This may apply when the remote node is online and/or offline
The addition of secure processing to the means of the present mvention also provides a means of secure electronic commerce Those expeπenced m the art will be able to adapt the means descnbed in the documents referenced by incorporation to provide a system of secure electronic commerce to function with a UCDPS equipped with part at least of the means of the present invention
3c) Partial Image Distribution. The distπbution of image information via the net, for example movies, pornography, casino games, consumes significant bandwidth This information would be more effectively distnbuted on optical media For example, one DVD disc costing approximately one dollar and able to be sent to most places in the world by post may contain 17 gigabytes of data At 64k (the best user data rate in common usage) this would take about 2 million seconds to download (approximately 700 hours) Most postal systems could deliver this in a few days One reason the Internet is preferred is that it may circumvent government legislation banning certain material (eg adult only information) This legislation is generally ineffective and congests the net The present invention descnbes a means where part of the information constituting digital information (eg offensive parts) is deleted with the non-deleted portion distributed on optical means (eg CD DVD) This means, for example, that ISP's and/or Users may cache a significant part of the information on cheap media and only download part of the information to complete the picture Said downloaded information is preferably protected by encryption As this preferably requires a secure processing means to decrypt, better controls may be placed on undesirable use of materials than is presently the case
4. Voice Transfer Data Reduction Means. The invention also seeks to descπbe a means to reduce the amount of digital information required to transfer telephone conversations, for example via the Internet
4a) Voice Recognition Means The known art describes methods of compressing the digital data generated when a voice (and/or any other sound) is digitised The present invention seeks to reduce digital data by means of a voice dictionary lookup means In a simple embodiment the known art of voice recognition software may be used 40 to convert a conversation into textual information This information may then be transferred to one at least other parties and reconverted to sound
A more sophisticated solution relies on the fact that for a particular speaker, their conversation is basically a limited number of phonemes that may have a vaπable pitch and amplitude The spacing between phonemes may be vanable A vanable amount of a conversation usually consists of pauses The invention seeks to describe a means wherem a phoneme dictionary is created for an individual The complex waveforms representing each phoneme are preferably digitised and each provided with a unique ID One phoneme may be allocated for silence One byte may encode ID's for all phonemes for a particular speaker When the speaker has a conversation with at least one other party, said other party preferably has local access to said phoneme dictionary This may have been previously transfeπed prior to making connection and/or prior to and/or during a particular telephone call A similar process is preferably applied to other participants in the conversation
The preferred embodiment of the invention digitises a speaker's voice and seeks to break the digital stream into recognisable phonemes (phoneme J sic) It then seeks to get a best fit by adjusting the amplitude and/or length of the phoneme and/or spacing between phonemes and/or any other means to get a best fit As a non-limitmg example, one byte may represent all phonemes for a user (including a code to indicate silence and one to indicate no fit possible (secure processing means below)) One second of digitised speech may require 8k bytes to represent in uncompressed form Said one second may be represented by only 20 phonemes (for example) For each phoneme another byte may represent amplitude (phoneme_amphtude) Each phoneme may require another byte to descπbe the length of the phoneme (phonemejength) Another byte may be used to indicate the time between phonemes (phonem spacing) This equates to approximately 80 byte to represent a digital signal normally requiπng 8000 bytes A preferably high speed processing means preferably tries combinations of phonem_b asic, and/or phoneme_amphtude and or phonem Jength and or phoneme_spacmg to get a best fit with the actual digitised sound For those parts that are unable to achieve a satisfactory match the actual digitised sound may be substituted The invention also allows that phonemes may be further subdivided with different attributes coupled to part at least of said subdivided The invention allows for the use of digital signal processing. in particular Fast Fouπer Transformations in the analysis of voice signals Although phonemes are used in this example, any means of partitioning the analogue and/or digital version of voice is allowed for
The simplest way of creating a user phoneme library is to create a series of sentences that cover all phonemes, preferably allowing some repetition and variation in use These are digitised to create the basic user phoneme library
The receiving means uses this information to reconstruct the voice The invention further allows that the means that uses voice recognition to create text may be combined part at least with said phoneme compression means
The invention further allows that the preceding means may be open to abuse (eg synthesising voice patterns) The invention allows for any means that secures telephone conversations that in part at least use digital means and in particular the means of the present invention By applying the secure processing means described in the documents incorporated by reference, a secure voice system may apply For example, the voice is processed as described above The resultant digital information is encrypted by a secure processing means coupled to an 41 electronic appliance (eg telephone, UCDPS) local to one at least participants in a telephone call Said secure processing means is preferably controlled by a particular user A service provider receives the information, verifies its oπgm, decodes, and re-encrypts for transfer to one at least other parties to the conversation Said re- encrypts is preferably specifically targeted to another secure processing device, preferably unique to said caller(s) The call can be thus verified as to origin and protected against eavesdropping Furthermore, as the call is likely to be one of thousands transiting said service provider, it is difficult for third parties to determine that two at least parties have even communicated
Preferred Embodiment of the Invention.
The prefeπed embodiment of the invention is now descπbed with reference to the drawings The detailed structures already described in the preceding descπption of the invention may not repeated, m part at least, m the descπption of the prefeπed embodiment Those experienced in the art will know how to adapt the means of the invention to the embodiment now descnbed The present embodiment should be read in conjunction with the art incorporated by reference
Figure 1 shows a general overview of a non-limiting example of how the invention may be applied in a simplistic embodiment Those expeπenced in the art will be able to adapt it to more complex arrangements
An Internet (and/or any other file) usually has to be created For example developer 1 may be the originator of a file FL1 Said developer may just have updated the file from version 2 (FL1 v2) to version 3 (FL1 v2) Said developer may have used a library means, for example 6 This may include as non-limiting examples a text dictionary means 2 compatible with the text compression means of the mvention, ADC image library 3 (that may mclude an optical library 3a and or a wπteable library 3b, eg on hard disk), a RDC image library 4 standard GIF and JPG images 5, the user GID 7 and user RDC 8 The developer may create a web page for example using suitable software eg Frontpage This may reference images stored in one at least image cache means (eg the image libraries shown m 6
The developer 1 will usually need to transfer the created file FL1 v3 to a server means (eg web host site 31) It is preferable that the developer only needs upload the new FL1 v3 to the server 31 • Server 31 (and/or coupled means) are preferably responsible for generating the various partial file update means described for the present invention For example a complete file FLl v3c for non-compliant nodes and compliant nodes that do not have cached older versions of the file, a file FLl v3 to indicate to remote nodes indicating to said server that they have FLl v3 that they have a copy of the current version (refer to descπption), a file FLl v2/3 to update remote nodes with version 2 to version 3, and a file FLl vl/3 to update remote nodes with version 1 to version 3 The server means 31 is preferably responsible for adding the text compression means to files and/or parts of files • Alternatively the developer may create the vaπous files required by the invention and upload them to said server 31 This may require an update means 15 to create the different files If the server 31 is non-compliant with the invention it is likely to require more storage means to keep web pages that are compliant with the mvention than web pages that are non- 42 compliant (eg it needs to store a complete file for non-compliant remote nodes 40 and the various update files to meet various update requests If the server is compliant, the file storage per web site is preferably reduced (preferably significantly) and bandwidth requirements of files significantly reduced For example, compliant nodes may store Fll v3c m compressed form eg using the text compression means of the invention together with update parameters for older versions of the file (eg pointers to the blocks of information that are useful in the new version) This is preferably less than the storage requirements of the same file using the known art The various files/partial files may then be generated dynamically as required This may be done by file processor 33 • The preferred method is for the developer to upload FLl v3 and let the server means 31 manage the partial file means and text compression means of the present invention However, to reduce bandwidth in uploading files to serveis (eg using File Transfer Protocol) it is preferable that the developer 1 uses the means of the invention (m part at least) and becomes the server and the server becomes the receiving remote node For example it is preferable that developer 1 maintains a copy of the last version of files uploaded to server 31 Developer may then use the partial file means of the invention and/or the text compression means and/or any other means to update the server means 31 by partial file transfer and/or compressed information
• The developer 1 may also need to upload image information to server 31 In the case of images 25 that are knoxvn to be available at the server (eg RDC images local to said server 31) and/or at other user accessible locations (eg ADC image servers), the developer 1 preferably does not need to waste bandwidth by uploading these images Images 26 that are not known to be located at one at least user accessible means are preferably uploaded to server 31 Here they preferably may be re-categoπsed to ADC and or RDC images When developing complex images (as previously descπbed) it is preferable that a means (eg update means 15) tracks simple images within said complex images, and maintains a record that can be used (preferably automatically) to upload those images that fit the descnption of images 26
Object 30 in the drawing represents the complex data pathways and intermediate nodes of the Internet
Webhost 31 preferably has access to its own libraries 6a It preferably includes a means 32 to determine if a requestmg node is compliant with the invention (eg compliant ISP 50) or non-compliant (eg NC Node 50) Said means to determine have been descnbed in detail earlier in this specification In the case of non-compliant node 40 requestmg the latest version of file FLl v3C, said server 31 preferably delivers FLl v3c in a format consistent with the known art In the case of non-compliant node 61 coupled to said server 31 via compliant ISP C-ISP 50, said ISP 50 may take advantage of the invention to potentially reduce the amount of data transferred when retrieving File FLl v3 Whether or not said ISP 50 has local access to a cached version of the file FLl. it max save bandwidth by retrieving part at least of the file compressed using the text compression means of the invention Note the invention allows for the use of any data reduction/compression means descπbed in this specification with any known art compression means Further bandwidth may be saved if said ISP has local access to a cached version of the file (preferably any version) If ISP 50 already has access to a cached version of version 3. then it preferably only checks the server to validate that version 3 is mdeed the current version of the file If it has access to older versions of the file, it preferably uses the most recent version and requests the appropriate update file (eg Fll v2/3 16b if it has local access to FLl version 2) As said ISP 50 may have coupled 43 nodes that may have various versions of file FLl, it is preferably that it caches update means for these files These may be effectively stored using similar means used by said server 31 to keep files compact (eg only store sufficient information to dynamically create files and/or partial files as required) Non-compliant node NC Node 61 would usually be sent the file usmg known means The ISP is thus able to conserve bandwidth (and preferably cost of data) and retπeve files faster The non-compliant node 61 is restricted to old means, however as these links are usually untimed local calls, the mam downside is slower transfers from ISP to user (and/or the reverse) In the case of compliant node 70 coupled to said compliant ISP 50, part at least of the means of the invention may be used to reduce bandwidth requirements between node 70 and ISP 50 If the ISP does not have access to a version of FLl and node 70 does, eg FLl v2 71 (or if ISP 50 has an older version of file FLl than node 70), ISP 50 may still retπeve FLl v2/3 at pass it straight to node 70 Node 70 preferably reconstructs version 3 of file FLl, using, in part at least, the means of the invention The invention further allows that ISP and or coupled nodes and/or other local means may retrieve files (current and/or otherwise) from each other For example version 2 of file FLl may be resident in ISP cache 53 and/or compliant node cache 54 and/or non-compliant node cache 55 It preferably be retπeved from one at least of these locations For complaint nodes, the means of the mxention may be applied to facilitate this transfer The use of secure means may be used to ensure user files are not tampered with (eg attempts by assholes to deliberately corrupt files) ISP 50 may also have an outdated version of a file in its cache For example, suppose node 70 presently has version 2 of file FLl and ISP 50 has version one The fastest way of updating node 70 may be by downloading file FLl v2/3 from the server 31. however this may not provide sufficient information for ISP 50 to update version 1 to version 3 One alternative is for ISP 50 to retrieve the updated file from node 70 This is usually a fairly cheap option, however, it may tie up node 70 Should node 70 have a cached version of version 1, it may create a partial file update means to update ISP version 1 to version 3 An alternative is to send a message to server 31 requesting an update means that enables ISP to update version 1 to version 2, enabling it to use the already cached FLl v2/3 to furthei update this to version 3 For example version 3 may be a text file abcdefgh, version 2 may be bbbdefgh and version 1 bbbbefgh ISP 31 preferably has (and/or can generate) the full text of version 3 FLl v2 3 may instruct the retention of defgh m the construction of version 3 and send the stπng abc to replace bbb The server usually has no requirement to store the obsolete string bbb of version 2 FLl vl/3 may instruct the retention of efgh and send the string abed to replace bbbb The obsolete stnng bbbb is usually discarded (and for version 1. the initial sequence bbb may have been discarded when version 2 was uploaded) However, server 31 may instruct ISP 50 that sequence efgh is to be retained, that it requires a d before said sequence to update to version 2. such that ISP 50 may use the FLl x2 3 to further update the file As node 70 preferably also has version two cached temporarily at least, server 31 ma generate a placement command that can be used to instruct node 70 to send the actual characters required to convert ISP version one to version 2 Those experienced in the art will be able to design plural combinations It is preferable that said server 31 also includes a means to determine themost efficient options for these updating means Similar processes may be applied to local nodes sharing ISP 50 (for example) and/or any other nodes
Figure 1 also depicts a non-compliant ISP 80 that may be coupled to non-compliant node 90 and compliant node 99 Non-compliant node 90 preferably functions normally as per the knoxvn art Compliant node 99 preferably continues to have access to the features of the invention, however, it may miss out on some of the cachmg enhancements that mav be provided by coupling to a compliant ISP Non-compliant ISP 80 ma; get some reduction in data transfers because of the usually reduced demands of the compliant nodes However, the ISP cache in particular may become inefficient as it caches multiple versions of the same file and where a cached 44 version of Fll .v3c may have met the requirements of Node 80 and 90 with the known art. said ISP 80 duplication, in part at least, may consume more bandwidth.
Figure 1 further depicts non-limiting examples of means that may be coupled to a compliant node. The prefeπed method couples an electronic appliance (eg UCDPS 105) to the Internet is via modem 101. This is preferably by an Internet (and/or any other function) Processing Engine 100. Said engine 100 may be a functional block running under the operating means of said electronic appliance, in part at least. It may run transparently to said operating means and use the processing means of said appliance, in part at least. The prefeπed embodiment is to construct said engine 100 as a discrete processing means. It preferably emulates the functions of an Internet Interface such that means on the electronic appliance 105 side may not know if the system is online and/or offline. It is preferably that all Internet caching is controlled by said engine means 100. For example, by instructing the browser to have a zero byte (or minimal) cache, it will usually attempt to access to e Internet for most page and or image accesses. Said Internet access may be simulated by engine means 100 that delivers information to browser 106 from local caches (not shown) and/or libraries 6d as non-limiting examples. This is preferably at high speed. Said engine 100 preferable includes and/or is coupled to secure processes, in particular those described in the documents incorporated by reference. Said engine preferably intercepts incoming files prior to being passed to (and/or originating from) the browser and/or any other means coupled to said electronic appliance 105. These are preferably analysed and if compliant with means of the invention, directed to one at least relevant means. For example, the files may require the file building means 115, the image building means 116, text compression/expansion means (not shown). Said engine 100 may also be coupled to a phoneme processing means 120 that preferably includes a microphone 121 and speaker 122. The invention allows that the browser may be part of said engine means 100 rather than and/or in conjunction with the processing means of said appliance 105. Information processed by said engine 100 may be transferred to said browser 106 in a means compatible with the known art for subsequent display via the system graphics means 107. The invention allows that engine 100 (and/or any one at least coupled means) may inject display information directly into said system graphics means 107. The preferred means provide a separate graphics buffer 108 that, in part at least, is under the control of engine 100. The outputs of 107 and 108 are preferably mixed for output to monitor means 110. This is described in detail in the specifications incorporated by reference.
Reference to figure 2 may assist the understanding of the next part of the specification. The structures of the partial file building means and image reduction means have been detailed in the description preceding the preferred embodiment. Figure 2 describes the preferred embodiment for dictionary text compression means. The text compression means is preferably used in conjunction with the partial file means.
When a file is constructed to update an older version of a file it usually includes data (eg text string) to update an older version of a file. When there is no cached older version, said text string may be the entire file. Object 150 is a non-limiting example of a file suitable for use with the FBP means of the invention. The commands 151direct placement of text and 152 is the update text string. One aim of the invention is to compress the text strings in files. One non-limiting means is depicted in object 155 that represents the means of 150 with the addition of text dictionary compression means. An on/off flag 156 may be used to indicate that this structure uses the text compression means of the invention. It may be a single bit (eg. 0= no text compression, 1= text compression). The dictionary means used 157 is preferably used to indicate the dictionary used to compress the information and 45 usually need to reverse the process The invention allows for the use of multiple dictionaπes A map means 158 is preferably provided to identify sequences of compressed and plain text For example, a bit-map may represent the sequence, wherem 0 represents words not in the dictionary and a 1 a word in the dictionary With reference to figure 2. sax and fed may not be in said dictionary, therefore the sequence 011110 maps the placement of words (and/or phrases and/or any object arrangement) A dictionary lookup means 159 preferably replaces words (and/or any other sequence) with a reference to said word/sequence in said dictionary The residual text 160 that is not coded (in this pass at least) may be left as a text stπng A means is preferably included to delineate words/ sequences The reversal of this process to regenerate the original information should be obvious to those expeπenced in the art
Intrachip and Interchip signal propagation using optical means. The means of the invention may require an increase usage of data processmg as compared with known means however, this increased processing time is preferably more than offset by the reduction in bandwidth required for transfer of information over network means The prefeπed embodiment allows for the use of distributed processing (preferably using many low-cost CPU's) This may require a large degree of mterconnectivity Said mterconnectivity may mclude the integration of multiple processors mto a single IC and the connections between IC's and modules One means to improve said mterconnectivity is by optical means, m particular those disclosed herewith It will be appreciated that said optical means may have application in areas other than the present invention
The present art of semiconductor design is such that the propagation of electπcal signal withm an integrated circuit may cause greater delays than the switching of electronic devices (eg logic gates) withm said IC
One problem within modern IC's is ensunng that one at least clocks withm an IC, clocks, as far as practical, at the same time throughout the chip The variability m the length that the clock must propagate from its origin to one or multiple targets and the capacitive delays involved in charging/discharging the conductive pathways may make accurate prediction of clock nets difficult to estimate and/or compensate for This problem is likely to exacerbate with increasing mimatunsation of devices
Said optical means may allow for a means of converting, in part at least, one or multiple electπcallx generated clock signals (that may originate within and/or external to an IC) into one or multiple electromagnetic frequencies (with the preferred bandwidth across the optical and/or infrared spectrum) for transmission to one at least optical receiver means (that may be withm and or without the IC) that, m part at least convert the received optical sιgnal(s) into electrical signals suitable for clocking (directly and/or indirectly) semiconductor devices (within and/or external to the IC) The path may be direct (eg electrical to optical to electrical), and/or indirect (eg electrical to optical, to optical, to electrical, to optical, to electπcal) The invention also allows that any one at least clocks may be created external to an IC and enter m optical form and/or that any optical clock created withm the IC (and/or passing through the IC, using any means, that may include directly and/or indirectly clocking devices withm said IC) may exit said IC in optical form, and or any optical clocks created within said IC may exit said IC in optical form
The term optical signal in this specification may refer to any one or multiple electromagnetic frequencies 46
Optical propagation of clocks may have advantages, non-limiting examples may include: i) the propagation of optical signals is constant and not affected by capacitive delays, ii) the propagation delay is a simple calculation given the physical location of the transmitting source(s) and one or multiple receixάng sources. iii) minimise high frequency noise along conductors. iv) the system may be readily adapted from the known art for high speed transmission of fibreoptic signals, to permit clock speeds of multiple gigahertz that for practical purposes are synchronous to multiple targets. v) the ability to get the clock to parts of the chip that may be heavily congested by wiring.
Reference to figure three shows one aπangement of the invention. The normal base of the IC with pins attached is represented by 201, with one or multiple IC substrates 202 attached. One or multiple optical clocks are represented by 203 (this may use any means for converting an electrically generated (direct and/or indirect) clock signal into an optical signal. One or multiple optical receivers 204 are attached (directly and/or indirectly) to the substrate 202. Said optical receivers 204 may use any known means for receiving an optical signal(s) and converting (in part at least) it to an electrical signal(s).
The invention allows for any means of generating: • multiple optical sources 204 for any particular clock signal (for example and non-limiting, optical clock sources representing the same clock may be distributed throughout the chip), • multiple different clock signals (for example and non-limiting, multiple clock lines each activating one or multiple optical transmitters)
The invention allows for any means of propagating the optical signal from transmitter(s) to receivers). The prefeπed method of propagation is to create an optically conducting space 207 between the chip substrate and the cover of the chip 205 by leaving an open space inside the IC package. Said space may be replaced in part at least by any optically conducting medium. The invention allows for any means of improving the propagation of the optical signal from source to destination. This may include (as non-limiting examples): • lining the interior of the cover (and/or any other part of the package and/or contents) with a suitably reflective material 206; • optical conducting pathways between source 204 and destination 203, non-limiting examples that may include • one at least optical conducting channels via any material filling part at least of said space 207; • one at least optical conducting channels (that may be optical conducting material and/or one at least holes) within one at least chip substrates: • one at least optical conducting channels (that may be optical conducting material and/or one at least holes) within the base 201 and/or cover 205 and/or any other part of the IC. 47
The invention allows for any number of optical clock sources These may be multiple versions of the same clock and/or multiple different clocks
The invention allows for any means of preventing any particular clock rπggenng non-targeted receivers, that may include the following non-limitmg examples • a) one means is to use physical bamers to optical transmissions (a non-limitmg example may include suitably moulded extensions of the material used to form the IC package reference to figure 4 shows a simple arrangement with two different clock sources 203a and 203b arranged on substrate 202 The physical partition 210 constrains the optical signal from 203a to the receivers identified as 204a Partition 210 constrains the optical signals from transmitter 203b to the receivers identified as 204b The invention allows for any number of receivers and transmitters in any combination and any number of partitions
• b) generation of a different optical frequency for two or more optical transmitting sources and customise two or more receivers such that they only respond to optical frequencies emitted by particular optical transmitters • this may be better understood by reference to figure 5 that shows three optical transmitters, each of a different frequency and attached to substrate 202 Said transmitters are identified as 203a, 203b, 203c Optical receiver 204a responds to the frequency from source 203a, receiver 204b responds to source 203b, receiver 203c responds to source 203c and receiver 204d responds to sources 203a and 203b
• c) one or multiple optical receivers may be inactivated, by any means including electπcal and/or optical signals, such that it is not responsive to one or multiple optical sources for any period and/or combination of periods of time
The invention allows for any means of converting, in part at least, one or multiple electrically generated signals into one or multiple electromagnetic frequencies (with the preferred bandwidth across the optical and infrared spectrum) Non-limitmg examples of said signals (that may oπgmate within and/or external to an integrated circuit) may mclude data and/or address and/or control and/or any other signals Said electπcally generated signals may be transmitted to one or multiple optical receivers (usually withm the IC) Said receivers preferably mclude and/or are coupled to a means to. in part at least, convert the received optical sιgnal(s) into electrical signals suitable for driving (directly and/or indirectly) semiconductor devices withm and/or external to the integrated circuit Said one or multiple electπcally generated signals may be collectively referenced as non-clock signals in this specification
Any one or multiple non-clocks may be created external to the integrated circuit and enter, m part at least, m optical form Said non-clocks may interact in any way using any means with any optical clocks and/or non-clocks created withm the IC Said non-clocks may exit the integrated circuit in optical form 48
Any means descπbed for optical clocks may be applied to any combmation of non-clock signals Any combination of optical clocks and optical non-clocks may be active withm an IC (concurrently and/or otherwise)
Any one or multiple optical transmitters may be associated (preferably integrally) with one at least optical receivers, and/or any one or multiple receivers may be associated (preferably integrally) with one or multiple optical transmitters, providing for the bidirectional transfer of information Transmitters and or receivers in the preceding arrangements may have any of the means described for transmitters and/or receivers in any other aπangement Receivers and transmitters do not need to be coupled for the bi-directional transfer of information
Physical limitations and/or frequency limitations and/or any other reason may limit the number of different optical sources and/or receivers that may be included within an integrated circuit The invention allows for any means that takes one or multiple electrical inputs (and/or optical inputs) and multiplexes them into one at least optical transmitters The invention allows for any means that takes the electrical (and/or optical) signals produced by one at least optical receivers and demultiplex the recovered signals into multiple outputs These multiplexing and demultiplexing means may be used for any application, and may have particular application in distributing plural address and or data signals through part at least of one at least IC (and or between IC's) Said address and/or data signals are preferably converted, in part at least, to a seπal stream of optical pulses and preferably reconverted, m part at least, to parallel electrical signals after optical reception One non-limitmg advantage of this mux/demux means may be to reduce the complexity of signal routing withm an IC and/or the improved utilisation of silicon (and/or any other substrate)
The serialising of parallel information and the reverse process at its target (and/or any other location) may be facilitated by the means that may switch optical signals faster than electrical signals This increased speed may depend on the use of different semiconductor material for high speed (eg GaAs) Any means to mix substrates ( eg GaAs, silicon) is allowed for, non limiting examples of which may include • integration of multiple processes onto one wafer, • the attachment (eg bonding wires) of one or multiple discrete substrates (that may be of different types) onto one at least substrate means (eg silicon, glass, plastic base) Reference to figure 6 may help clarify the preceding means Electπcally generated data D0-D7 is clocked from a parallel to serial converter by high speed clock CLK1 The outputs of 211 are converted to optical signals by 203a and 203b, and reconverted to electrical signals by receivers 204a and 204b The received data is clocked into a serial parallel converter by CLK 201 that is transmitted by 203c and received by 204c CLK 2 is the usual system data clock and is transferred by optical transmitter 203d and received by 204d, from which it clocks the data into the target device (eg a register and or memory location) 213 In this example each transmitter is a unique frequency and each receiver is responsive to a particular frequency It will be appreciated by those expeπenced in the art that any number of signals may be arranged in many ways, m many combinations, to effect a similar outcome Additionally, part or all of the means may be mirrored at either end to provide for the 49 bidirectional transfer of information While only one source and destination are shown, there may be any number of either Any links that are optical may be replaced in part at least electrical, and any electrical links may be replaced in part or whole by optical links
A particular application of the invention is described with reference to Figure 7 In this case the substrate 202 is shown with three discrete logic blocks (there may be any number of any type), that in this example are a central processing core 220 (there may be any number), and two SRAM blocks 221 and 222 (there may be any number) The only connections in common are ground 226 and power 225 By converting part or all of the data (and/or address bus) to serial optical signals in 203a,203b,203c and 203d of CPU logic 220, and equivalent serial receivers 204a.204b,204c and 204d in SRAMs 221 and 222, together with control lines (eg r/w and select) 203e/204e for SRAM 221, and 203f/204f for SRAM 222, discrete logic blocks can be interconnected in part or whole (with the exclusion of power rails) by optical means Such an arrangement as shoxvn in Figure 7 would usually have bidirectional optical facilities for data paths For clarity these are not shown Any part or all of the optical links shown (and/or any others) may be replaced by electrical connections
The invention allows for any means that may reduce part or all of the data and/or address bus and/or control conducting lines (including clocks) linking one or multiple processing means and/or one or multiple memory storage means and/or one or multiple other partitionable logic means, by replacing part or all of said conducting lines by optical connections, using part or all of the means described in this application Said optical connections may be one for one, and/or any multiplexed arrangement
Figure 7 shows multiple logic blocks integrated onto the same substrate An important facility provided by the invention is a means to allow various logic blocks (in part or whole, in any combination) to be manufactured on separate substrates and bonded (or attached using any means) into the chip package and linked with a minimum of wired (or any other electrical) connections Said bonded may be onto the chip package itself, and/or onto part of one or multiple other chips withm the IC package This method permits multiple chips that may use different processes in their manufacture, to be readily linked with high-speed optical connections, m part at least Figure 8 shows the internal surface of the base of the chip with a ground rail 226 and power rail 225 Three distinct IC's CPU 220. SRAM 221 and SRAM 222 are attached to the power rails (225,226) All other mter-chip connections are preferably optical In most practical applications, part or all of one or more of 220,221,222 would have connections (that may be optical and/or electrical) outside the chip package While not shown in the drawings, part of 220 and/or 221 and/or 222 may be bonded onto part or all of 220 and/or 221 and/or2 22 Any optical links may be replaced in part or whole with electrical connections, with the reverse also applying (where applicable) The invention allows that any method may be used to deliver power to the various discrete chips withm the IC package A special implementation of the invention is described with reference to Figure 9 One or multiple chips 202 aπanged using any means, including those descnbed with reference to Figure 7 and 8, are attached to the base (internally) of the chip package One or multiple chips 230. aπanged using any means, including those described with reference to Figures 7 and 8, is bonded to the internal surface of the top of the chip 205 Power rails need to be attached to 202 and 230 (these may be common and/or separate) and part or all other connections performed optically (203a, 203b, 204a. 204b) This method improves packing density for a given area, provides very short optical paths and provides multiple complex structures to be integrated withm a smgle package and to 50 interface to one another The invention also allows for any means that permits more than two layers of chips (in part or whole) to be aπanged within the IC package, this may include, part at least, provision of holes within intermediate chip layers, and/or receipt of signals and retransmission, and/or suitable aπangement of lenses and reflecting surfaces, and/or use of various optically conducting media (eg fϊbreoptics)
The invention allows for any means of interconnecting multiple discrete chips withm a single IC package (in part at least) wherem said discrete chips are interconnected in a planar aπangement, and/or a stacked three dimensional arrangement, wherem, part or all of the interconnections between said discrete multiple chips including part or all of the data lines and/or address lines and/or control lines and/or clock lines is by optical linkage using any part or all of the means described in this application, and part or all of the bonding (using any means) of said discrete chips may be to part of the chιp(s) package and or part of one or multiple other discrete chips and or by any other means Said any discrete chips may have any part of their logic areas linked lntrachip by optical means using part or all of the means descnbed in this application Said multiple discrete chips may provide any combination of functions, and this may include any combination of one or multiple processing means and/or one or multiple memory storage means
The rapid rise in populaπty of the Internet coupled with the fact that most households still have a single telephone service means that the line is frequently engaged to incoming calls A non-limiting objective of the present mvention seeks to provide a method and apparatus that permits attempts at incoming calls on a particular telephone line to be advised and/or connected to a user, while, said user and/or their computer remains connected on said telephone lme by modem or similar to one at least remote processing, and/or data storage, and/or switching facility (eg Internet Service Provider) also collectively referenced as an online facility in this document The method takes advantage of call diversion facilities when linked to a telephone service Said call diversion refers to any means that permits incoming calls to be redirected to one at least alternative telephone numbers while permitting outgoing calls to be made from said telephone service The method includes any means to determine (at least part of the time) when an attempt is made to connect to said online facility and/or when said attempt is successful wherem the outcome of said determine influences activation of call diversion Said activation is preferably prior to connection to said online facility however it may be at any other time, including by said online facility after connection is made
The preferred method to said determine and/or said activate is one that is transparent to the software (eg a net browser) used to establish the connection to the online facility This approach usually does not require modification of existing software Said prefeπed method preferably mcludes a physical device that can intervene between information output from a computer to establish a link with said online facility and establishment of said link (eg completion of the telephone connection) Said information to establish a link is usually that which initiates dialing pulses representing the telephone number of the target online facility Said intervene is preferably pnor to transmission of the electrical and/or optical signal from the users location Said physical device may be in any suitable location, including the modem however it is preferably located pnor to the serial interface (or equivalent) connecting the computer to the modem in the case of an external modem, and pnor to 51 the modem logic m the case of an internal modem The prefeπed physical device is with a secure processing device as descπbed m PCT AU/97/00010, modified to perform seπal data transfer functions
Said physical device may include any means to determine when information to be output on a telephone line is to initiate a call to said online facility and any means to activate call diversion, preferably prior to said initiates There are well known protocols for initiating modem connections with remote locations The prefeπed embodiment of the invention includes a processmg means that can interpret said protocols prior to output, and where prudent, add additional information to the output stream pnor to outputting said protocols Any means may be used to achieve this with the prefeπed method including a lookup table (preferably programmable) that includes telephone numbers of at least one onlme facility and information on the codes required to effect call diversion and/or information to initiate call diversion, and/or information to verify said call diversion as effective, and/ or information to terminate said call diversion, and or information to verify termination of said call diversion
Said processmg means preferably examines information for output to the modem and detects protocols that will dial-up a telephone number The number to be dialed is preferably extracted and compared with information in said lookup table If there is a match (or any other method to effect a similar outcome) said processmg means examines the codes necessary to effect call diversion and sends these along the telephone l e The invention also allows for any means to validate that said call diversion was effected Said processing means would then normally output the information required to establish a telephone link with said onlme facility
The invention also allows for any means to determine when a telephone connection with said online facility has terminated wherein said determine in part at least influences the termination of said call switching The prefeπed method to achieve this is included within the physical device used to initiate call diversion Said physical device preferably uses means well know to those expeπenced in the art to monitor the state of the modem connection with the telephone line The prefeπed embodiment has said processmg means extract information from said lookup table to determine the codes to send to terminate said call diversion Said processmg means preferably initiates a call to the telephone company and transmits the appropπate tone pulses to terminate said call diversion
An alternative embodiment of the invention allows for part at least of the preceding method and/ or apparatus to be implemented in a switching device that intercept part at least of the link between modem (or equivalent) and the telephone cable connecting to the telephone company network The prefeπed location of said switching device is coupled to the wall socket of the telephone, although any location is allowed for The invention allows that said switching device may be integrated in part at least with a device descnbed in a co-pendmg application titled "Automatic STD and ISD Telephone Dialing Re-router" Said prefeπed switching device in part at least preferably includes a means to intercept signal on lines carrying dialing information and modify said information (eg by the addition of extra digits and/or deletion of part of the number), and/or delay transmission of said dialing information, until other information has been sent, (eg tones to connect to a telephone company and additional tones to activate call diversion), and/or 52 venfy activation of said call diversion, detect termination of calls to an online facility, and or disable call diversion, and/or venfy disablement of said call diversion
Said switching device is preferably programmable, with the prefeπed means to send a normally unused telephone number to said switching device to activate programming
The invention also allows that those experienced m the art should be able to implement part at least of the method of the invention in software The invention allows for any means that in part at least implements the method and/or apparatus of the invention in software routines executing under one at least system microprocessors with a User Controlled Data Processing System In particular this applies to Net Browsers and/or the software used to establish a connection with an online facility
The method and apparatus described thus far provide an effective and transparent method of redirecting incoming calls to an online connection to another source and of removing said redirection when required
A method and apparatus is now described to make use of said call diversion to establish contact between one at least callers to a user while their telephone line is engaged during connection to an onlme facility
Any means is allowed that permits a caller who has been redirected to make direct and/or indirect contact with said user (and/or any other party at the location of the user's telephone), preferably without disrupting the user's connection with the online facility
The prefeπed means of implementing contact between caller and user is to redirect the users calls to one at least telephone numbers coupled to said onlme facility The invention allows for any means that permits said caller to leave a written and/or verbal message for the user, and/or the reverse, and/or that notifies the user of said written and/or verbal message, and/or the reverse
The invention also allows for any means that enables said caller to make voice contact with said user and/or for said user to make voice contact with said caller
The caller may be identified using any means, including in part at least, by having the onlme facility extract information relating to caller ID The prefeπed methods to determine who the caller wishes to contact and/or any additional information (that may mclude part at least of that mcluded withm caller ID information) may mclude providing the onlme facility a voice facility to advise the caller of various options and/or any other information, and/or request and/or receive any information 53 Said voice facility may be human and/or electronic These methods are known to those expeπenced in the art The caller is preferably asked to provide information using the keypad of their telephone, particularly when usmg electronic means The invention also allows that the caller's voice may be digitised, m part at least This may include processmg by voice recognition means
The invention allows that any information, including that about the caller and/or supplied by the caller may be sent to the user This may include the callers telephone number, and/or name, and/or message The invention allows for any means of providing the user with said information Said means of providing may mclude the transfer of text and/or any other visual information It may also include the transfer of digitised sound information The invention allows that said information may be transfeπed to the user realtime and/or delayed
One embodiment of the mvention allows for the onlme facility to establish an online voice chat-channel (usmg methods known to those expeπenced m the art) preferably using the callers telephone as the microphone and/ or speaker with the online facility providing the actual net access, and any means at the user end, preferably the microphone and speaker system coupled to their User Controlled Data Processing System The net access provided by the online service may in part at least simulate net operations A similar method may be used that bypasses the need for an internet voice channel, by sending digitised information to and/or from user/ online facility
The invention allows for any means to advise the user that there is a message and/or caller pending One means is to send the user Email However, this may not gam their immediate attention A preferred embodiment actually intercepts the next web page access and mcludes a message withm its text This does not usually require any special software at the users end Another preferred embodiment sends the user a message using any of the known means of transmitting warnings or similar to a user
Yet another prefeπed embodiment and one that makes the process transparent to software executing under the normal computer operating system, mcludes a method for extracting information from incoming information and/or adding information to outgoing information to meet the visual and/or voice communications between caller and user via said online facility, with the addition of transparent voice and/or image generation at the user end further enhancing this process This method may be implemented using any means, including an extension of the method used to intercept dialing information The inclusion of video and sound generating capability withm the physical device used to intercept dialing meets these requirements
System for Intelligent Remote Control Device The use of remote control devices to control television, video players and any other type of audio/visual display devices has proven convenient for consumers The present invention descnbes a method and apparatus to broaden the facilities that remote control and functionally similar devices can provide 54 The mvention descnbes a prefeπed means, however, it also allows for any other means, that connected directly (including integrally) and/or indirectly, m part at least, to a Defined Control Device (also refeπed to as a DRC). Devices
A Defined Control Device is any control means (in part at least) that is connected remotely by any means, including an infrared and/or optical and/or ultrasound and/or radio frequency and/or electrically conducting cable and/or optically conducting cable, to the devιce(s) it is controlling. and/or connected directly (including integrally) and/or indirectly by any means to the devιce(s) it is controlling, that controls, in part at least, one or multiple Controlled Devices, wherem said Controlled Devices may mclude
l) any device (also refeπed to as a Visual Information Display or VID in this application) that, in part at least, displays visual information (including information on a CRT and/or liquid crystal display and/or plasma display) wherem part at least of said visual information displayed is transmitted directly and/or indirectly from any one or multiple remote location (eg a television station), using any one or multiple means including, but not limited to, information broadcast using the radio frequency spectrum, and/or infrared, and/or optical, and/or cabling usmg electπcal conductors, and/or optical fibre, and/or n) any device (also refeπed to as Video Playback Devices or VPD in this application) that in part at least intercepts (directly and/or indirectly) using any means, said visual information, between the time said visual information is transmitted and the time that it is displayed, including video tape recorders and/or players, and/or optical disk recorders and/or players, and or any data processing device used to record and/or play in part at least video information (including video information that may be processed in part or whole in any way prior to display), wherem said intercept may be any functionally non-delayed intercept (eg the use of a video recorder to immediately reroute incoming visual information to the VID), and/or any delayed rerouting of information (eg the recording of the transmitted visual information for delayed and or repetitive playback), and/or in) any device (also refeπed to as an Audio Generating Device or AGD in this application) that, in part at least. electronically generates any sound (including music and vocals), and said AGD mcludes television and radio receivers, wherein part at least of the audio information used to generate said sound is transmitted directly and/or indirectly from any one or multiple remote location (eg a television and/or radio station) using any one or multiple means, including but not limited to information broadcast using the radio frequency spectrum and/or infrared and/or optical, and or cabling using electncal conductors and or optical fibre, and/or IV) any device (also refeπed to as an Audio Playback Device or APD in this application) that in part at least intercepts (directly and/or indirectly), using any means, said audio information between the time said audio information is transmitted and the time it is displayed, includmg audio and/or video tape recorders and/or players. and/or optical disk recorders and/or players, and or any data processing device used to record and or play m part at least said audio information (including audio information that may be processed in part or whole in any way pnor to conversion to sound), wherein said intercept may be any functionally non-delayed intercept (eg the use of an APD to immediately reroute incoming visual information to the AGD), and/or any delayed rerouting of information (eg the recording of the transmitted audio information for delayed and or repetitive playback), when 55 said control means can be influenced duectly and/or indirectly by the consumer and/or by any remote means, and said control means determines in part at least, directly and/or indirectly, any one or multiple of the following a) the selection of any one at least sources of visual and/or audio information, including the selection of a particular broadcast and or cable television station (eg channel selector), and/or broadcast and/or cable radio station (eg tuning frequency of the receiver) of said Controlled Devices and/or b) the selection of any alternate sources of audio and/or video information for use directly and/or indirectly by said Controlled Devices, including that, in part at least, computer generated, and/or previously recorded on tape and/or optical media and/or any other medium, and/or c) the volume of the sound (including absence of sound)generated directly and/or indirectly by said Controlled Devices. and/or d) the brightness and/or contrast of the image displayed (including no image displayed) directly and/or indirectly by said Controlled Devices. and/or e) the recording of information onto any means, includmg tape and/or optical media and/or computer memory storage devices by said Controlled Devices, and/or f) the playback of information recorded as descπbed in e) and or by any other means by said Controlled Devices
One popular use of remote control devices is to change the channel, mute or eliminate the sound, and or blank or dim the picture when one or multiple commercials are being displayed on a television The problem with this is that the viewer/listener usually needs to periodically reverse these processes (in part at least) to check whether or not the normal program has recommenced A remote control device that could detect when the normal program has recommenced on at least one desired channel and/or that detects any other one or multiple events (usually predetermined by the consumer) would be expected to benefit consumers Consumers may be able to select items of a type and/or level of importance, and/or they may wish to view commercials from particular companies and/or they may wish to view commercials with particular content and/or they may wish to view commercials rated to a predetermined level of content interest (eg those that are entertaining)
iv) any means of transfeπmg information about the cuπent time and/or date
One embodiment of the invention allows for any means attached directly and/or indirectly to a Defined Control Device (DCD) that may receive and/or mteφret Content Information transmitted (usmg any means) from one or multiple Service Providers
As part of the Content Information may be used to bypass advertising material used to generate revenue for the Information Provider, the Service Provider is usually independent of the Information Provider, however, the invention allows that part or all of the Content Information may be provided by Information Proxαders 56 The invention allows for any means that permits Service Providers to generate any type of Content Information pertaining to any one or multiple Defined Material This may be with and or without the permission of one or multiple Information Providers The prefeπed means is to have one or multiple people (usually employees of the Service Provider) viewing and/or listening to Defined Information using any one or multiple methods available to the consumer This process may be assisted using any means, including any type of data processmg system Said people usually classify the material into various categories that may be supplied to any data processing means (and/or any other means) for compilation (that may be combined with any other information, from any source, eg programming information, cuπent time) into Content Information for subsequent transmission, using any means, to one or multiple Defined Control Devices, at one or multiple consumers
The invention allows for any means that may include withm the Content Information, a means that permits televisions (and/or any equivalent and/or any other Controlled Device) that are not equipped with the 'V-Chip' to be able to perform any equivalent function, in part at least, to televisions (and/or any equivalent and/or any other Controlled Device) that are equipped with said 'V-Chip'
The invention allows for any means of deriving V-Chip equivalent information for any one or multiple Defined Information, for subsequent use m directly and/or indirectly influencing, in any way, at least one DCD to cause. in part at least, one or multiple Controlled Devices to perform equivalent and/or enhanced functions as would be the case with an installed V-Chip
The prefeπed method to deπve V-Chip equivalent information is any system that may electronically extract the relevant information embedded withm Defined Information supplied by one or multiple Information Providers. where said embedded information is used to control (in part at least) a V-Chip when present and activated
The Service Provider may extract V-Chip information from Defined Information as it is being broadcast (and/or otherwise supplied), for immediate transfer as Content Information to the consumer The prefeπed method supplies a V-Chip and or equivalent logic with the relevant input signals, and uses one or multiple output signals to indicate to any data processmg means the type of V-Chip equivalent information that is to be included in the Content Information
Part or all of the V-Chip equivalent information may be obtained by preprocessing of Defined Mateπal by the Service Provider and/or in part or whole, from any one or multiple other sources
The invention also allows for V-Chip equivalent information (and/or an estimate of and/or enhanced version of) in part at least, to be synthesized usmg any means This is usually by one or multiple individuals viewing the information and determining those sections unsuitable for the audience that would normally be affected by the presence of a V-Chip Said determination may be in realtime and/or processed, and may be for any reason The usual reason is that Defined Information does not include V-Chip information and/or that the cnteπa used (in part at least) to oπgmally create V-Chip information are not suitable for the intended audience 57 V-Chip information and or V-Chip equivalent information may be used, in part at least, to create one or multiple codes withm Content Information to cause one or multiple target Defined Control Devices to direct one or multiple Controlled Devices to effect any V-Chip functional equivalent and/or enhancement
The invention also allows for any means at the consumer location, apart from a V-Chip withm the television (and/or equivalent), that extracts V-Chip information (in part at least) from Defined Information and, in part at least, performs directly and/or indirectly, any of the functions described for DCD and/or Controlled Devices and/or Defined Information m response to V-Chip and/or V-Chip equivalent information transmitted as Content Information
While the V-Chip usually functions by blanking the screen (and or the sound) and/or placing snow (and/or equivalent) on screen to prevent children (and/or any other groups) viewing information deemed unsuitable by parents (and/or any other groups), the invention may redirect the consumer to any one at least alternate sources of information (eg another channel and/or any other source of video/sound information such as video cassette, video disk, computer games, teletext,, content mformation
The invention allows for any means that may remove and/or modify (using any means) undesirable mformation by providing (in part at least) one or multiple alternate sources of video and/or sound The invention allows for any means attached directly (including mtregal) and or indirectly to one or multiple V-Chips that may provide any type of means to switch to an alternate video and/or sound source when said V-Chip modifies (in any way) mformation displayed on the associated image output devices
The prefeπed method of transmitting Content Information from a Service Provider to the Consumer is the broadcasting on any permitted radio frequency using any one or multiple transmitters, for reception by one at least radio receivers attached directly and/or indirectly, part at least, to one or multiple Defined Control Device located with one or multiple consumers The prefeπed means may use a bandwidth used to send digital information to electronic paging means and piggyback onto an existing provider of this information The means to transmit and receive this information are known to those experienced in the art
The invention allows that any other radio transmission means and/or frequency spectrum may be used to broadcast Content Information
The invention also allows that Content Information may be supplied using any cable means (includmg electrically conductive and/or optically conductive), including cable TV links (and/or equivalent) and or switched public telephone network This may be a cable link means directly to the consumer, with any means to retrieve this information, that may include any direct and/or indirect means using the Internet, and/or the use of any cable means to deliver Content Information to any other one or multiple means for further transmission to the consumer Said further transmission may include any cable means, that may mclude local cabling ( electric and/or optical) and/or any radio transmission means, and/or any infrared transmission means, and/or any optical transmission means (that may include laser), and/or any ultrasound transmission means, with said further transmission means also referenced in this application as Distπbuted Transmission 58 The invention also allows for any non-cable means (including any method descnbed previously for direct transfer to consumers) to transmit information to any distribution means that may further redistnbute it to consumers Said distπbution means may include any means discussed for Distπbuted Transmission and/or any other means
The invention also allows that the receiving device for Content Information may be compatible with cellular phone (and/or similar) transmissions, and that this may mclude one or multiple receiving means that retransmit (using any means) to consumer locations, and/or receiving means located in the consumer location, that may include means directly and/or indirectly attached to a DCD and/or any other means
To minimise the number of open channels used when accessing the cellular telephone network (and/or for any other reason), the mvention allows for any means that may permit multiple devices to receive from the one channel (and/or the same digital address), with only one (or a limited number) of de ices transmitting to the base station in a particular cellular area This method is also referenced as Genenc Reception with Controlled Transmission (or GRCT) The invention allows for the use of GRCT with any means that requires the generic broadcasting of information to multiple devices with a receiving means in one or multiple cellular areas The prefeπed method of implementing GRCT is to have a knoxvn device (referenced as the Master Device) with each required cellular area This performs the normal transmit and receive functions and is used to establish the normal parameters for information mterchange One or multiple other devices (Slave Devices) within the cellular area are programmed to the same parameters as the Master Device and follow its behaviour Slave Devices do not usually transmit back to the base station Because a cellular area may continually shift frequencies and because a Slave Device may be activated after a Master Device has initiated contact with a base staation (and/or had contact established by receipt of a call), the mvention allows for any compensating means, including regularly terminating Master Device links and re-establishing them This method provides a very economical means of supplying multiple receiving stations with the same information (in part at least), usmg an established and reliable transmission means It has particular use in the transmission of Content Information in the context of the current invention, and any other geneπcally supplied electronic information eg electronic newspapers, books, magazines
The invention allows that GRCT may be used for personal paging systems, avoiding the need to establish multiple dedicated paging transmitters Any method is allowed for that may permit the Slave Device to become attached to a new master as it shifts from one cellular area to another
The Content Information is preferably transmitted in digital format using pulse code modulation, however, any other method may be used for said transmission, including any combination of means

Claims

59Claims
1 A method of transfernng a file means located on one at least servers, to one at least nodes remote to said server, wherem, said file is constructed m part at least, from information locally accessible to said node and from information delivered from said server
2 The method of claim 1, wherein said server and remote node are coupled to the Internet
3 The method of Claim 1, wherein said mformation locally accessible mcludes mformation m a previous version of said file and said mformation delivered includes information to update said previous version to a more recent version
4 A method of naming image files used on the Internet, wherein the images coupled to said files are known to be constant across a plurality of websites
5 The method of claim 4, wherein said plurality are common across different websites located on a plurality of geographically different webhost sites
6 The method of claim 4, wherem, said image naming means mcludes an absolute indexing means
7 The method of claim 4, wherein said plurality are common across different websites located at one at least webhost sites
8 The method of claim 4, wherem said image naming means includes a relative indexing means
9 A method of transfernng image files from a server means to one at least remote nodes wherein the image is constructed at said remote node m response to a senes of commands
10 The method of claim 9, wherem said commands emulate m part at least the processes used to create the image
1 1 A method of transmitting digital telephone conversations wherein the receiving means mcludes a library of predetermined modules representing part at least of the sending means sound waveforms
12 The method of claim 12, wherein said modules include phonemes used by the sending party
13 A method of transfernng mformation on the Internet, wherein files are reconstructed usmg dictionary lookup means
60 14. A method of transferring data and/or address and/or clock information in optical format within an integrated circuit.
15. The method of claim 14, wherein said optical information originates from an electrical signal that originates within said integrated circuit.
16. The method of claim 14, wherein said optical signal is converted to an electrical signal that terminates in a logic device within said integrated circuit.
PCT/AU1999/000206 1998-03-24 1999-03-24 Internet data reduction system WO1999049400A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU30192/99A AU3019299A (en) 1998-03-24 1999-03-24 Internet data reduction system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AUPP2527A AUPP252798A0 (en) 1998-03-24 1998-03-24 Enhanced trusted systems processing
AUPP2527 1998-03-24

Publications (1)

Publication Number Publication Date
WO1999049400A1 true WO1999049400A1 (en) 1999-09-30

Family

ID=3806789

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU1999/000206 WO1999049400A1 (en) 1998-03-24 1999-03-24 Internet data reduction system

Country Status (2)

Country Link
AU (1) AUPP252798A0 (en)
WO (1) WO1999049400A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001071600A1 (en) * 2000-03-18 2001-09-27 Kent Ridge Digital Labs Transfer of computing environment
US6351264B1 (en) * 1997-05-20 2002-02-26 Adam S. Iga Method for computer image color shading painting or recreation
WO2002059776A1 (en) * 2001-01-23 2002-08-01 Neo-Core Method and system for storing a flattened structured data document
EP1570365A2 (en) * 2002-10-30 2005-09-07 Riverbed Technology, Inc. Transaction accelerator for client-server communication systems
EP2791811A4 (en) * 2011-10-20 2015-10-21 Allen Miglore System and method for transporting files between networked or connected systems and devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4494150A (en) * 1982-07-13 1985-01-15 International Business Machines Corporation Word autocorrelation redundancy match facsimile compression for text processing systems
US5029200A (en) * 1989-05-02 1991-07-02 At&T Bell Laboratories Voice message system using synthetic speech
US5623604A (en) * 1992-11-18 1997-04-22 Canon Information Systems, Inc. Method and apparatus for remotely altering programmable firmware stored in an interactive network board coupled to a network peripheral
WO1997030539A1 (en) * 1996-02-15 1997-08-21 Ibm Corporation Differencing communication system
EP0836145A2 (en) * 1996-10-11 1998-04-15 AT&T Corp. Method for transferring and displaying data pages on a data network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4494150A (en) * 1982-07-13 1985-01-15 International Business Machines Corporation Word autocorrelation redundancy match facsimile compression for text processing systems
US5029200A (en) * 1989-05-02 1991-07-02 At&T Bell Laboratories Voice message system using synthetic speech
US5623604A (en) * 1992-11-18 1997-04-22 Canon Information Systems, Inc. Method and apparatus for remotely altering programmable firmware stored in an interactive network board coupled to a network peripheral
WO1997030539A1 (en) * 1996-02-15 1997-08-21 Ibm Corporation Differencing communication system
EP0836145A2 (en) * 1996-10-11 1998-04-15 AT&T Corp. Method for transferring and displaying data pages on a data network

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351264B1 (en) * 1997-05-20 2002-02-26 Adam S. Iga Method for computer image color shading painting or recreation
WO2001071600A1 (en) * 2000-03-18 2001-09-27 Kent Ridge Digital Labs Transfer of computing environment
WO2002059776A1 (en) * 2001-01-23 2002-08-01 Neo-Core Method and system for storing a flattened structured data document
EP1570365A2 (en) * 2002-10-30 2005-09-07 Riverbed Technology, Inc. Transaction accelerator for client-server communication systems
EP1570365A4 (en) * 2002-10-30 2010-03-03 Riverbed Technology Inc Transaction accelerator for client-server communication systems
US8762455B2 (en) 2002-10-30 2014-06-24 Riverbed Technology, Inc. Transaction accelerator for client-server communications systems
EP2791811A4 (en) * 2011-10-20 2015-10-21 Allen Miglore System and method for transporting files between networked or connected systems and devices

Also Published As

Publication number Publication date
AUPP252798A0 (en) 1998-04-23

Similar Documents

Publication Publication Date Title
KR101548444B1 (en) Network streaming of video data using byte range requests
US8041753B2 (en) Method and systems for hyperlinking files
KR100540495B1 (en) A method and apparatus for compressing a continuous, indistinct data stream
CN1299492C (en) Method for implementing multimedia short message intercommunion between instant communication tool and mobile phone
JP4932119B2 (en) Data stream adaptation server
WO2007103700A3 (en) Movie studio-based network distribution system and method
WO2003030486A3 (en) Hierarchical caching in telecommunication networks
WO2005006228A3 (en) Method for charging costs of enjoying contents transmitted over a telecommunications network and system thereof
JP7246508B2 (en) Method and apparatus for dynamically adaptive streaming over HTTP
KR20000036934A (en) Internet broadcasting system and method using the technique of dynamic combination of multimedia contents and targeted advertisement
KR100817582B1 (en) Mobile web service method, proxy server and mobile terminal for the same
WO2006065959A2 (en) A method for selecting a preview of a media work
WO1999049400A1 (en) Internet data reduction system
CN101702745A (en) Calling and called parallel display method of mobile terminal multimedia incoming call and system
CN110519656B (en) Self-adaptive streaming media playing method, system and server
KR0146435B1 (en) Multimedia communication karaoke system of client/server structure using communication nework and its method
WO2001077894A1 (en) Paged web protocol
JP2002215497A (en) Device and method for internet connection, and program
CN104243594B (en) A kind of file publishing method, equipment and system
TW479200B (en) Method and apparatus for caching for streaming data
KR20090119018A (en) System and method for providing voice-embedded photograph, and voice-embedded photograph server and terminal therefor
CN115581124A (en) Extended W3C media extensions for handling DASH and CMAF in-band events
Yeşilova Design and Implementation of a Multimedia Image Catalogue System for Computer Networks
JP2023520757A (en) Method and apparatus for dynamically adaptive streaming over HTTP
EP1714458A1 (en) Method for editing a multimedia page using pre-stored data

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA GB JP US

AL Designated countries for regional patents

Kind code of ref document: A1

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)
NENP Non-entry into the national phase

Ref country code: CA

122 Ep: pct application non-entry in european phase