WO1999034286A1 - Method and apparatus capable of embedding, extracting and processing data within a file having an html format - Google Patents

Method and apparatus capable of embedding, extracting and processing data within a file having an html format Download PDF

Info

Publication number
WO1999034286A1
WO1999034286A1 PCT/US1998/027420 US9827420W WO9934286A1 WO 1999034286 A1 WO1999034286 A1 WO 1999034286A1 US 9827420 W US9827420 W US 9827420W WO 9934286 A1 WO9934286 A1 WO 9934286A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
side host
receiving side
applet
html file
Prior art date
Application number
PCT/US1998/027420
Other languages
French (fr)
Inventor
R. C. Venkatraman
Vincent Min-Hao Chern
Sekaran Nanja
Original Assignee
Postx Corporation
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 Postx Corporation filed Critical Postx Corporation
Priority to CA002315640A priority Critical patent/CA2315640A1/en
Priority to AU20107/99A priority patent/AU741232B2/en
Priority to JP2000526862A priority patent/JP2002500392A/en
Priority to EP98964885A priority patent/EP1049975A1/en
Publication of WO1999034286A1 publication Critical patent/WO1999034286A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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]

Definitions

  • the present invention relates to digital data communications, and more particularly, to a method and apparatus for distributing data and programs between networked computers via files having an HTML format in a secure and self-executing fashion.
  • plug-in applications can include programs that are written in the Java programming language.
  • plug-ins are described generally in "Plug-Ins Documentation," Nov. 1997, available at http://developer.netscape.com/library/documentation/index.htm.
  • browsers have become platforms on which applications written in the Java programming language can be executed. Since browsers typically support a number of operating environments, this provides a means by which an application written in one common programming language can be executed with the same results across a variety of operating environments.
  • the present invention aims at leveraging the capabilities of interchanging and processing data via HTML files and conventional web browsers in new and useful ways.
  • An object of the present invention is to distribute data and programs between networked computers in an efficient and fast manner.
  • a method and apparatus fulfills these and other objects and is capable of distributing data within a file having an HTML format.
  • a first process creates the data, encodes it in a known format such as MIME Base 64, and embeds the data within a comment section of an HTML file.
  • a second process preferably implemented as a browser plug-in application, is used to extract the data from the HTML file and store the data in a separate data file.
  • a third process creates an HTML file that launches an applet that uses the data, and contains applet parameters including the paths to the separate data files in which the extracted data resides.
  • Figure 1 is a block diagram illustrating a configuration in accordance with the principles of the invention
  • Figure 2 is a flowchart illustrating a process of creating encoded data and embedding it in an HTML file in accordance with the principles of the invention
  • Figure 3 illustrates the format of an HTML file containing embedded data such as that created in the process illustrated in Figure 2;
  • FIG 4 is a flowchart illustrating a process of extracting embedded data from an HTML file such as that created in the process illustrated in Figure 2 in accordance with the principles of the invention
  • FIG. 5 is a flowchart illustrating a process of launching an applet that uses embedded data such as that extracted in the process illustrated in Figure 4 in accordance with the principles of the invention
  • Figure 6 illustrates the format of an HTML file containing instructions for launching an applet such as that created in the process illustrated in Figure 5;
  • Figure 7 illustrates a specific example of the format of an HTML data file created in accordance with the invention.
  • Figure 8 illustrates a specific example of the format of an HTML file containing instructions for launching an applet created in accordance with the present invention.
  • sending side host 2 includes a computer 10-A, and a user interface 20-A.
  • Sending side computer 10-A includes a CPU 12- A, an executable RAM 14- A, and a mass storage drive 16- A.
  • Receiving side host 4 includes a computer 10-B, and a user interface 20-B.
  • Receiving side computer 10-B includes a CPU 12-B, an executable RAM 14-B, and a mass storage drive 16-B.
  • Computers 10-A and 10-B are functional as is conventionally known to execute programs loaded into RAM 14-A and 14-B, which programs contain instructions that are performed by CPU 12- A and 12-B. Such programs can be loaded into RAM 14- A and 14-B from mass storage drive 16- A and 16-B.
  • Such programs can also create, manipulate and store data into mass storage drive 16-A and 16-B, as well as cause data to be presented in a window 18-A and 18-B on user interface 20-A and 20-B and receive user selections from user interface 20-A and 20-B.
  • at least the receiving side computer is loaded with a Java- enabled browser.
  • a host can act as a sending side host in one transaction and as a receiving side host in another transaction within the principles of the invention.
  • sending side host 2 and receiving side host 4 are capable of sending and receiving files via a network 6, preferably as attachments to e-mail messages.
  • a network 6 preferably as attachments to e-mail messages.
  • data files can include HTML data file 30, created in accordance with the principles of the invention as described in more detail below.
  • Network 6 can be any data communication network, public or private.
  • Receiving side host 4 is preferably loaded with browser programs that support Java-based applets and plug-ins written in Java and/or native programming languages.
  • receiving side host 4 is capable of sending and receiving files from a server 8.
  • files on server 8 are accessible on the World Wide Web via conventional browsers and download tools.
  • the first process is implemented as a program loaded into executable RAM 14-
  • processing begins by creating the data that is to be sent to the receiving side host 4 (step S20).
  • the data to be embedded can be, for example, an executable file, such as a Java applet, an image file such as a GIF file, an Envelope Data File such as that described in co-pending U.S. Application No.
  • the created data can then be encrypted, if required by the user (step S30).
  • Such encryption can be performed using encryption technology such as RC4, a trademark of RSA Data Security, Inc. of Redwood City, CA.
  • step S40 the data is encoded using the MIME Base64 format. Whether an HTML file has already been created is determined in step S50. If not, the HTML file is created (step S60).
  • a plug-in application will be described in more detail below.
  • an HTML script that determines whether a correct version of the plug-in application exists locally within the receiving computer, and if not, downloads the correct version of the plug-in application.
  • the encoded data is embedded in the comment section of the HTML file (step S70). This is done by creating a comment section and inserting the encoded data therein. This step may also include creating a header for the encoded data in the comment section, which header may include information about the encoded data and whether the encoded data is encrypted. It should be further noted that care should be taken to insure that the total size of the HTML file including the encoded data is within the limits of conventional browser applications.
  • step S80 If more data is left to be embedded (determined in step S80), for example, if the data to be embedded is a list of separate data objects, processing retums to step S85 where it is determined whether the remaining data is already created. If not, processing retums to step S20, otherwise processing retums to step S30 and loops until all the data has been embedded.
  • Figure 3 illustrates the format of a HTML file created in accordance with the first process described above. As shown, it includes a script section 50, a plug-in execution section 52, and comment sections 54-1...54-N.
  • script section 50 preferably includes HTML instructions to determine whether a correct version of the plug-in application for extracting the embedded data exists locally to the recipient computer. If not, the correct plug-in application is downloaded, for example, from a path specified in the script instructions.
  • Plug-in execution section includes HTML instructions for causing the plug-in application to be executed.
  • Comment sections 54-1...54-N are separate comment sections for each of the data objects embedded in accordance with the processing steps outlined above.
  • Such a program is preferably implemented as a plug-in application to a browser.
  • the plug-in application is executable code, for example, Java byte code and/or native code.
  • the plug-in application is loaded into the executable memory of the computer and executed.
  • the browser includes a plug-ins directory which the browser searches when the application is requested.
  • processing begins by reading the HTML page that initiated the program and saving it to a file (step SI 10).
  • the HTML file is read and the next embedded data within a comment is extracted (step S120).
  • the embedded data is then decoded out from the MIME Base64 format (step SI 30). If the data was encrypted, it is decrypted to its original state in step S140. Whether the data needs to be decrypted may be determined from a header within the embedded data, or it may indicated by a flag or variable within or external to the HTML file.
  • the data is moved to its proper directory (step SI 50), which directory may be predetermined and pre-existing or may be dynamically assigned and created at run-time.
  • step SI 60 A determination is next made whether the end of the HTML file has been reached (step SI 60), for example, whether no more comment sections containing embedded data remain. If so, the processing ends (step SI 70); otherwise processing loops back to step SI 20 and the above- described processing is repeatedly performed until the end of the HTML file is reached.
  • the third process is implemented as a program loaded into executable RAM 14-B on receiving side computer 10-B, which program contains instructions written in the Java programming language that are executable by CPU 12-B in accordance with the processing steps described below.
  • a program is preferably implemented contiguously with the program containing the second process described above, and may be part of the same executable software as the plug-in application that contains the second process.
  • processing begins by creating an HTML page that contains an instruction to launch the applet (step S210).
  • the input parameters for the applet are the file paths of the embedded data that were extracted from the HTML file using the second process described above, which file paths are preferably communicated to the third process by the second process.
  • the third process asks the browser to load the HTML page created in step S210 (step S220) by, for example, a call to a plug-in Application Programming Interface (API) of the browser or a Java API, and processing ends (step S230).
  • API Application Programming Interface
  • the executable software containing the applet may be downloaded at the same time as the program containing the second and third process, or it may already be located in the mass storage 16-B of the receiving side computer 10-B, and loaded into memory upon a launching instruction.
  • the applet may be contained in one of the extracted data files included in the HTML file that was stored in a directory on the receiving side computer 10-B during the second process.
  • Figure 6 illustrates the format of a HTML file created in accordance with the third process described above. As shown, it includes an applet description section 60 and applet parameter sections 62-1...62-N. Of note within the applet description section 60 is the path to the archive of Java classes xxx.jar, as well as the identifier of the applet yyy.class within the container of classes.
  • the sending side host 2 desires to send data to receiving side host 4, the data is encoded and embedded in an HTML data file 30 in a program executing instructions on the sending side host computer 10- A in accordance with the first process described above.
  • the sending side host 2 then sends an e- mail message to receiving side host 4, with HTML data file 30 as an attachment.
  • the e-mail message is received and read by an e-mail program executing on receiving side host computer 10-B, and a browser is launched to view HTML data file 30 attached to the e-mail.
  • a browser is launched to view HTML data file 30 attached to the e-mail.
  • a computer running a Windows 95 (trademark of Microsoft, Corp. of Redmond, Wash.) environment for example, double-clicking on a screen object representing the e-mail attachment will automatically launch a browser application in accordance with the HTML file extension.
  • the browser causes the second process, launched as a plug-in application under the browser and executing on receiving side host computer 10-B, to extract the data and store it on mass storage drive 16-B as described above.
  • the third process is then invoked to launch an applet that uses the data, which applet can include presenting the data on user interface 20-B.
  • a container file or Envelope Data File
  • the component objects may include data and one or more defined "User Actions" which, for example, cause the presentation of the data in a desired manner.
  • the Envelope Data File is included as an e-mail attachment file and sent to an intended recipient, where the envelope contents can be selectively presented and manipulated.
  • the co-pending application also describes creation executable software for creating the Envelope Data File, on a sending side computer for example, and recipient executable software for presenting the data in the desired manner, on a receiving side computer for example.
  • the recipient executable software can be included in the e-mail attachment sent to the recipient, thereby transporting the capability of presenting the data to the recipient in unique ways.
  • the creation executable software for example executing on a sending side computer such as 10- A, includes a first process such as that described in the invention. Accordingly, the creation executable software, while creating the Envelope Data File, encodes it and embeds it into an HTML data file such as HTML data file 30.
  • the recipient executable software comprised of a number of recipient executable files determined by the different number of images, sounds, and functional attributes inserted into the envelope container, for example, can also be encoded and embedded within the HTML data file by a first process such as that described in the present invention.
  • an example of an HTML data file created by a first process such as that described above and in conjunction with the co-pending application includes an HTML script section 70, a plug-in execution section 80, a first embedded data section 90, and a second embedded data section 92.
  • HTML script section 70 is an implementation specific for a Netscape (trademark of
  • Netscape, Inc. of Mountain View, Ca. browser environment. It includes a download section 72, in which a correct version of the extraction process plug-in is downloaded from an Intemet site designated by field 76. Field 74 identifies the path to the extraction process plug-in.
  • Intemet Explorer a trademark of Microsoft Corp. of Redmond, Wash.
  • Plug-in execution section 80 includes an HTML instruction to run the plug-in application, as identified in field 82.
  • the path of the plug-in application indicated in field 82 is the same as that indicated in field 74.
  • the correct version of the plug-in application should exist in the location indicated in field 82.
  • First embedded data section 90 includes a header 94 and a footer 96 acting as delimiters and identifiers of the encoded data within first embedded data section 90.
  • the first embedded data section 90 includes an Envelope Data File as described in the co-pending application.
  • Second embedded data section 92 includes a header 98 and a footer 100 acting as delimiters and identifiers of the encoded data within second embedded data section 92.
  • the second data section 92 includes data relating to a "Vixel" as described in the co- pending application.
  • An HTML file for launching an applet in accordance with the illustrated example of the invention is shown in Figure 8.
  • the first process executes as part of the creation executable software as described in the co-pending application.
  • the second and third processes for example executing on the receiving side computer 10-B, provide a means for managing the transfer of envelope container data and executables for uniquely presenting data in accordance with the principles described in the co-pending application.
  • the applet as described in the present invention, corresponds to the recipient executable software as described in the co-pending application, which applet can include instructions for presenting different images, sounds and functional attributes in accordance with the different types of objects included in the envelope data.
  • the HTML file illustrated in Figure 8 created by a third process as described in the present invention, includes an applet description section 64 and applet parameter sections 66-1...66-N.
  • applet description section 64 is the path to the archive of Java executables EvelopeApplet.jar, as well as the identifier of the applet EnvelopeApplet.class within the container of executables.
  • applet parameter sections 66-1...66-N is the path to the Envelope Data File included in the "envelopeName" parameter.

Abstract

A method and apparatus is provided that is capable of distributing data within a file having an HTML format. A first process creates the data, encodes it in a known format such as MIME Base64, and embeds the data within a comment section of an HTML file. A second process, preferably implemented as a browser plug-in application, is used to extract the data from the HTML file and store the data in a separate data file. A third process creates an HTML file that launches an applet that uses the data, and contains applet parameters including the paths to the separate data files in which the extracted data resides.

Description

METHOD AND APPARATUS CAPABLE OF
EMBEDDING, EXTRACTING AND PROCESSING DATA
WITHIN A FILE HAVING AN HTML FORMAT
BACKGROUND OF THE INVENTION 1. Field of the Invention
The present invention relates to digital data communications, and more particularly, to a method and apparatus for distributing data and programs between networked computers via files having an HTML format in a secure and self-executing fashion.
2. Description of the Related Art
Recently, Internet web browsing has become nearly ubiquitous and web browser applications have become standard equipment on desktop computing platforms.
Most web browsers are capable of loading files having the well-known HTML format, described generally in Dave Raggett, "HTML 4.0 Reference Specification," Dec. 1997, available at http://www.w3.org/TR/REC-html40. Most information shared on the Internet is supplied via data files having the HTML format.
Most web browsers also support plug-in applications. Such plug-in applications can include programs that are written in the Java programming language. For the Netscape 4.0 browser environment (trademark of Netscape Communications Corp. of Mountain View, Calif.), plug-ins are described generally in "Plug-Ins Documentation," Nov. 1997, available at http://developer.netscape.com/library/documentation/index.htm. As a result, browsers have become platforms on which applications written in the Java programming language can be executed. Since browsers typically support a number of operating environments, this provides a means by which an application written in one common programming language can be executed with the same results across a variety of operating environments.
The present invention aims at leveraging the capabilities of interchanging and processing data via HTML files and conventional web browsers in new and useful ways.
SUMMARY OF THE INVENTION An object of the present invention is to distribute data and programs between networked computers in an efficient and fast manner.
It is another object of the invention to distribute data and means for presenting the data in an integrated fashion. It is another object of the invention to distribute data and means for presenting the data in a uniform way across a variety of operating environments.
A method and apparatus is provided that fulfills these and other objects and is capable of distributing data within a file having an HTML format. A first process creates the data, encodes it in a known format such as MIME Base 64, and embeds the data within a comment section of an HTML file. A second process, preferably implemented as a browser plug-in application, is used to extract the data from the HTML file and store the data in a separate data file. A third process creates an HTML file that launches an applet that uses the data, and contains applet parameters including the paths to the separate data files in which the extracted data resides.
BRIEF DESCRIPTION OF THE DRAWINGS The details of the invention, as well as the best mode for practicing it, will become apparent to those skilled in the art by reference to the following detailed description, taken in conjunction with the appended drawing figures, in which: Figure 1 is a block diagram illustrating a configuration in accordance with the principles of the invention;
Figure 2 is a flowchart illustrating a process of creating encoded data and embedding it in an HTML file in accordance with the principles of the invention;
Figure 3 illustrates the format of an HTML file containing embedded data such as that created in the process illustrated in Figure 2;
Figure 4 is a flowchart illustrating a process of extracting embedded data from an HTML file such as that created in the process illustrated in Figure 2 in accordance with the principles of the invention;
Figure 5 is a flowchart illustrating a process of launching an applet that uses embedded data such as that extracted in the process illustrated in Figure 4 in accordance with the principles of the invention;
Figure 6 illustrates the format of an HTML file containing instructions for launching an applet such as that created in the process illustrated in Figure 5;
Figure 7 illustrates a specific example of the format of an HTML data file created in accordance with the invention; and
Figure 8 illustrates a specific example of the format of an HTML file containing instructions for launching an applet created in accordance with the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
As shown in Figure 1, sending side host 2 includes a computer 10-A, and a user interface 20-A. Sending side computer 10-A includes a CPU 12- A, an executable RAM 14- A, and a mass storage drive 16- A. Receiving side host 4 includes a computer 10-B, and a user interface 20-B. Receiving side computer 10-B includes a CPU 12-B, an executable RAM 14-B, and a mass storage drive 16-B. Computers 10-A and 10-B are functional as is conventionally known to execute programs loaded into RAM 14-A and 14-B, which programs contain instructions that are performed by CPU 12- A and 12-B. Such programs can be loaded into RAM 14- A and 14-B from mass storage drive 16- A and 16-B. Such programs can also create, manipulate and store data into mass storage drive 16-A and 16-B, as well as cause data to be presented in a window 18-A and 18-B on user interface 20-A and 20-B and receive user selections from user interface 20-A and 20-B. Preferably, at least the receiving side computer is loaded with a Java- enabled browser.
It should be understood that, although shown separately here for clarity, a host can act as a sending side host in one transaction and as a receiving side host in another transaction within the principles of the invention.
In accordance with the principles of the invention, sending side host 2 and receiving side host 4 are capable of sending and receiving files via a network 6, preferably as attachments to e-mail messages. However, many other means of sharing files can be employed. Such data files can include HTML data file 30, created in accordance with the principles of the invention as described in more detail below. Network 6 can be any data communication network, public or private. Receiving side host 4 is preferably loaded with browser programs that support Java-based applets and plug-ins written in Java and/or native programming languages.
In further accord with the principles of the invention, receiving side host 4 is capable of sending and receiving files from a server 8. Preferably, files on server 8 are accessible on the World Wide Web via conventional browsers and download tools.
An example of a first process used to create and embed data in an HTML data file 30 in accordance with the principles of the invention will now be described with reference to the flowchart depicted in Figure 2. Preferably, the first process is implemented as a program loaded into executable RAM 14-
A on sending side computer 10- A, which program contains instructions that are executable by CPU 12- A in accordance with the processing steps described below with reference to Figure 2. It should be understood that all of the process steps can be implemented together as a single standalone program or module that executes using certain input parameters, or they can be separately implemented using a combination of readily-available commercial tools and/or specially written tools or modules. As shown, upon starting (step S10), processing begins by creating the data that is to be sent to the receiving side host 4 (step S20). The data to be embedded can be, for example, an executable file, such as a Java applet, an image file such as a GIF file, an Envelope Data File such as that described in co-pending U.S. Application No. 08/845,722 and explained in more detail below, or a native code module. Although shown as a step within the current processing, it should be understood that the data can actually be a previously created data file or object, in which case this step simply includes identifying and locating the data to be embedded.
The created data can then be encrypted, if required by the user (step S30). Such encryption can be performed using encryption technology such as RC4, a trademark of RSA Data Security, Inc. of Redwood City, CA. In step S40, the data is encoded using the MIME Base64 format. Whether an HTML file has already been created is determined in step S50. If not, the HTML file is created (step S60). Preferably included in the step of creating the HTML file are steps of adding an instruction within the file that will cause a plug-in application to begin executing so as to extract the embedded data. Such a plug-in application will be described in more detail below. Also preferably included in this step is an HTML script that determines whether a correct version of the plug-in application exists locally within the receiving computer, and if not, downloads the correct version of the plug-in application.
Finally, the encoded data is embedded in the comment section of the HTML file (step S70). This is done by creating a comment section and inserting the encoded data therein. This step may also include creating a header for the encoded data in the comment section, which header may include information about the encoded data and whether the encoded data is encrypted. It should be further noted that care should be taken to insure that the total size of the HTML file including the encoded data is within the limits of conventional browser applications.
If more data is left to be embedded (determined in step S80), for example, if the data to be embedded is a list of separate data objects, processing retums to step S85 where it is determined whether the remaining data is already created. If not, processing retums to step S20, otherwise processing retums to step S30 and loops until all the data has been embedded. Figure 3 illustrates the format of a HTML file created in accordance with the first process described above. As shown, it includes a script section 50, a plug-in execution section 52, and comment sections 54-1...54-N.
Represented as pseudocode, script section 50 preferably includes HTML instructions to determine whether a correct version of the plug-in application for extracting the embedded data exists locally to the recipient computer. If not, the correct plug-in application is downloaded, for example, from a path specified in the script instructions.
Plug-in execution section includes HTML instructions for causing the plug-in application to be executed. Comment sections 54-1...54-N are separate comment sections for each of the data objects embedded in accordance with the processing steps outlined above.
An example of a second process used to extract data embedded, via a process such as that described above, in an HTML file in accordance with the principles of the invention will now be described with reference to the flowchart depicted in Figure 4. Preferably, the second process is implemented as a program loaded into executable RAM
14-B on receiving side computer 10-B, which program contains instructions that are executable by CPU 12-B in accordance with the processing steps described below. Such a program is preferably implemented as a plug-in application to a browser. The plug-in application is executable code, for example, Java byte code and/or native code. When the browser encounters an HTML instruction requesting its execution, the plug-in application is loaded into the executable memory of the computer and executed. The browser includes a plug-ins directory which the browser searches when the application is requested.
As shown, after starting (step SI 00), processing begins by reading the HTML page that initiated the program and saving it to a file (step SI 10). Next, the HTML file is read and the next embedded data within a comment is extracted (step S120). The embedded data is then decoded out from the MIME Base64 format (step SI 30). If the data was encrypted, it is decrypted to its original state in step S140. Whether the data needs to be decrypted may be determined from a header within the embedded data, or it may indicated by a flag or variable within or external to the HTML file. Finally, the data is moved to its proper directory (step SI 50), which directory may be predetermined and pre-existing or may be dynamically assigned and created at run-time. A determination is next made whether the end of the HTML file has been reached (step SI 60), for example, whether no more comment sections containing embedded data remain. If so, the processing ends (step SI 70); otherwise processing loops back to step SI 20 and the above- described processing is repeatedly performed until the end of the HTML file is reached.
An example of a third process used to launch an applet that uses data embedded and extracted, via processes such as that described above, in accordance with the principles of the invention, will now be described with reference to the flowchart depicted in Figure 5.
Preferably, the third process is implemented as a program loaded into executable RAM 14-B on receiving side computer 10-B, which program contains instructions written in the Java programming language that are executable by CPU 12-B in accordance with the processing steps described below. Such a program is preferably implemented contiguously with the program containing the second process described above, and may be part of the same executable software as the plug-in application that contains the second process.
As shown, after starting (step S200), processing begins by creating an HTML page that contains an instruction to launch the applet (step S210). The input parameters for the applet are the file paths of the embedded data that were extracted from the HTML file using the second process described above, which file paths are preferably communicated to the third process by the second process. Next, the third process asks the browser to load the HTML page created in step S210 (step S220) by, for example, a call to a plug-in Application Programming Interface (API) of the browser or a Java API, and processing ends (step S230). As should be apparent, when the HTML page created in step S210 is loaded by the browser, the applet is caused to execute.
The executable software containing the applet may be downloaded at the same time as the program containing the second and third process, or it may already be located in the mass storage 16-B of the receiving side computer 10-B, and loaded into memory upon a launching instruction. Alternatively, the applet may be contained in one of the extracted data files included in the HTML file that was stored in a directory on the receiving side computer 10-B during the second process.
Figure 6 illustrates the format of a HTML file created in accordance with the third process described above. As shown, it includes an applet description section 60 and applet parameter sections 62-1...62-N. Of note within the applet description section 60 is the path to the archive of Java classes xxx.jar, as well as the identifier of the applet yyy.class within the container of classes. In operation, with reference to Figure 1 and the preceding descriptions, when sending side host 2 desires to send data to receiving side host 4, the data is encoded and embedded in an HTML data file 30 in a program executing instructions on the sending side host computer 10- A in accordance with the first process described above. The sending side host 2 then sends an e- mail message to receiving side host 4, with HTML data file 30 as an attachment. On receiving side host 4, the e-mail message is received and read by an e-mail program executing on receiving side host computer 10-B, and a browser is launched to view HTML data file 30 attached to the e-mail. On a computer running a Windows 95 (trademark of Microsoft, Corp. of Redmond, Wash.) environment, for example, double-clicking on a screen object representing the e-mail attachment will automatically launch a browser application in accordance with the HTML file extension. The browser causes the second process, launched as a plug-in application under the browser and executing on receiving side host computer 10-B, to extract the data and store it on mass storage drive 16-B as described above. The third process is then invoked to launch an applet that uses the data, which applet can include presenting the data on user interface 20-B.
An example of the invention will now be described with reference to Figures 7 and 8. In addition to web browsers, e-mail has also become nearly ubiquitous in recent times. Notorious problems with e-mail still remain, however, and include lack of homogeneity in presentation of information, lack of security and lack of verification of receipt. An e-mail enhancement that solves these problems, among others, is described in the co-pending application of Venkatraman et al., U.S. Patent Application No. 08/845,722, filed April 25, 1997, the contents of which are incorporated herein by reference.
In the e-mail enhancement described in the co-pending application, a container file, or Envelope Data File, is created that contains one or more component objects or "Vixels." The component objects may include data and one or more defined "User Actions" which, for example, cause the presentation of the data in a desired manner. The Envelope Data File is included as an e-mail attachment file and sent to an intended recipient, where the envelope contents can be selectively presented and manipulated.
The co-pending application also describes creation executable software for creating the Envelope Data File, on a sending side computer for example, and recipient executable software for presenting the data in the desired manner, on a receiving side computer for example. The recipient executable software can be included in the e-mail attachment sent to the recipient, thereby transporting the capability of presenting the data to the recipient in unique ways.
In conjunction with the present invention, the creation executable software, for example executing on a sending side computer such as 10- A, includes a first process such as that described in the invention. Accordingly, the creation executable software, while creating the Envelope Data File, encodes it and embeds it into an HTML data file such as HTML data file 30. The recipient executable software, comprised of a number of recipient executable files determined by the different number of images, sounds, and functional attributes inserted into the envelope container, for example, can also be encoded and embedded within the HTML data file by a first process such as that described in the present invention.
As shown in Figure 7, an example of an HTML data file created by a first process such as that described above and in conjunction with the co-pending application includes an HTML script section 70, a plug-in execution section 80, a first embedded data section 90, and a second embedded data section 92. HTML script section 70 is an implementation specific for a Netscape (trademark of
Netscape, Inc. of Mountain View, Ca.) browser environment. It includes a download section 72, in which a correct version of the extraction process plug-in is downloaded from an Intemet site designated by field 76. Field 74 identifies the path to the extraction process plug-in. It should be noted that the principles of the invention are applicable to other browser environments and standards such as Intemet Explorer (a trademark of Microsoft Corp. of Redmond, Wash.), and those skilled in the art will recognize the changes necessary to adapt to such other environments and standards.
Plug-in execution section 80 includes an HTML instruction to run the plug-in application, as identified in field 82. Of particular note is that the path of the plug-in application indicated in field 82 is the same as that indicated in field 74. At this point of processing the HTML file by the browser, the correct version of the plug-in application should exist in the location indicated in field 82.
First embedded data section 90 includes a header 94 and a footer 96 acting as delimiters and identifiers of the encoded data within first embedded data section 90. In this example, the first embedded data section 90 includes an Envelope Data File as described in the co-pending application. Second embedded data section 92 includes a header 98 and a footer 100 acting as delimiters and identifiers of the encoded data within second embedded data section 92. In this example, the second data section 92 includes data relating to a "Vixel" as described in the co- pending application. An HTML file for launching an applet in accordance with the illustrated example of the invention is shown in Figure 8.
As described above, in this example of the invention, operating in conjunction with the e- mail enhancement described in the co-pending application, the first process executes as part of the creation executable software as described in the co-pending application. The second and third processes, for example executing on the receiving side computer 10-B, provide a means for managing the transfer of envelope container data and executables for uniquely presenting data in accordance with the principles described in the co-pending application. The applet, as described in the present invention, corresponds to the recipient executable software as described in the co-pending application, which applet can include instructions for presenting different images, sounds and functional attributes in accordance with the different types of objects included in the envelope data.
Accordingly, the HTML file illustrated in Figure 8, created by a third process as described in the present invention, includes an applet description section 64 and applet parameter sections 66-1...66-N. Of note within the applet description section 64 is the path to the archive of Java executables EvelopeApplet.jar, as well as the identifier of the applet EnvelopeApplet.class within the container of executables. Of further note within the applet parameter sections 66-1...66-N is the path to the Envelope Data File included in the "envelopeName" parameter.
Although the present invention has been described hereinabove with reference to the preferred embodiments thereof, those skilled in the art will appreciate that various substitutions and modifications can be made to the examples provided. For example, although the first, second and third processes have been described above as implemented by instructions executing on a processor, it should be apparent that various combinations of hardware and software components can be used to implement these processes. Accordingly, such substitutions and modifications can be made while remaining within the proper scope and spirit of the invention as defined in the appended claims.

Claims

We Claim:
1. A method for distributing data between a sending side host and a receiving side host, comprising: preparing data on said sending side host; embedding said data within a comment section of an HTML file; sending said HTML file to said receiving side host; extracting said embedded data from said comment section of said HTML file; preparing a local copy of said extracted data on said receiving side host.
2. A method as defined in claim 1, further comprising: launching an applet on said receiving side host that uses certain portions of said extracted data.
3. A method as defined in claim 2, wherein said step of preparing said local copy includes locating said extracted data at a file path on said receiving side host, said step of launching said applet including passing a parameter including said file path of said local copy to said applet.
4. A method as defined in claim 3, wherein said step of launching said applet includes: creating a second HTML file with an instruction to launch said applet; inserting said parameter in said second HTML file; and invoking an application to load said HTML file.
5. A method as defined in claim 1, wherein said step of preparing said data includes: encrypting said data if required by a user; and encoding said data in a predetermined format.
6. A method as defined in claim 5, wherein said step of preparing said local copy of said extracted data includes: decoding said data in accordance with said predetermined format; and decrypting said data if said decoded data is encrypted.
7. A method as defined in claim 1, further comprising: determining whether a process for performing said extracting step exists on said receiving side host; and downloading said process from an external source if said process does not exist on said receiving side host.
8. A method as defined in claim 2, wherein said applet is contained within certain other portions of said extracted data.
9. An HTML file created by the method of claim 1.
10. An apparatus for distributing data between a sending side host and a receiving side host, comprising: means for preparing data on said sending side host; means for embedding said data within a comment section of an HTML file; means for sending said HTML file to said receiving side host; means for extracting said embedded data from said comment section of said HTML file; means for preparing a local copy of said extracted data on said receiving side host.
11. An apparatus as defined in claim 10, further comprising: means for launching an applet on said receiving side host that uses certain portions of said extracted data.
12. An apparatus as defined in claim 11, wherein said means for preparing said local copy includes means for locating said extracted data at a file path on said receiving side host, said means for launching said applet including means for passing a parameter including said file path of said local copy to said applet.
13. An apparatus as defined in claim 12, wherein said means for launching said applet includes: means for creating a second HTML file with an instruction to launch said applet; means for inserting said parameter in said second HTML file; and means for invoking an application to load said HTML file.
14. An apparatus as defined in claim 10, wherein said means for preparing said data includes: means for encrypting said data if required by a user; and means for encoding said data in a predetermined format.
15. An apparatus as defined in claim 14, wherein said means for preparing said local copy of said extracted data includes : means for decoding said data in accordance with said predetermined format; and means for decrypting said data if said decoded data is encrypted.
16. An apparatus as defined in claim 10, further comprising: means for determining whether a process for performing said extracting step exists on said receiving side host; and means for downloading said process from an external source if said process does not exist on said receiving side host.
17. An apparatus as defined in claim 11, wherein said applet is contained within certain other portions of said extracted data.
18. A method of distributing data between a sending side host and a receiving side host, comprising: receiving an HTML file sent by said sending side host in said receiving side host; extracting embedded data from a comment section of said HTML file; and preparing a local copy of said extracted data on said receiving side host.
19. A method as defined in claim 18, further comprising: launching an applet on said receiving side host that uses certain portions of said extracted data.
20. A method as defined in claim 18, further comprising: determining whether a process for performing said extracting step exists on said receiving side host; and downloading said process from an external source if said process does not exist on said receiving side host.
PCT/US1998/027420 1997-12-29 1998-12-23 Method and apparatus capable of embedding, extracting and processing data within a file having an html format WO1999034286A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CA002315640A CA2315640A1 (en) 1997-12-29 1998-12-23 Method and apparatus capable of embedding, extracting and processing data within a file having an html format
AU20107/99A AU741232B2 (en) 1997-12-29 1998-12-23 Method and apparatus capable of embedding, extracting and processing data within a file having an HTML format
JP2000526862A JP2002500392A (en) 1997-12-29 1998-12-23 Method and apparatus for embedding, extracting and processing data in a file having HTML format
EP98964885A EP1049975A1 (en) 1997-12-29 1998-12-23 Method and apparatus capable of embedding, extracting and processing data within a file having an html format

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US6889397P 1997-12-29 1997-12-29
US60/068,893 1997-12-29

Publications (1)

Publication Number Publication Date
WO1999034286A1 true WO1999034286A1 (en) 1999-07-08

Family

ID=22085372

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/027420 WO1999034286A1 (en) 1997-12-29 1998-12-23 Method and apparatus capable of embedding, extracting and processing data within a file having an html format

Country Status (5)

Country Link
EP (1) EP1049975A1 (en)
JP (1) JP2002500392A (en)
AU (1) AU741232B2 (en)
CA (1) CA2315640A1 (en)
WO (1) WO1999034286A1 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19942647A1 (en) * 1999-08-30 2001-03-08 Datango Gmbh Method and device for the automatic reproduction of electronic data records
WO2001053937A2 (en) * 2000-01-21 2001-07-26 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
WO2002048878A2 (en) * 2000-12-14 2002-06-20 Curl Corporation System and methods for providing compatibility across multiple versions of a software system
EP1284452A2 (en) * 2001-08-15 2003-02-19 Square Co., Ltd. Client, data download method and recording medium
FR2849704A1 (en) * 2003-01-02 2004-07-09 Thomson Licensing Sa Conditional decision device for e.g. Internet decoder, has program obtaining module to start downloading if programs are not available, and decision obtaining module to allow or prevent downloading based on information
FR2866456A1 (en) * 2004-02-17 2005-08-19 Eastman Kodak Co Supply method of multimedia application to e.g. cell phone, involves sending digital data medium containing programming agent, from applications server to terminal based on digital data of message initially sent from terminal to server
US7146434B2 (en) * 2002-05-15 2006-12-05 Hewlett-Packard Development Company, L.P. Method for downloading data via the internet to a browser enabled computer
US7383218B1 (en) 2002-07-31 2008-06-03 Charles Schwab & Co., Inc. Method and system for integrating investment advice with financial account statement information
WO2009037227A1 (en) * 2007-09-20 2009-03-26 Telefonaktiebolaget L M Ericsson (Publ) Mobile phone code editing method and apparatus
EP2200030A3 (en) * 2003-10-03 2010-10-20 Sharp Kabushiki Kaisha Recording and reproducing apapratus
US7860774B1 (en) 2003-10-31 2010-12-28 Charles Schwab & Co., Inc. System and method for providing financial advice for an investment portfolio
US8164492B2 (en) 2009-05-04 2012-04-24 Touch Technologies, Inc. Apparatus and method for fast data encoding and decoding
WO2013060927A1 (en) * 2011-10-25 2013-05-02 Nokia Corporation Method and apparatus for providing offline binary data in a web environment
CN103092983A (en) * 2013-02-01 2013-05-08 杨成林 Generating method and device of electronic documents
EP2905946A1 (en) * 2014-02-07 2015-08-12 Sick Ag Sensor with application program

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060103428A (en) * 2003-09-17 2006-09-29 리서치 인 모션 리미티드 System and method for dynamic content processing with extendable provisioning
KR101246344B1 (en) * 2005-11-21 2013-03-21 엘지전자 주식회사 A method of execution contents using java MIDlet for mobile terminal
US8601363B2 (en) * 2009-07-20 2013-12-03 Facebook, Inc. Communicating information about a local machine to a browser application

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0718761A1 (en) * 1994-12-20 1996-06-26 Sun Microsystems, Inc. A platform independent object and object viewer loader and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884262A (en) * 1996-03-28 1999-03-16 Bell Atlantic Network Services, Inc. Computer network audio access and conversion system
US5961601A (en) * 1996-06-07 1999-10-05 International Business Machines Corporation Preserving state information in a continuing conversation between a client and server networked via a stateless protocol

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0718761A1 (en) * 1994-12-20 1996-06-26 Sun Microsystems, Inc. A platform independent object and object viewer loader and method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HAMMER J ET AL: "Extracting semistructured information from the Web", PROCEEDINGS OF THE WORKSHOP ON MANAGEMENT OF SEMI-STRUCTURED DATA, PROCEEDINGS OF WORKSHOP ON MANAGEMENT OF SEMI-STRUCTURED DATA, TUCSON, AZ, USA, 16 MAY 1997, 1997, Murray Hill, NJ, USA, AT & T Labs - Research, USA, pages 18 - 25, XP002103690 *
LAWRENCE, SCOTT: "Efficient Implementation of WWW Service in Embedded Systems", AGRANAT SYSTEMS, INC., 1997, http://www.agranat.com/emweb_wp1.htm, pages 1 - 7, XP002103689 *
NETSCAPE COMMUNICATIONS CORPORATION: "Javascript 4.0 Guide - Netscape Navigator", 1996, NETSCAPE, MOUNTAIN VIEW, CALIFORNIA, USA, XP002103707 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19942647A1 (en) * 1999-08-30 2001-03-08 Datango Gmbh Method and device for the automatic reproduction of electronic data records
DE19942647C2 (en) * 1999-08-30 2002-10-24 Datango Ag Method and device for the automatic reproduction of electronic data records
WO2001053937A2 (en) * 2000-01-21 2001-07-26 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
WO2001053937A3 (en) * 2000-01-21 2002-08-29 Sun Microsystems Inc Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
US6546554B1 (en) 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
WO2002048878A2 (en) * 2000-12-14 2002-06-20 Curl Corporation System and methods for providing compatibility across multiple versions of a software system
WO2002048878A3 (en) * 2000-12-14 2003-11-06 Curl Corp System and methods for providing compatibility across multiple versions of a software system
EP1284452A2 (en) * 2001-08-15 2003-02-19 Square Co., Ltd. Client, data download method and recording medium
EP1284452A3 (en) * 2001-08-15 2006-08-09 Kabushiki Kaisha Square Enix (also trading as Square Enix Co., Ltd.) Client, data download method and recording medium
US7146434B2 (en) * 2002-05-15 2006-12-05 Hewlett-Packard Development Company, L.P. Method for downloading data via the internet to a browser enabled computer
US7949592B1 (en) 2002-07-31 2011-05-24 Charles Schwab & Co., Inc. Method and system for integrating investment advice with financial account statement information
US7383218B1 (en) 2002-07-31 2008-06-03 Charles Schwab & Co., Inc. Method and system for integrating investment advice with financial account statement information
KR101046867B1 (en) * 2003-01-02 2011-07-06 톰슨 라이센싱 Apparatus and methods, and related products, for performing conditional execution decisions in relation to received services and for generating information messages related to the services
WO2004066144A3 (en) * 2003-01-02 2005-05-26 Thomson Licensing Sa Devices and methods for conditional execution decision making in relation to services received and creation of information messages associated with said services, and associated products
WO2004066144A2 (en) * 2003-01-02 2004-08-05 Thomson Licensing S.A. Devices and methods for conditional execution decision making in relation to services received and creation of information messages associated with said services, and associated products
FR2849704A1 (en) * 2003-01-02 2004-07-09 Thomson Licensing Sa Conditional decision device for e.g. Internet decoder, has program obtaining module to start downloading if programs are not available, and decision obtaining module to allow or prevent downloading based on information
CN100410878C (en) * 2003-01-02 2008-08-13 汤姆森许可贸易公司 Apparatus and method for making conditional execution decision related to received services and creating information and message related to the received services and relative products thereof
EP2200030A3 (en) * 2003-10-03 2010-10-20 Sharp Kabushiki Kaisha Recording and reproducing apapratus
US7860774B1 (en) 2003-10-31 2010-12-28 Charles Schwab & Co., Inc. System and method for providing financial advice for an investment portfolio
WO2005078577A1 (en) * 2004-02-17 2005-08-25 Eastman Kodak Company Process and system to supply a multimedia application on a terminal using a programming agent
FR2866456A1 (en) * 2004-02-17 2005-08-19 Eastman Kodak Co Supply method of multimedia application to e.g. cell phone, involves sending digital data medium containing programming agent, from applications server to terminal based on digital data of message initially sent from terminal to server
WO2009037227A1 (en) * 2007-09-20 2009-03-26 Telefonaktiebolaget L M Ericsson (Publ) Mobile phone code editing method and apparatus
US8164492B2 (en) 2009-05-04 2012-04-24 Touch Technologies, Inc. Apparatus and method for fast data encoding and decoding
WO2013060927A1 (en) * 2011-10-25 2013-05-02 Nokia Corporation Method and apparatus for providing offline binary data in a web environment
CN103092983A (en) * 2013-02-01 2013-05-08 杨成林 Generating method and device of electronic documents
CN103092983B (en) * 2013-02-01 2016-01-20 杨成林 The generation method of e-file and device
EP2905946A1 (en) * 2014-02-07 2015-08-12 Sick Ag Sensor with application program

Also Published As

Publication number Publication date
AU2010799A (en) 1999-07-19
CA2315640A1 (en) 1999-07-08
JP2002500392A (en) 2002-01-08
EP1049975A1 (en) 2000-11-08
AU741232B2 (en) 2001-11-29

Similar Documents

Publication Publication Date Title
AU741232B2 (en) Method and apparatus capable of embedding, extracting and processing data within a file having an HTML format
US7634772B2 (en) Automatic software downloading from a computer network
US6347398B1 (en) Automatic software downloading from a computer network
US6083279A (en) Platform independent technique for transferring software programs over a network
US6996599B1 (en) System and method providing multi-tier applications architecture
US7703024B2 (en) Obtaining a graphical user interface to access a remote computing system
US7117504B2 (en) Application program interface that enables communication for a network software platform
US6959320B2 (en) Client-side performance optimization system for streamed applications
US7779408B1 (en) Method and system for downloading and managing portable applications on a mobile device
US8831995B2 (en) Optimized server for streamed applications
US7752240B2 (en) Apparatus and program product for retrieving file processing software
US20030119386A1 (en) Method and system for installing server-specific plug-ins
EP1310868A2 (en) Method and apparatus for a platform independent plug-in
US8701104B2 (en) System and method for user agent code patch management
US20020174206A1 (en) Web-based file manipulating system
US20130179962A1 (en) Intelligent Network Streaming and Execution System for Conventionally Coded Applications
US20060031833A1 (en) Methods and apparatus for a web application processing system
KR20010080251A (en) Method and apparatus for automatically optimizing execution of a computer program
EP1241572A2 (en) Virtual machine integration application program interface
US20030158895A1 (en) System and method for pluggable URL pattern matching for servlets and application servers
AU2005203423A1 (en) Process and system for sharing program fragments
US6549952B1 (en) Passing environment variables from an hypertext protocol server application programming interface
CN113761412A (en) Application page display method and device, electronic equipment, medium and application system
JP2001290650A (en) Device and method for automatically installing application program
US8122456B2 (en) Microcircuit card comprising means for publishing its computer objects

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

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)
ENP Entry into the national phase

Ref document number: 2315640

Country of ref document: CA

Ref country code: CA

Ref document number: 2315640

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 20107/99

Country of ref document: AU

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2000 526862

Kind code of ref document: A

Format of ref document f/p: F

NENP Non-entry into the national phase

Ref country code: KR

WWE Wipo information: entry into national phase

Ref document number: 1998964885

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 1998964885

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 20107/99

Country of ref document: AU

WWW Wipo information: withdrawn in national office

Ref document number: 1998964885

Country of ref document: EP