GB2371388A - Accessing and processing data in a distributed environment - Google Patents

Accessing and processing data in a distributed environment Download PDF

Info

Publication number
GB2371388A
GB2371388A GB0126907A GB0126907A GB2371388A GB 2371388 A GB2371388 A GB 2371388A GB 0126907 A GB0126907 A GB 0126907A GB 0126907 A GB0126907 A GB 0126907A GB 2371388 A GB2371388 A GB 2371388A
Authority
GB
United Kingdom
Prior art keywords
web
image
user
data
server
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
GB0126907A
Other versions
GB0126907D0 (en
GB2371388B (en
Inventor
Shell S Simpson
Philip C Verghese
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of GB0126907D0 publication Critical patent/GB0126907D0/en
Publication of GB2371388A publication Critical patent/GB2371388A/en
Application granted granted Critical
Publication of GB2371388B publication Critical patent/GB2371388B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/133Protocols for remote procedure calls [RPC]
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A client computer 12 receives downloaded active content 32, 36, including generic (i.e. non-location-specific) access instructions, from an external networked server 14,16, and executes the instructions to access target data 23 identified by user input 22. The target data may be document or image data for local display at 21 or remote printing (710, Fig 7) under the control of the active content, and may be associated with a particular user by use of an assigned user-identifier. The active content may be HTML, Java¹ script, Java¹ program or C-Sharp code, which executes as an extension 24 of a Web browser 18.

Description

- mat' SYSTEM AND METHOD FOR PROCESSING DATA IN A
DISTRIBUTED ENVIRONMENT
BACKGROUND OF THE INVENTION
The field of network computers is presently in its infancy. It is
expected, however, to evolve rapidly for a number of reasons. For example, it is difficult to imagine the computing power that exists over the INTERNET. In fact, the computing power that is available over the INTERNET is expanding 5 everyday and there is no end in sight. The possibility of providing a personal computer with the ability to make use of even a portion of this computing power would be a tremendous advantage.
Unfortunately, before we can reach this vision of the future there are a number of problems that must be overcome. One major problem that must 10 be overcome involves the ease at which a computer can make use of other devices over a network, such as the INTERNET.
SUMMARY OF THE INVENTION
The present invention may be implemented as a computer implemented method of accessing data, comprising identifying a set of data to 15 be accessed in subsequent responses by the first computer to generic access instructions; receiving at least one generic data access instruction from an external device; and responding to the at least one generic data access instruction by accessing the identified data.
BRIEF DESCRIPTION OF THE DRAWINGS
20 FIG. 1 provides an architectural diagram of a client-server system that operates in accordance with a first embodiment of the invention, FIG. 2 illustrates an example of the operation of a client machine in the client-server system; FIG. 3 illustrates an image that may be displayed by the client 25 machine; FIG. 4 illustrates a second image that may be displayed by the
I r client machine; FIG. 5 is a flow diagram for illustrating an example of the operation of the client machine under certain assumption regarding the capabilities of a printer in the client-server system; 5 FIG. 6 illustrates a dialog box that may be displayed assuming the target image is the image shown in FIG. 3; FIG. 7 illustrates an architectural diagram of a second client-server system that operates in accordance with a second embodiment of the invention; FIG. 8 is a flow diagram illustrating how a personal computer can 0 be operated to identify and store a set of target data; FIG. 9 is an abstract drawing of the personal computer under certain conditions; FIG. 1 0 illustrates very generally the operation of the personal computer in response to a generic access instruction, assuming the conditions 15 depicted in FIG. 9; FIG. 11 is a high level block diagram of a first WEB site in the second client-server system; FIG. 1 2 is a high level block diagram of a printer in the second client- server system; 20 FIG. 1 3 is a high level block diagram of a second computer in the second client-server system; FIG. 1 4 is a high level diagram of a personal computer in the second client-server system; FIG. 1 5 illustrates how the various software components in the 25 client server system can communicate; FIG. 1 6 is a flow diagram illustrating how the personal computer can download first WEB content that allows a user to create a document; FIG. 1 7 illustrates a first WEB Page that includes a hyperlink to the first WEB content; 30 FIG. 1 8 is a flow diagram illustrating the execution of the first WEB content;
T FIG 19 is a flow diagram illustrating the operation of an extension component in the personal computer; FIG. 20A is used to illustrate, in abstract form, a set of conditions; FIG. 20B is a flow diagram illustrating how the personal computer 5 can download second WEB content that allows a user to print a document; FIG. 21 illustrates a second WEB Page that includes a hyperlink that to the second WEB content; FIG. 22A illustrates the execution of the second WEB content; FIG. 2 3 illustrates further the operation of the extension 10 component in the personal computer; FIG. 24 illustrates an exemplary print dialog box; FIG. 25 illustrates the print dialog box after being updated; and - FIG. 26 provides an example of a status page.
DETAILED DESCRIPTION OF THE INVENTION
15 To facilitate a complete understanding of the invention, a description of several preferred embodiments is arranged within the following
sections: 1. GLOSSARY OF TERMS AND ACRONYMS
2. DESCRIPTION OF A FIRST ILLUSTRATIVE EMBODIMENT
20 3. DESCRIPTION OF A SECOND ILLUSTRATIVE EMBODIMENT
4. CONCLUSION
1 GLOSSARY OF TERMS AND ACRONYMS
The following terms and acronyms are used throughout the detailed description:
25 Client-Server. A model of interaction in a distributed system in which a program at one site sends a request to a program at another site and waits for a response. The requesting program is called the "client," and the program which responds to the request is called the "server." In the context of the World Wide Web (discussed below), the client is a "Web browser" (or simply
t "browser") which runs on a computer of a user; the program which responds to browser requests by serving Web pages, or other types of WEB content, is commonly referred to as a "Web server."
Content. A set of executable instructions that is served by a 5 server to a client and which is intended to be executed by the client so as to provide the client with certain functionality. WEB content refers to content that is meant to be executed by operation of a WEB browser. WEB content, therefore, may include (the following is a non-exhaustive list) one or more of the following: HTML code, JAVA script, JAVA Program(s) and C-"Sharp" code 0 Hyperlink. A navigational link from one document to another, from one portion (or component) of a document to another, or to a WEB resource, such as a JAVA apples. Typically, a hyperlink is displayed as a highlighted word or phrase that can be selected by clicking on it using a mouse to jump to the associated document or document portion or to retrieve a particular resource.
15 Hypertext System. A computer-based informational system in which documents (and possibly other types of data entities) are linked together via hyperlinks to form a user-navigable "web."
Internet. A collection of interconnected (public and/or private) networks that are linked together by a set of standard protocols (such as TCP/IP 20 and HTTP) to form a global, distributed network. (While this term is intended to refer to what is now commonly known as the Internet, it is also intended to encompass variations which may be made in the future, including changes and additions to existing standard protocols.) World Wide Web ("Web"). Used herein to refer generally to both (i) 25 a distributed collection of interlinked, user-viewable Hypertext documents (commonly referred to as Web documents or Web pages) that are accessible via the Internet, and (ii) the client and server software components which provide user access to such documents using standardized Internet protocols. Currently, the primary standard protocol for allowing applications to locate and acquire 30 Web documents is HTTP, and the Web pages are encoded using HTML.
) However, the terms "Web" and "World Wide Web" are intended to encompass future markup languages and transport protocols which may be used in place of (or in addition to) HTML and HTTP.
Web Site. A computer system that serves informational content 5 over a network using the standard protocols of the World Wide Web. Typically, a Web site corresponds to a particular Internet domain name, such as "HP. com," and includes the content associated with a particular organization. As used herein, the term is generally intended to encompass both (i) the hardware/software server components that serve the informational content over 10 the network, and (ii) the aback end" hardware/software components, including any non-standard or specialized components, that interact with the server components to perform services for Web site users. Importantly, a WEB Site can have additional functionality, For example, a WEB site may have the ability to print documents, scan documents, etc. HTML tHyperText Markup Language). A standard coding convention and set of codes for attaching presentation and linking attributes to informational content within documents. (HTML 2.0 is currently the primary standard used for generating Web documents.) During a document authoring stage, the HTML codes (referred to as "tags") are embedded within the 20 informational content of the document. When the Web document (or HTML document) is subsequently transferred from a Web server to a browser, the codes are interpreted by the browser and used to display the document.
Additionally in specifying how the Web browser is to display the document, HTML tags can be used to create links to other Web documents (commonly 25 referred to as nhyperlinks-). For more information on HTML, see Ian S. Graham, The HTML Source Book, John Wiley and Sons, Inc., 1995 (ISBN 047111894-
4). HTTP (Hypertext Transport Protocol). The standard World Wide Web client-server protocol used for the exchange of information (such as HTML 30 documents, and client requests for such documents) between a browser and a Web server. HTTP includes a number of different types of messages which can be sent from the client to the server to request different types of server actions.
For example, a "GET" message, which has the format GET <URL>, causes the server to return the document or file located at the specified URL.
URL (Uniform Resource Locator). A unique address which fully specifies the location of a file or other resource on the Internet or a network.
s The general format of a URL is protocol: //machine address:port/path/filename.
2. DESCRIPTION OF A FIRST ILLUSTRATIVE EMBODIMENT
FIG. 1 provides an architectural diagram illustrating a client-server 10 system 10 that operates according a first embodiment of the invention. The client-server system 10 includes a client machine 12, a first server machine 14 and a second server machine 16 connected via a network 17. All of these devices operate in accordance with the invention. It is noted, however, that a client-server system 10 according to the invention may include more that one 15 client machine and one or more server machines.
The client machine 12 includes a browser 18, a storage module 20, a display device 21 (e.g., a CRT monitor) and a user input device 22 (e.g., a keyboard). It is noted that the storage module 20 may represent any type of data storage device.
20 Additionally, the browser 18 includes an extension component (extension) 24 that provides an interface between WEB content executing in the Browser 18 and the storage module 20. Further details regarding the functionality of the extension 24 are provided below The first server machine 14 includes a first server 30. The first 25 server 30 can respond to receiving an appropriate request (over the network 17) from the browser 18 by serving to the browser 18 a first WEB content 32.
Similarly, the second server machine 16 includes a second Server 34. The second server 34 can respond to receiving a request from the browser 18 by serving to the browser 18 a second WEB content 36.
30 It is important to note that the client machine 12, the first WEB content 32 and the second WEB content 36 are all in accordance with a system
wide standard. This standard specifies "generic access instructions", "generic access requests" and "target data".
For purposes of this application, the term "generic access instruction" refers to an executable instruction that is intended to cause the 5 executing device to generate generic access requests in order to access a set of target data. A generic access instruction, however, does not include the location of the target data itself and neither does the generic access requests.
Importantly, the target data is pre-selected (typically by a user) and its location is determined from information that is maintained locally within the executing 10 computer. For this reason, the target data for a particular computer is said to be "associated" with that computer. Thus, for example, the target data that is associated with computer "A" is the data that computer "A" will access in response to a generic access instruction. The target data that is associated with computer "B" is the data that computer "B" will access in response to the 15 identical generic access instruction.
Furthermore, in the case wherein the target data represents an image, that image is referred to herein as the "target image". In this simplified example, it will be assumed that all generic access instructions specified by the system wide standard mentioned above are for accessing data that describes an 20 image.
In the present embodiment, the extension 24 is configured to respond to the execution of generic access instructions by generating corresponding (device specific commands) that causes the target data associated with the client machine 12 to be accessed. How the target data for 25 the client machine 12 is identified is explained below.
It will be understood by a person skilled in the art, after a consideration of this document, that the extension 24 may be implemented by an application programming interface (API). The API being in accordance with the system wide standard mentioned above. Thus, the generic access 30 instructions when executed may cause API calls to be issued to the API in order or effect the data access. These API calls are the generic access requests
specified by the standard. It will also be recognized that there are many other ways (both hardware and software) to implement this same functionality. The present invention is not limited to any one way.
Both the first WEB content 32 and the second WEB content 36 5 includes generic access instructions. For illustration purposes, it is assumed that the first WEB content 32 is for causing a client machine to display the target image described by that machine's associated target data. The second WEB content 36 is for causing a client machine to generate a print job that describes the target image and to transmit the print job to a printer. This is done so as to 10 cause the printer to print the target image.
FIG. 2 illustrates an example of the operation of the client machine 12. In this example, it is assumed that the client machine 12 provides a means for the user to define an image by providing input via the user input devices 22.
To provide this functionality, the client machine 12 may include a local 5 application (e.g., a word processing application) that accepts input from a user to define an image (e.g., a single or multiple page document) or the user may be able to operate the client machine 12 to download the image from an external device. Referring now to FIG. 2, it is assumed that a user provides input 20 (via the user input device 22) to the client machine 12 in order to define an image. The client machine 12 receives this input at step 202 and creates a set of (user defined) data 23 that describes the user defined image (step 204).
Next, the client machine 12 provides the user with a selectable option to store the image data as a "target image" (Step 206). This option may 25 be provided to the user via a user interface displayed by the display device 21.
The user is assumed to select this option, and the client machine 12 receives this input at step 208.
In response to this user input, the client machine identifies the set of (user defined) data 23 as the "target data" for the client machine 12 (step 30 210). As a result, upon the client machine 12 subsequently receiving generic access instructions (e.g., see step 216), the client machine 12 will respond to these instructions by accessing the set of data 23. Thus, the set of data 23 is
the target data associated with the client machine 12. As shown, the set of data 23 is stored in the storage module 20 (step 211).
Next, the browser 18 transmits an appropriate request to the first server machine 14 for the first WEB content 32 (step 212). This may be in 5 response to the user providing the browser 18 with appropriate input via the user input device 22 lThe server 30 responds to the request from the browser 18 and transmits the first WEB content 32 to the browser 18].
Upon receiving the first WEB content 32, the browser 18 begins executing the instructions included in the first WEB content 32 (step 214). The 0 WEB content 32 includes a set of commands that are for causing the executing device to display the image represented by the device's associated target data.
The set of commands include one or more generic access instructions and additional commands for causing the device to display the image represented by the device's associated target data. The execution of the generic access 15 instructions results in appropriate generic access requests being generated that cause the target data to be retrieved.
As shown in FIG. 2, the Client Machine 12 responds to the generic access instructions to retrieve the target access data by retrieving the image data 23 (step 216). This is by operation of the extension 24. That is to say, 20 the extension 24 generates an appropriate set of (device specific) commands to retrieve the image data 23 in response to the generic access requests generated at step 214.
After the image data 23 is retrieved, the browser 18 causes the display device 21 to display the user defined image (step 218).
25 FIG. 3 illustrates the image that is displayed in step 218 if the set of data 23 describes an image 302. The image 302 is an outline of the State of California. Alternatively, FIG. 4 illustrates the image that is displayed in step 218 if the set of data 23 describes an image 402. The image 402 is an outline of the State of Idaho.
30 Thus, from the foregoing, it can be seen that the first WEB content 32 enables a device to display a user defined image. Importantly, the image that is displayed is based on the target data associated with the client machine
12. Thus, it can be seen, if the first WEB content 32 were executed on a different machine, the machine would display a different image (assuming the target data for that machine describes a different image).
For additional illustration purposes, lets now assume that the 5 second server machine 16 is a printer that has defined capabilities. In this example, the printer includes duplex and staple capabilities.
FIG. 5 is a flow diagram for illustrating an example of the operation of the client machine under this second assumption. Referring to FIG. 5, the user is assumed to define an image (step 502) and identify the image as a target 10 image (step 504).
Next, the user inputs a request to the Browser 18 in order to cause the Browser 18 to transmit an appropriate request to the Second WEB server 34 for the Second WEB content 36. The Browser 18 receives this user input and responds by transmitting an appropriate request to the second server 34 (step 5 506). The second server 34 responds by transmitting the second WEB content 36 to the browser 18.
The Browser 18 receives and begins executing the second WEB content 36 at step 508.
Importantly, the second WEB content 36 includes generic access 20 instructions for effecting the retrieval of the executing computer's target image.
In addition, the WEB content 36 includes instructions to make use of the retrieved image to display a print dialog box that includes a post process image (i.e., a print preview image) of the target image (step 510) . It is emphasized that the display of the print dialog box is by operation of the second WEB 25 content 36 as opposed to the local operating system or the Browser 18.
FIG. 6 illustrates a dialog box 602 that may be displayed at step 510 assuming the target image is the image 302 (i.e., the state of California) .
Importantly, it can be seen that the dialog box displays a set of selectable options 602 that are based upon the capabilities of the second server machine 30 16. The set of selectable options 602 include a staple option 604 and a duplex option 606.
The dialog box 602 also includes a print preview image 608. The
print preview image 608 is based, in part, upon the target image and the options that were selected by the user. In this example, it is assumed that the target image is the image shown in FIG. 3. In addition, it is assumed that the user has selected the staple option 604 and the duplex option 606. Importantly, the print 5 preview image 608 reflects these selections.
Referring again to FIG. 5, it is assumed that the user selects the print option 620. The browser 18 receives this input at step 512. In response, the second WEB content 36 causes the client machine 12 to generate a print job Step 514). The print job describes the target image and includes the 10 appropriate commands to cause the server machine 16 to print the target image using duplex printing and a staple option. The second WEB content 36 further causes the client machine 12 to transmit the print job to the second server machine 16 to be printed. Importantly the Second WEB content 36 is further configured to transmit appropriate requests to the second server machine 16 in 15 order to determine when the print job has been completely printed. These requests are transmitted on a periodic basis. When a response is received indicating the second server machine 16 has printed the print job, the second WEB content 36 causes the client machine 12 to display this information.
Thus, from the foregoing, it can be seen that the second WEB 20 content 36 enables a device to display a dialog box that is includes selectable options. The options being based upon the capabilities of an external device. In this case, the second server 16. In addition, the WEB content 36 causes a device to display a post processing image using the target image. The post processing image is again based upon the capabilities of an external device as 25 well. Further, the WEB content 36 displays the status information as the print job prints.
2. DESCRIPTION OF A SECOND ILLUSTRATIVE EMBODIMENT
FIG. 7 illustrates the general architecture of a computing system 30 702 that is in accordance with the invention. The computing system 702 includes a personal computer 704, a second computer 706, a first WEB site 708 1 1
and a printer 710. The printer 710 also functions as a WEB site.
All the devices depicted in FIG. 7 are able to communicate over a communication link 712. Furthermore, the communication link 712 may represent a network, a series of networks, a wireless network(s), the Internet, or 5 any combination thereof.
The personal computer 704 may be any type of computing device that allows a user to interactively browse Web Sites and to perform the functions that are described below. For example, the personal computer 704 may be a personal computer that runs a local operating system, such as a 10 version of MICROSOFT WINDOWS, NT, UNIX or LYNX, etc. As shown, the personal computer 704 includes a user interface 714. The user interface 714 includes a display monitor 716 and a user input device(s) 718 for allowing the user to provide input to the computer 704. In this example, the input devices 718 include a keyboard and a mouse. For purposes of the later discussion, it is 15 noted that the personal computer 704 is used by multiple users, each having their own user profile. Two of these users, a first user 720, and a second user 724 are depicted. It is assumed that each one of these users has his/her own user profile information and identifier (i.e., user name) stored in the personal computer 704.
20 For purposes of the later discussion, a user presently logged in to the personal computer 704 at any point in time is referred to herein as the "active user". Thus, if the first user 720 is presently logged into the personal computer 704, that user is presently the "active user".
2. a.) System Wide Standard 25 It is important to note that the devices depicted in FIG. 7 are all in accordance with a system wide standard which is similar to the one described in the first embodiment. Accordingly, this second standard specifies a set of generic access requests that are intended to cause an executing computer to access a set of target data describing a target image. In this case, however, 30 each user can have his/her own target image. The target data accessed in
l : response to these requests at any point in time is the target data that is associated with the active user. FIG. 8-11 is used to illustrate this concept further. FIG. 8 is a flow diagram for showing, very generally, how the 5 personal computer 704 can be operated to identify and store a set of target data. As indicated in FIG. 8, a user (e.g., the first user 720 or the second user 724) is assumed to log into to the personal computer 704 (step 802). The personal computer 704 responds in a conventional manner by retrieving the user's preferences and desktop configuration. In this manner, the user becomes 10 the "active user".
Next, it is assumed that the active user provides input that he/she wishes a particular image to be a "target image". The computer 704 receives this input at step 804. In response, the computer 704 responds by identifying the data describing the image as "target data" (step 806). In addition, the 15 computer 704 operates to link the target data to the identifier assigned to the active user 720 (step 806). In this manner, the target data becomes associated with the active user.
Now consider FIG. 9 and FIG. 10. FIG. 9 is an abstract drawing of the personal computer 704 under the following scenario. First, it is assumed 20 that the first user 720 has previously interacted with the personal computer to identify a first target image (target image #1). As a result, the data representing this image has been identified, by the personal computer 704, as target data (target data #1). Additionally, the target data #1 is linked to the identifier assigned to the first user 720.
25 It is further assumed that the second user 724 has also previously interacted with the personal computer 704 and has identified a second target image (target image #2). As a result, the data describing this image is also identified as target data (target data #2). This second set of data, however, is linked to the identifier assigned to the second user 724.
30 FIG. 10 illustrates very generally the operation of the personal computer 704 in response to a generic access instruction, assuming the scenario depicted in FIG. 9. As illustrated in FIG. 9, a user is assumed to log in
to the personal computer 704 (step 1002). As a result, that user becomes the "active user". Next, the computer 704 is assumed to execute a generic access instruction ( step 1004). In response, the personal computer 704 accesses the target data that is linked to the active user's identifier (step 1006).
5 Thus, if the first user 720 had logged into the personal computer 704 at step 1002, the personal computer 704 would respond to the generic access instruction by accessing the target data #1. Conversely, if the second user 724 had logged into the personal computer 704 at step 1002, the personal computer 704 would respond to the same generic access instruction in a 10 different manner. That is, the personal computer 704 would access the target data #2.
2. b.) General Description of the Hardware and Software
Components Lets now consider some of the hardware and software 15 components in each one of the devices depicted in FIG. 7.
FIG. 11 is a high level block diagram of the first WEB site 708. As shown, the first WEB Site 708 includes a processor 1102, a memory 1104, and an input/output (I/O) port 1106. All these components are connected by one or more local interfaces 1108. The llO port 1106 links the WEB site 708 20 to the communication link 712. The processor 1102 is used to execute the first WEB Server 1110 which is shown stored in the memory 1104.
Also stored in the memory 1104 is a first WEB page 1112 and "documentcreation WEB content" 1114. Both the first WEB page 1112 and the document creation WEB content 1114 are assigned a URL.
25 As will be described in greater detail below, the document creation WEB content 1114 is used to provide a "document creation service" to external devices. Importantly for this discussion, this content includes generic access instructions that are in accordance with the system wide standard described in section (2.a) of this document. When executed,- these instructions result in 30 generic access requests being generated in order to access a set of target data.
As mentioned above, generic access instructions are instructions that do not include the location of the target data itself. The "generic access requests" generated from these instructions also do not include the location of the target data. 5 FIG. 12 is a high level block diagram of the printer 710. As shown, the printer 710 includes a processor 1202, a memory 1204, an l/O port 1206, and a print engine 1208. All these components are connected by one or more local interfaces 1210. The l/O port 1206 links the printer 710 to the communication link 712. The print engine 1208 includes the necessary 10 hardware and firmware to print a document.
The processor 1202 is used to execute the print WEB Server 1212 and the printer control program 1222 which is shown stored in the memory 1204. Also stored in the memory 1204 is a WEB page 1216 and "Document Print WEB content" 1220. Both the WEB page 1216 and the Document print 15 WEB content 1220 are assigned a URL.
As will be described in detail below, the document print content is used to provide a document printing service to external devices. Importantly for this discussion, this content includes generic access instructions that are also in accordance with the system wide standard described in section (2.a). When 20 executed, these instructions results in generic access requests being generated.
FIG. 13 is a high level block diagram of the second Computer 706.
As shown, the second computer 706 includes a processor 1302, a memory 1304, and an input/output (I/O) port 1306. All these components are connected by one or more local interfaces 1308. The l/O port 1306 links the second 25 computer 1306 to the communication link 712.
The processor 1302 is used to execute the Server 1310 shown stored in the memory 1304. As will be discussed in greater detail below, the memory 1304 includes a reserved storage area 1312 for storing target data that is associated with users of the personal computer 704.
30 FIG. 14 is a high level diagram of the of personal computer 704.
As shown, the personal computer 704 includes a processor 1402, a memory 1404 and an input/output (I/O) port 1408. All these components are connected
by one or more local interfaces 1410. The l/O port 1408 links the second computer 706 to the communication link 712.
As shown, the memory 1404 includes a reserved storage area 1416 and a WEB Browser 1412. The WEB Browser 1412 includes an extension 5 component (extension) 1414. The processor 1402 is used to execute the WEB Browser 1412.
Importantly, the extension 1414 is configured to respond to generic access requests (generated by downloaded WEB Content) by accessing the set of target data which is linked to the current active user. It will be clear 10 to a person skilled the art that the extension 1414 may be an application programming interface (API) and the generic access requests can be API function calls. It is important to note, however, that the there are other ways to implement the functionality provided by the extension 1414. The present invention is not limited to any one way.
5 It is also noted that in each of the computer's just described, the memory shown may include both volatile and nonvolatile components. Volatile components are those that do not retain data upon loss of power. Non-volatile components are those that retain data upon a loss of power.
Thus, each of the memories shown in FIGS. 7-14 may comprise, 20 for example, random access memory (RAM), read-only memory (ROM), hard disk drives, floppy disks accessed via an associated floppy disk drive, compact disk(s) accessed via a compact disk drive, magnet tape(s) accessed via an appropriate tape drive, and/or other memory components (currently known in the art, or yet to be developed), or a combination of any two or more memory 25 components.
In addition, it is also noted that in each of the devices just described, the processor shown may include one or more than one microprocessors. Furthermore, the local interface in each device may include, for example, one or more data buses and accompanying control buses.
30 2. c.) System communication
Fig. 15 illustrates how the various software components can communicate over the communication link 712. To illustrate an aspect of the invention, it will be assumed that the personal computer 704 must communicate to the other devices shown through a conventional firewall 1504. The firewall s 1504 is used to filter out unwanted communication packets in a conventional manner. Thus, requests may be made by the personal computer 704 to external devices located on the other side of the firewall 1504 and responses to these requests from the external devices are typically allowed. Communications, however, initiated by these external devices to the personal computer 704 are 10 not permitted.
The firewall 1504, however, includes a conventional proxy server (hereafter "firewall proxyn) that allows the personal computer 704 to pass HTTP requests to the WEB server 1110, the Server 1310 and the WEB server 1212.
As will be seen, by using the HTTP protocol to traverse the firewall 1504 in this 15 manner, the personal computer 704 is able to make use of the services provided by the first WEB site 708 and the printer 710. In addition, the personal computer 704 is able to store target data in the memory 1304 located in the second computer 706. It is important to note that in other embodiments of the invention other communication protocols (either now existing or yet to be 20 developed) can be used.
In response to user input, the WEB browser 1412 can request the first WEB page 1112 as well as the Document creation WEB content 1114 by transmitting appropriate HTTP requests (via the proxy) to the WEB server 1110.
Similarly, the WEB browser 1412, can request the printer WEB page 1216 as 25 well as the document print WEB content 1220 received from the WEB server 1212. The WEB browser 1412 can also communicate one or more sets of data (via the proxy) to the server 1310 and can retrieve this data.
2.d.) Document Creation Service 30 FIG. 16-18 are used to illustrate how a user of the personal computer 704 can make use of the document creation service provided by the
first WEB site 708.
Referring first to FIG. 16, a user logs into the personal computer 704 and begins a user session (step 1601). In this manner, the user becomes an active user.
5 Next, the user inputs an appropriate URL for the First WEB page 1 1 12. The WEB Browser 1412 receives this input at step 1602 and in response transmits (via the firewall proxy) an appropriate request for the page to the WEB server 1 1 10 (step 1603).
The WEB server 1 1 10 receives the request and responds by 0 transmitting the first WEB page 1 1 12 to the WEB Browser 1412 (via the firewall proxy) .
The WEB Browser 1412 receives this response from the WEB server 1 1 10 at step 1604 and displays the received first WEB page 1 1 12 at step 1 606.
15 FIG. 17 illustrates the first WEB page 1112 as displayed by the browser 1412. Referring briefly to FIG. 17, the first WEB Page 1 1 12 includes a text portion 1704 and a "get document service" hyperlink 1706. The text portion 1704 may include information regarding the document creation service provided by the first WEB Site 708. The hyperlink 1706 is formatted such that, 20 when selected by a user, the WEB Browser 1412 transmits an appropriate request to the WEB server 1 1 10 for the Document Creation WEB content 1 1 14.
In other embodiments, the first WEB Page 11 12 may also display a cost to use the service as well as provide a means for the user to enter payment information (e.g., credit card information) to pay for the service.
25 Referring again to FIG. 16, it is assumed the user selects the get document service hyperlink 1706 and the browser 1412 receives this input at step 1608. In response to this input, the browser 1412 transmits an appropriate request to the Web Sever 11 10 (via the firewall proxy) for the Document creation WEB content 1 1 14 (step 1610). The browser 1412 receives 30 and begins executing the WEB content 1114 at step 1612.
FIG. 18 illustrates the operation of the Document creation WEB content 11 14 while being executed at step 1612. Referring now to FIG. 18,
the content 1114 first causes the display device 716 to display a user interface (step 1802). The user interface accepts input from a user (via the input devices 714) so as to allow the user to define an image.
The WEB content 1 1 14 receives these inputs at step 1804 and 5 creates a set of data describing the image (step 1806). In this example, the data is created in a file format that is device independent. That is to say, the data represents the image in a manner that is independent of the WEB content, the local operating system and hardware used to generate it. One example of such a format is the format known as PDF" (Portable Document Format).
10 Next, the WEB content 1 1 14 provides a means for the user to indicate whether he/she wishes the image defined at step 1804 to be saved as a "target image" (step 1808). For example, the user interface displayed at step 1802 may include one or more selectable options or a pull down menu for providing a user a means to indicate this desire.
15 The WEB content 1 1 14 is assumed to receive this indication at step 1810. In response to this input, the WEB content 1 1 14 generates generic access requests in order to cause the data generated at step 1806 to be stored (step 1822). The Extension 1414 is responsible for responding to these requests. 20 FIG. 19 is a flow diagram for illustrating the operation of the extension 1414 to respond to the generic access requests generated at step 1822. Referring now to FIG. 19, the extension 1414 receives the generic access requests at step 1902. In response, the extension 1414 causes the target data created at step 1806 to be stored in the reserved storage area 1312 25 of the second computer 706 (step 1904). This is accomplished by the extension 1414 communicating the target data over the communication link 712 to the server 1 310. It is noted that because the HTTP protocol is used, the extension 1414 is able to communicate the target data through the firewall 1504. 30 The server 1310 responds by storing the target data in the reserved storage area 1312. It will be assumed that the first target data 1502 represents this target data.
In addition to communicating the target data 1502 to the server 1310, the extension 1414 (preferably) also stores the location of the first target data 1502 so that the data can later be accessed (step 1906) and links this location to the active user's identifier (step 1908).
5 2.e.) Printing Service FIGS. 20-26 are used to illustrate how a user of the personal computer 704 can make use of the printing service provided by the printer 710.
In this section, it will be assumed that the conditions depicted in FIG. 20A exist. 10 As indicated in FIG. 20 A, the first user 720 has made use of the document creation service to identify a target image (target image #3). The data (target data #3) that describes this image is stored in the internal memory of the second computer 706. Furthermore, the second user 724 has also made use of the document creation service to define a target image (target image #4).
5 The data (target data #4) that describes this second image which is also stored in the internal memory of the second computer 706.
Referring now to FIG. 20B, one of the two users logs into the personal computer 704 (step 2002) and executes the WEB browser 1412. The user is then assumed to provide the URL of the printer WEB page 1216. The 20 WEB browser 18 receives this input at step 2004.
In response to this input, the Browser 1412 transmits an appropriate request to the WEB Server 1212 for the Printer WEB page 1216.
The WEB server 1212 receives this input and responds by transmitting the printer WEB page 1216 to the WEB Browser 1412.
25 The WEB Browser 1412 receives and displays the printer WEB page 1216 at step 2008.
FIG. 21 illustrates the printer WEB page 1216 as displayed by a browser. Referring briefly to FIG. 21, the printer WEB page 1216 includes a text portion 2104 and a "get document print service" hyperlink 2106. The text 30 portion 2104 may include information regarding the document printing service
provided by the printer 710. The hyperlink 2106 is formatted such that, when selected by a user, the WEB Browser 1412 transmits an appropriate request to the WEB server 1212 for the Document print WEB content 1220. In other embodiments, the printer WEB page 1216 may also display a cost to use the 5 printing service and may provide the user with a means to enter payment information to make use of the service.
Referring again to FIG. 20B, it is assumed that the user selects the get print service hyperlink. The WEB Browser 1412 receives this input at step 2010 and in response transmits a request for the WEB content 1220 to the WEB 10 server 1212.
The WEB server 1212 receives this input and responds by transmitting the Document Print WEB content 1220 to the WEB browser 1412.
The WEB Browser 1412 receives the print WEB content 1 220 and begins executing it at step 2014.
15 FIG. 22A and FIG. 22B illustrate the operation of the print WEB content 1220 (while being executed at step 2014). First, the print WEB content 1220 causes generic access requests to be generated in order to retrieve a target image (step 2202).
FIG. 23 illustrates the operation of the extension 1414 to respond 20 to the generic access requests generated at step 2202. Referring briefly now to FIG. 23, the extension 1414 receives these generic access requests at step 2302. In response, the extension 1414 retrieves the set of target data that is linked to the active user (step 2304). [ It is noted that in other embodiments, generic access requests may define a format for the retrieved data. This desired 25 format is then communicated to the server and the server provides the target data in the desired format. Importantly, the desired format may be different than the originally stored format. Thus, for example, the set of target data may be stored as a PDF format and returned, for example, in a JPEG format. This may be advantageous in situations wherein a second form of the target data is 30 better suited for printing, displaying, etcl It can be seen that, for example, if the first user 720 is presently logged into the personal computer 704, the extension 1414 responds by
retrieving target data iY3 (stored in the second computer 706). This is accomplished by transmitting appropriate HTTP requests for this data to the server 1 310. The server 1310 responds by transmitting this data to the extension 1414. Conversely, if the second user 724 is presently logged into the 5 personal computer 704, the extension 1414 responds by retrieving the set of target data #3.
The extension 1414 then operates to provide the retrieved target data to the Document Print WEB Content 1220 in an appropriate manner tstep 2306).
10 Referring again to FIG. 22, the WEB content 1220 receives the retrieved target data (from the extension 1414) at step 2204. In response, the WEB content 1220 causes the personal computer 704 to display a print dialog box with a print preview image (step 2206).
FIG. 24 illustrates an exemplary print dialog box 2402 that may be 5 displayed by the personal computer 704 at step 2206. As shown, the dialog box 2402 displays a print preview image 2404 that allows the user to define particular print settings. In this example, the print dialog box 2402 allows the user to enter the number of copies, select a duplex option and/or a collate option. 20 Importantly, these options are based upon the capabilities of the printer 710. The print preview image that is displayed is based, in part, upon the retrieved target image (i.e., the target image #3 or the target image #4) as well as the options selected.
Referring again to FIG. 22, the WEB content 1220 is assumed to 25 receive the user input indicating that certain settings have been selected at step 2208 and updates the dialog box 2206 accordingly.
FIG. 25 illustrates how the print dialog box 2402 would be updated assuming that the user has selected the duplex option and has entered "4" as the number of copies he/she wishes printed. It is noted that the print 30 pre-view image reflects the duplex option by an icon 2502.
Referring once again to FIG. 22, it is assumed that the WEB content 1220 receives input indicating the user has selected the print button
2410. The WEB content 1220 responds to this input by generating a print job and by transmitting the print job to the WEB server 1212 (steps 2214 and 2216). The print job includes the target data and also includes commands that cause the printer 710 to print the image according to the inputted settings.
5 The WEB server 1212 receives the print job and provides the print job to the printer control program 1222. The printer control program 1222 commands the print engine 1208 to print the target image according to the settings described by the print job.
After the print job is transmitted to the printer, the WEB content 10 1220 displays a "print status page" that shows the status of the print job in a dynamic fashion (step 2218). This is accomplished by the WEB content 1220 obtaining certain status information from the printer 710 regarding the printing of the print job (step 2220).
It is noted that the step 2220 may be accomplished by using a 15 number of techniques. For example, PAIL (Peripheral Management Language) polling may be used. Optionally, the techniques taught in the pending application entitled "Method and Apparatus for Providing Print Job Status, may be used. That application is assigned the attorney Docket number 10001724 and was filed November 1, 2000 in the US Patent Office. That application is 20 incorporated herein by reference.
As the status information is received (step 2222) back from the printer 710, the WEB content 1220 updates the status page so as to reflect the updated information (step 2224). This process continues until the print job is completed (step 22261.
25 FIG. 26 provides an example of a status page 2602 that may be displayed at step 2218. As shown, the status page 2602 includes a first field
2604, a second field 2606 and a third field 2608. The first field 2604 displays
the number of copies that has been printed. The second field 2604 displays the
number of pages printed for the copy that is presently being printed.
30 The third field 2608 describes certain problems with the current
print job encountered during printing. For example, if the printer 710 reports that a paper jam has occurred, this information can be displayed in this third
field.
Additionally, the status page 2602 includes a pause button 2610 and a continue button 2612. If the pause button 2610 is selected, the WEB content 1220 sends an appropriate message to the WEB server 1212 indicating 5 that the printing of the present job should be paused.
The WEB server 1212 receives this message and communicates it to the printer control program 1222. The control program 1222 responds by pausing the printing of the present print job.
After the pause button 2610 has been selected and the printing of 0 the present print job has been paused, a user can then select the continue button 2612. When the continue button is selected, the Doc. Print WEB content 1220 sends an appropriate message to the WEB server 1212 indicating printing should be resumed.
The WEB server 710 receives this message and communicates it to 15 the printer control program 1222. The control program 1222 responds by causing the printing of the present print job to resume.
3. Conclusion
From the foregoing, it will be appreciated that a computing system according to the invention represents a significant advance in the art. For 20 example, as illustrated above, a personal computer according to the invention can make use of potentially a very large number of devices connected to a network or the INTERNET.
It should be noted that the flow charts provided in the FIGS referenced above, show a specific order of steps it is understood that the order 25 of these steps may differ from that which is depicted. Also, two or more steps may be performed concurrently or with partial concurrence. It is understood that all such variations are with the scope of the invention.
Additionally, although specific embodiments of the invention have been described and illustrated, the invention is not to be limited to the specific 30 forms or arrangements of parts so described and illustrated. Accordingly, the invention is limited only by the claims and equivalents thereof.

Claims (10)

CLAIMS What is claimed is:
1. In a first computer (12), a method of accessing data, comprising: (a) identifying a set of data to be accessed in subsequent responses by the first computer (12) to generic access instructions.
2. The method of claim 1, further comprising: (b) receiving at least one generic data access instruction from an external device (14,16,21,22); and (c) responding to the at least one generic data access instruction by accessing the identified data.
3. The method of claim 1, wherein step (a) is performed prior to step (c).
4. The method of claim 2, wherein step (a) is performed prior to step (b).
5. The method of claim 2, wherein step (a) is performed based upon user input.
6. The method of claim 4, wherein the identified set of data describes an image (302).
7. The method of claim 4, further comprising: (a) receiving input from a user defining a first image (302); and (b) creating the set of data based upon the input, the set of data describing the image (302).
8. The method of claim 5, wherein the at least one generic data access instruction is for causing a computer tl2) to display a first image (302) described by a set of data, and wherein step (c) includes the following substep: (c.1.) using the identified set of data to display the first image (302).
9. The method of claim 5, wherein the at least generic data access instruction is for causing a computer (12) to generate a print job from a set of data describing an image (302), the print job being suitable for causing a first printer (710) to print the image; and wherein step (c) includes the following substep: (c.1.) using the identified set of data to generate a first print job formatted so as to cause the first printer (710) to print the first image (302).
10. The method of claim 8, wherein the at least one generic access instructions is further for causing a computer (12) to transmit the print job to the first printer (710); and wherein step (c) further includes the following substep: (c.2.) transmitting the first print job to the first printer (710) so as to cause the first printer (710) to print the image.
GB0126907A 2000-11-13 2001-11-08 System and method for processing data in a distributed enviroment Expired - Fee Related GB2371388B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US71233600A 2000-11-13 2000-11-13

Publications (3)

Publication Number Publication Date
GB0126907D0 GB0126907D0 (en) 2002-01-02
GB2371388A true GB2371388A (en) 2002-07-24
GB2371388B GB2371388B (en) 2005-01-12

Family

ID=24861697

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0126907A Expired - Fee Related GB2371388B (en) 2000-11-13 2001-11-08 System and method for processing data in a distributed enviroment

Country Status (3)

Country Link
DE (1) DE10151633A1 (en)
GB (1) GB2371388B (en)
HK (1) HK1044833B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0798655A2 (en) * 1996-03-25 1997-10-01 Sun Microsystems, Inc. Internet-enabled graphical user interface with toolbar icons having built-in links to world-wide web documents and an integrated web browser
JPH1145217A (en) * 1997-07-25 1999-02-16 Olympus Optical Co Ltd Image transmission system
US5974441A (en) * 1995-06-07 1999-10-26 International Business Machines Corporation WWW client server interactive system method with Java (™)
EP1041768A2 (en) * 1999-04-01 2000-10-04 Seiko Epson Corporation Device management network system, management server, and computer
EP1100239A2 (en) * 1999-11-10 2001-05-16 Attachmate Corporation Method and system for property page management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974441A (en) * 1995-06-07 1999-10-26 International Business Machines Corporation WWW client server interactive system method with Java (™)
EP0798655A2 (en) * 1996-03-25 1997-10-01 Sun Microsystems, Inc. Internet-enabled graphical user interface with toolbar icons having built-in links to world-wide web documents and an integrated web browser
JPH1145217A (en) * 1997-07-25 1999-02-16 Olympus Optical Co Ltd Image transmission system
EP1041768A2 (en) * 1999-04-01 2000-10-04 Seiko Epson Corporation Device management network system, management server, and computer
EP1100239A2 (en) * 1999-11-10 2001-05-16 Attachmate Corporation Method and system for property page management

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"About Jadvantage", 17 Jan 2000, at http://ecc400.com/bos/jadvantage-about-main.htm *
"Interactive textbooks: embedding image processor operator demonstrations in text", 4 July 1997, at http://marathon.csee.usf.edu/hiprjava/hiprjava.html *
"Launching into Java", JavaWorld, Sep 2000, at www.javaworld.com/javaworld/jw-0915-launch.html *

Also Published As

Publication number Publication date
HK1044833A1 (en) 2002-11-01
HK1044833B (en) 2005-06-03
GB0126907D0 (en) 2002-01-02
GB2371388B (en) 2005-01-12
DE10151633A1 (en) 2002-06-27

Similar Documents

Publication Publication Date Title
US6453129B1 (en) System and method for providing job assurance
US6327045B1 (en) Computer network
US6240456B1 (en) System and method for collecting printer administration information
US6330611B1 (en) Client peripheral device-based network resource management method and system
US7106469B2 (en) Variable data printing with web based imaging
US7180615B2 (en) One click printing in a web browser
US6943903B2 (en) System and method for providing print preview/media selection
US20040205493A1 (en) Web based imaging application that creates customized content based on user selections
US20050278421A1 (en) Method for web-based imaging service to redirect to a preferred destination based on a criteria
US20030033432A1 (en) Web based imaging service that converts web pages into content on behalf of another web site
US6631010B1 (en) Web-based imaging system utilizing “cookies” to provide a single-action printing option
US6633913B1 (en) Scan system and method for scanning images to an online web page
US6900905B2 (en) Method for accessing imaging information on a demand basis using web based imaging
EP0872792A2 (en) Network communication with printing systems
JP2002204326A (en) Image printing system and its method
JP2001236196A (en) Method and system for presenting job to copying center
US20030115247A1 (en) Client configurable initial web-based imaging system
US7062752B2 (en) Method, system and program product for multi-profile operations and expansive profile operation
US6944868B2 (en) Imaging extension API for isolating web content from user resources and services
US7006243B2 (en) Web-based imaging system providing means of accessing content individually
US7196803B1 (en) System and method for printing to a printer without the use of a print driver
US7158247B2 (en) System and method for determining the time required to complete a print job
US7656545B1 (en) System and method for dynamically providing printing status
US20030038839A1 (en) Method for web-based imaging service to redirect to a preferred destination
US20030120768A1 (en) Method for obtaining status of web-based imaging originated processes

Legal Events

Date Code Title Description
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1044833

Country of ref document: HK

732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20120329 AND 20120404

PCNP Patent ceased through non-payment of renewal fee

Effective date: 20121108