US20030172128A1 - Dynamic asynchronous results - Google Patents

Dynamic asynchronous results Download PDF

Info

Publication number
US20030172128A1
US20030172128A1 US10/091,329 US9132902A US2003172128A1 US 20030172128 A1 US20030172128 A1 US 20030172128A1 US 9132902 A US9132902 A US 9132902A US 2003172128 A1 US2003172128 A1 US 2003172128A1
Authority
US
United States
Prior art keywords
application
page
client
server
status
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.)
Abandoned
Application number
US10/091,329
Inventor
Paul Bloomquist
John Hurlimann
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Priority to US10/091,329 priority Critical patent/US20030172128A1/en
Assigned to INTEL CORPORATION reassignment INTEL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HURLIMANN, JOHN P., BLOOMQUIST, PAUL T.
Publication of US20030172128A1 publication Critical patent/US20030172128A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • 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/957Browsing optimisation, e.g. caching or content distillation

Definitions

  • An embodiment of the invention relates generally to a computer network and more particularly to reporting the results of an operation and status of an object in a network.
  • Some information at a server may change over time.
  • a printer attached to a server may change states throughout the day, for example going between states of powered down, toner low, out of paper, paper jam, busy, and available.
  • a user at a client may wish to know the current state of the printer and also what states it has been in the past.
  • Some systems require the user to move to a separate application to query for state information.
  • FIG. 1 depicts a block diagram of a system for implementing an embodiment of the invention.
  • FIG. 2 depicts a block diagram of an example user interface for asynchronous results, according to an embodiment of the invention.
  • FIG. 3 depicts a flowchart of example processing for asynchronous results, according to an embodiment of the invention.
  • FIG. 4 depicts a block diagram of an example user interface for dynamic object status, according to an embodiment of the invention.
  • FIG. 5 depicts a flowchart of example processing for dynamic object status, according to an embodiment of the invention.
  • FIG. 6 depicts a block diagram of an example user interface for dynamic history scroll, according to an embodiment of the invention.
  • FIG. 7 depicts a flowchart of example processing for dynamic history scroll, according to an embodiment of the invention.
  • FIG. 1 depicts a block diagram of a system 100 for implementing an embodiment of the invention.
  • the system 100 may include a client 110 connected to a server 115 via a network 120 .
  • the client 110 may include a processor 130 , an input device 135 , an output device 140 , and a storage device 145 , all connected via a bus 150 .
  • the processor 130 may represent a central processing unit of any type of architecture, such as a CISC (Complex Instruction Set Computing), RISC (Reduced Instruction Set Computing), VLIW (Very Long Instruction Word), or a hybrid architecture, although any appropriate processor may be used.
  • the processor 130 may execute instructions and may include that portion of the client 110 that controls the operation of the entire electronic device.
  • the processor 130 typically includes a control unit that organizes data and program storage in memory and transfers data and other information between the various parts of the client 110 .
  • the processor 130 may not be present, and the client 110 may be implemented with hardware in lieu of a processor-based system.
  • the input device 135 may accept input from a user.
  • the input device 135 may be a keyboard, but in other embodiments, the input device 135 may be a pointing device, mouse, trackball, keypad, touch-pad, touch screen, pointing stick, microphone, or any other appropriate input device.
  • the input device 135 may be a keyboard, but in other embodiments, the input device 135 may be a pointing device, mouse, trackball, keypad, touch-pad, touch screen, pointing stick, microphone, or any other appropriate input device.
  • any number of input devices of the same or of a variety of types may be present.
  • the output device 140 may communicate information to the user of the client 110 .
  • the output device 140 may be a cathode-ray tube (CRT) based video display well known in the art of computer hardware. But, in other embodiments the output device 140 may be replaced with a liquid crystal display (LCD) based or gas, plasma-based, flat-panel display. In still other embodiments, any appropriate display device may be used. In yet other embodiments, a speaker that produces audio output may be used. Although only one output device 140 is shown, in other embodiments, any number of output devices of different types or of the same type may be present.
  • CTR cathode-ray tube
  • the storage device 145 may represent one or more mechanisms for storing data.
  • the storage device 145 may include read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, and/or other machine-readable media.
  • ROM read only memory
  • RAM random access memory
  • magnetic disk storage media magnetic disk storage media
  • optical storage media magnetic tape
  • flash memory devices any appropriate type of storage device may be used.
  • any appropriate type of storage device may be used.
  • only one storage device 145 is shown, multiple storage devices and multiple types of storage devices may be present.
  • the client 110 is drawn to contain the storage device 145 , it may be distributed across other electronic devices.
  • the storage device 145 may include a browser 155 and a downloaded page 160 .
  • the storage device 145 may also contain additional software and data (not shown), which are not necessary to understanding an embodiment of the invention.
  • the client 110 may download the page 160 from the server 115 , and the browser 155 may interpret data and control and/or formatting information within the page to display information on the output device 140 . Examples of the displayed information are shown in FIGS. 2, 4, and 6 , as further described below.
  • the browser 155 may contain instructions for execution on the processor 130 to perform functions as further described below with reference to FIGS. 3, 5, and 7 .
  • the page 160 may include a client application 165 , a script application 170 , and objects 172 .
  • the client application 165 may be an applet, although in other embodiments any appropriate application may be used.
  • the script application 170 may be a Javascript application, but in other embodiments any appropriate application may be used.
  • the objects 172 may have a status that is capable of being monitored and displayed as further described below with respect to FIGS. 2 - 7 .
  • the client application 165 , the script application 170 , and the objects 172 are shown included or embedded within the page 160 , in another embodiment one or more of them may be external to the page 160 and referenced-from or linked-to by the page 160 .
  • the client application 165 and the script application 170 contain instructions for execution on the processor 130 .
  • one or both of the client application 165 and the script application 170 may contain control information and data that are interpreted by the browser 155 .
  • the operations of the client application 165 and the script application 170 are further described below with reference to FIGS. 3, 5, and 7 .
  • the bus 150 may represent one or more busses, e.g., PCI (Peripheral Component Interconnect), ISA (Industry Standard Architecture), X-Bus, EISA (Extended Industry Standard Architecture), or any other appropriate bus and/or bridge (also called a bus controller).
  • PCI Peripheral Component Interconnect
  • ISA Industry Standard Architecture
  • X-Bus X-Bus
  • EISA Extended Industry Standard Architecture
  • the client 110 is shown to contain only a single processor 130 and a single bus 150 , another embodiment of the invention applies equally to electronic devices that may have multiple processors and to electronic devices that may have multiple buses with some or all performing different functions in different ways. Although only one client 110 is shown, in another embodiment any number of clients may be present.
  • the client 110 may be implemented using any suitable hardware and/or software, such as a personal computer or other appropriate electronic device.
  • Portable electronic devices laptop or notebook computers, PDAs (Personal Digital Assistants), two-way alphanumeric pagers, portable telephones, pocket computers, network appliances, minicomputers, and mainframe computers are examples of other possible configurations of the client 110 .
  • the server 115 may include a server application 175 .
  • the operations of the server application 175 are further described below with reference to FIGS. 3, 5, and 7 .
  • the server 115 may be implemented using any suitable hardware and/or software, such as a personal computer or other appropriate electronic device. Portable electronic devices, laptop or notebook computers, minicomputers, and mainframe computers are examples of other possible configurations of the server 115 .
  • the server 115 may include a processor and memory (not shown), analogous to the processor 130 and the storage device 145 . Although only one server 115 is shown, in another embodiment any number of servers may be present.
  • the network 120 may be any suitable network and may support any appropriate protocol suitable for communication between the client 110 and the server 115 .
  • the network 120 may support wireless communications.
  • the network 120 may support hard-wired communications, such as a telephone line or cable.
  • the network 120 may support the Ethernet IEEE (Institute of Electrical and Electronics Engineers) 802.3x specification.
  • the network 120 may be the Internet and may support IP (Internet Protocol) RFC (Request for Comments) 791 .
  • the network 120 may be a local area network (LAN) or a wide area network (WAN).
  • the network 120 may be a hotspot service provider network.
  • the network 120 may be an intranet.
  • the network 120 may be a GPRS (General Packet Radio Service) network.
  • the network 120 may be any appropriate cellular data network or cell-based radio network technology.
  • the network 120 may be an IEEE 802.11B wireless network.
  • the network 120 may be any suitable network or combination of networks. Although one network 120 is shown, in other embodiments any number of networks (of the same or different types) may be present.
  • the hardware and software depicted in FIG. 1 may vary for specific applications and may include more or fewer elements than those depicted.
  • peripheral devices such as audio adapters, or chip programming devices, such as EPROM (Erasable Programmable Read-Only Memory) programming devices may be used in addition to or in place of the hardware already depicted.
  • EPROM Erasable Programmable Read-Only Memory
  • aspects of an embodiment pertain to specific apparatus and method elements implementable on an electronic device.
  • the invention may be implemented as a program product for use with an electronic device.
  • the programs defining the functions of this embodiment may be delivered to an electronic device via a variety of signal-bearing media, which include, but are not limited to:
  • a non-rewriteable storage medium e.g., read-only memory devices attached to or within an electronic device, such as a CD-ROM readable by a CD-ROM drive
  • a non-rewriteable storage medium e.g., read-only memory devices attached to or within an electronic device, such as a CD-ROM readable by a CD-ROM drive
  • Such signal-bearing media when carrying machine-readable instructions that direct the functions of an embodiment of the present invention, represent embodiments of the present invention.
  • FIG. 2 depicts a block diagram of an example user interface 200 for asynchronous results, according to an embodiment of the invention.
  • the user interface 200 is shown displayed on a display device, such as the output device 140 .
  • the browser 155 may download, read, and interpret the page 160 using the client application 165 to create the user interface 200 as further described below with reference to FIG. 3.
  • the user interface 200 may include available devices 205 , status 210 , a services button 215 , and a result frame 220 .
  • the user may select an operation via the services button 215 , such as powering on a device in the available devices 205 .
  • the client 110 then sends a request, which identifies the selected operation, to the server 115 .
  • the client 110 displays the status of the operation in the result frame 220 , which in this example is “Device A is warming up.”
  • FIG. 2 illustrates the example of operations performed to devices, any appropriate objects and operations with respect to those objects may be used.
  • FIG. 3 depicts a flowchart of example processing for asynchronous results, according to an embodiment of the invention.
  • Control begins at block 300 .
  • Control then continues to block 305 where the browser 155 reads, interprets, and displays the page 160 on the output device 140 .
  • the user selects an operation from the page 160 to perform, and the browser 155 sends the selected operation to the server 115 .
  • the server application 175 receives the selected operation, verifies that the operation is valid, and builds a result page.
  • the server application 175 returns the result page to the client 110 , indicating that the operation successfully started.
  • the browser 155 receives and displays the result page.
  • the server application 175 starts the requested operation running asynchronously to the returning of the result page previously described above with respect to block 315 .
  • the operation continues running in a background thread or a separate process.
  • the server application 175 stores the progress of the operation in a result queue.
  • the browser 155 executes the client application 165 associated with the page, which may poll the server 115 for the available results of the operation.
  • the server application 175 may return the results to the client application 165 in response to the poll. In another embodiment, the server application 175 may return the results to the client application 165 via a push operation.
  • the browser 155 executes the client application 165 to display the results of the operation, for example by updating the content of the result frame 220 .
  • Blocks 330 , 335 , 340 , 345 , and 350 repeat to continually update the result frame 220 .
  • blocks 335 , 340 , 345 , and 350 are executed to display the final status in the result frame 220 . Control then continues to block 399 where the function returns.
  • FIG. 4 depicts a block diagram of an example user interface 400 for dynamic object status, according to an embodiment of the invention.
  • the user interface 400 is shown displayed on a display device, such as the output device 140 .
  • the browser 155 downloads, reads, and interprets the page 160 to create the user interface 400 as further described below with reference to FIG. 5.
  • the user interface 400 may include available devices 410 and status 415 . As the status of the devices change, the status 415 of the devices is dynamically updated. Although FIG. 4 illustrates the example of the status of devices, any appropriate objects that have a status capable of being monitored may be used.
  • FIG. 5 depicts a flowchart of example processing for dynamic object status, according to an embodiment of the invention.
  • Control begins at block 500 .
  • Control then continues to block 505 where the user selects a page containing objects to monitor, and the browser sends a request for the page to the server.
  • Control then continues to block 510 where the server application 175 builds a page containing an initial status of the objects 172 .
  • Control then continues to block 515 where the server application 175 returns the page to the client 110 .
  • Control then continues to block 520 where the browser 155 reads, interprets, and displays the page 160 on the output device 140 , including the current status of the monitored objects 172 .
  • the object status changes at block 530 the object informs the server application 175 , which queues the object status changes at block 540 and returns the status changes to the client application 165 .
  • the client application 165 receives the status updates and looks up a method in the script application 170 to execute. At block 550 , the appropriate method in the script application 170 displays the updated status of the object in the displayed page. Control then continues to block 599 where the function returns.
  • FIG. 6 depicts a block diagram of an example user interface 600 for dynamic history scroll, according to an embodiment of the invention.
  • the user interface 600 is shown displayed on a display device, such as the output device 140 .
  • the browser 155 downloads, reads, and interprets the page 160 to create the user interface 600 as further described below with reference to FIG. 7.
  • User interface 600 may include available devices 610 , status 615 , and history 620 . As the status of the devices change, the status 615 is dynamically updated. The user may select a history function, which shows the history 620 of the status for the selected device. In the example shown, Device D 617 has a status history of out of paper, up, warming up, and down. Although FIG. 6 illustrates the example of the status of devices, any appropriate objects that have a status that may change over time may be used.
  • FIG. 7 depicts a flowchart of example processing for a dynamic history scroll, according to an embodiment of the invention.
  • Control begins at block 700 .
  • Control then continues to block 705 where the user selects a page 160 containing objects 172 to subscribe to for dynamic content.
  • the browser 155 loads the page 160 and the script application 170 , which informs the client application 165 of the objects 172 located on the page 160 and the script application method to run when the dynamic status of the objects 172 changes.
  • Control then continues to block 710 where the client application 165 receives the request for dynamic content.
  • the object informs the server application 175 that the status has changed, and the server application 175 queues the object status changes at block 740 .
  • the client application 165 polls the server 115 for available status changes, and the server application 175 returns the queued status changes.
  • the server application 175 may return the status changes to the client application 165 via a push operation in lieu of a poll. Control then continues to blocks 720 and 725 as previously described above.
  • the script application 170 updates the displayed status for the object to the value or values stored in the history cache. Control then continues to block 725 where the user sees the status updates. Control then continues to block 799 where the function returns.

Abstract

A method, apparatus, and signal-bearing medium for providing results of an operation asynchronously to a verification that the operation was successfully submitted, providing status of objects as the status changes dynamically, and providing a history of the status. In an embodiment, a page downloaded from a server to a client may provide applications to monitor the status of objects referenced by the page.

Description

    FIELD
  • An embodiment of the invention relates generally to a computer network and more particularly to reporting the results of an operation and status of an object in a network. [0001]
  • BACKGROUND
  • People increasingly use networks of computers because they wish to access and share information. Some networks follow a client/server model, where a user at a client computer wishes to access information at a server and request operations to be performed at the server. Some clients download pages from servers and display them. These pages may include information and operations that the user may request. The client then sends the requested operations to the server for execution, which sends results back to the client, which may be in the form of another page. [0002]
  • Some operations take a long time to complete, and the user is concerned about the status of the operation. To address these concerns, some systems allow the user to manually refresh a page to show status of the operation. Other systems programmatically refresh a page. Still other systems require users to navigate to a separate page and query for the status of their operations. [0003]
  • Some information at a server may change over time. For example, a printer attached to a server may change states throughout the day, for example going between states of powered down, toner low, out of paper, paper jam, busy, and available. A user at a client may wish to know the current state of the printer and also what states it has been in the past. Some systems require the user to move to a separate application to query for state information. [0004]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 depicts a block diagram of a system for implementing an embodiment of the invention. [0005]
  • FIG. 2 depicts a block diagram of an example user interface for asynchronous results, according to an embodiment of the invention. [0006]
  • FIG. 3 depicts a flowchart of example processing for asynchronous results, according to an embodiment of the invention. [0007]
  • FIG. 4 depicts a block diagram of an example user interface for dynamic object status, according to an embodiment of the invention. [0008]
  • FIG. 5 depicts a flowchart of example processing for dynamic object status, according to an embodiment of the invention. [0009]
  • FIG. 6 depicts a block diagram of an example user interface for dynamic history scroll, according to an embodiment of the invention. [0010]
  • FIG. 7 depicts a flowchart of example processing for dynamic history scroll, according to an embodiment of the invention.[0011]
  • DETAILED DESCRIPTION
  • FIG. 1 depicts a block diagram of a [0012] system 100 for implementing an embodiment of the invention. The system 100 may include a client 110 connected to a server 115 via a network 120. The client 110 may include a processor 130, an input device 135, an output device 140, and a storage device 145, all connected via a bus 150.
  • The [0013] processor 130 may represent a central processing unit of any type of architecture, such as a CISC (Complex Instruction Set Computing), RISC (Reduced Instruction Set Computing), VLIW (Very Long Instruction Word), or a hybrid architecture, although any appropriate processor may be used. The processor 130 may execute instructions and may include that portion of the client 110 that controls the operation of the entire electronic device. Although not depicted in FIG. 1, the processor 130 typically includes a control unit that organizes data and program storage in memory and transfers data and other information between the various parts of the client 110. In another embodiment, the processor 130 may not be present, and the client 110 may be implemented with hardware in lieu of a processor-based system.
  • The [0014] input device 135 may accept input from a user. In an embodiment, the input device 135 may be a keyboard, but in other embodiments, the input device 135 may be a pointing device, mouse, trackball, keypad, touch-pad, touch screen, pointing stick, microphone, or any other appropriate input device. Although only one input device 135 is shown, in other embodiments any number of input devices of the same or of a variety of types may be present.
  • The [0015] output device 140 may communicate information to the user of the client 110. The output device 140 may be a cathode-ray tube (CRT) based video display well known in the art of computer hardware. But, in other embodiments the output device 140 may be replaced with a liquid crystal display (LCD) based or gas, plasma-based, flat-panel display. In still other embodiments, any appropriate display device may be used. In yet other embodiments, a speaker that produces audio output may be used. Although only one output device 140 is shown, in other embodiments, any number of output devices of different types or of the same type may be present.
  • The [0016] storage device 145 may represent one or more mechanisms for storing data. For example, the storage device 145 may include read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, and/or other machine-readable media. In other embodiments, any appropriate type of storage device may be used. Although only one storage device 145 is shown, multiple storage devices and multiple types of storage devices may be present. Further, although the client 110 is drawn to contain the storage device 145, it may be distributed across other electronic devices.
  • The [0017] storage device 145 may include a browser 155 and a downloaded page 160. Of course, the storage device 145 may also contain additional software and data (not shown), which are not necessary to understanding an embodiment of the invention. The client 110 may download the page 160 from the server 115, and the browser 155 may interpret data and control and/or formatting information within the page to display information on the output device 140. Examples of the displayed information are shown in FIGS. 2, 4, and 6, as further described below. The browser 155 may contain instructions for execution on the processor 130 to perform functions as further described below with reference to FIGS. 3, 5, and 7.
  • The [0018] page 160 may include a client application 165, a script application 170, and objects 172. In an embodiment the client application 165 may be an applet, although in other embodiments any appropriate application may be used. In an embodiment the script application 170 may be a Javascript application, but in other embodiments any appropriate application may be used. The objects 172 may have a status that is capable of being monitored and displayed as further described below with respect to FIGS. 2-7.
  • Although the [0019] client application 165, the script application 170, and the objects 172 are shown included or embedded within the page 160, in another embodiment one or more of them may be external to the page 160 and referenced-from or linked-to by the page 160. In an embodiment, the client application 165 and the script application 170 contain instructions for execution on the processor 130. In another embodiment, one or both of the client application 165 and the script application 170 may contain control information and data that are interpreted by the browser 155. The operations of the client application 165 and the script application 170 are further described below with reference to FIGS. 3, 5, and 7.
  • The [0020] bus 150 may represent one or more busses, e.g., PCI (Peripheral Component Interconnect), ISA (Industry Standard Architecture), X-Bus, EISA (Extended Industry Standard Architecture), or any other appropriate bus and/or bridge (also called a bus controller).
  • Although the [0021] client 110 is shown to contain only a single processor 130 and a single bus 150, another embodiment of the invention applies equally to electronic devices that may have multiple processors and to electronic devices that may have multiple buses with some or all performing different functions in different ways. Although only one client 110 is shown, in another embodiment any number of clients may be present.
  • The [0022] client 110 may be implemented using any suitable hardware and/or software, such as a personal computer or other appropriate electronic device. Portable electronic devices, laptop or notebook computers, PDAs (Personal Digital Assistants), two-way alphanumeric pagers, portable telephones, pocket computers, network appliances, minicomputers, and mainframe computers are examples of other possible configurations of the client 110.
  • The [0023] server 115 may include a server application 175. The operations of the server application 175 are further described below with reference to FIGS. 3, 5, and 7. The server 115 may be implemented using any suitable hardware and/or software, such as a personal computer or other appropriate electronic device. Portable electronic devices, laptop or notebook computers, minicomputers, and mainframe computers are examples of other possible configurations of the server 115. The server 115 may include a processor and memory (not shown), analogous to the processor 130 and the storage device 145. Although only one server 115 is shown, in another embodiment any number of servers may be present.
  • The [0024] network 120 may be any suitable network and may support any appropriate protocol suitable for communication between the client 110 and the server 115. In an embodiment, the network 120 may support wireless communications. In another embodiment, the network 120 may support hard-wired communications, such as a telephone line or cable. In another embodiment, the network 120 may support the Ethernet IEEE (Institute of Electrical and Electronics Engineers) 802.3x specification. In another embodiment, the network 120 may be the Internet and may support IP (Internet Protocol) RFC (Request for Comments) 791. In another embodiment, the network 120 may be a local area network (LAN) or a wide area network (WAN). In another embodiment, the network 120 may be a hotspot service provider network. In another embodiment, the network 120 may be an intranet. In another embodiment, the network 120 may be a GPRS (General Packet Radio Service) network. In another embodiment, the network 120 may be any appropriate cellular data network or cell-based radio network technology. In another embodiment, the network 120 may be an IEEE 802.11B wireless network. In still another embodiment, the network 120 may be any suitable network or combination of networks. Although one network 120 is shown, in other embodiments any number of networks (of the same or different types) may be present.
  • The hardware and software depicted in FIG. 1 may vary for specific applications and may include more or fewer elements than those depicted. For example, other peripheral devices such as audio adapters, or chip programming devices, such as EPROM (Erasable Programmable Read-Only Memory) programming devices may be used in addition to or in place of the hardware already depicted. [0025]
  • As will be described in detail below, aspects of an embodiment pertain to specific apparatus and method elements implementable on an electronic device. In another embodiment, the invention may be implemented as a program product for use with an electronic device. The programs defining the functions of this embodiment may be delivered to an electronic device via a variety of signal-bearing media, which include, but are not limited to: [0026]
  • (1) information permanently stored on a non-rewriteable storage medium (e.g., read-only memory devices attached to or within an electronic device, such as a CD-ROM readable by a CD-ROM drive); [0027]
  • (2) alterable information stored on a rewriteable storage medium (e.g., a hard disk drive or diskette); or [0028]
  • (3) information conveyed to an electronic device by a communications medium, such as through a network, including wireless communications. [0029]
  • Such signal-bearing media, when carrying machine-readable instructions that direct the functions of an embodiment of the present invention, represent embodiments of the present invention. [0030]
  • FIG. 2 depicts a block diagram of an [0031] example user interface 200 for asynchronous results, according to an embodiment of the invention. The user interface 200 is shown displayed on a display device, such as the output device 140. The browser 155 may download, read, and interpret the page 160 using the client application 165 to create the user interface 200 as further described below with reference to FIG. 3. The user interface 200 may include available devices 205, status 210, a services button 215, and a result frame 220. The user may select an operation via the services button 215, such as powering on a device in the available devices 205. The client 110 then sends a request, which identifies the selected operation, to the server 115. As the server 115 performs the operation, the client 110 displays the status of the operation in the result frame 220, which in this example is “Device A is warming up.” Although FIG. 2 illustrates the example of operations performed to devices, any appropriate objects and operations with respect to those objects may be used.
  • FIG. 3 depicts a flowchart of example processing for asynchronous results, according to an embodiment of the invention. Control begins at [0032] block 300. Control then continues to block 305 where the browser 155 reads, interprets, and displays the page 160 on the output device 140. The user selects an operation from the page 160 to perform, and the browser 155 sends the selected operation to the server 115. At block 310, the server application 175 receives the selected operation, verifies that the operation is valid, and builds a result page. At block 315, the server application 175 returns the result page to the client 110, indicating that the operation successfully started. At block 320, the browser 155 receives and displays the result page. At block 325, the server application 175 starts the requested operation running asynchronously to the returning of the result page previously described above with respect to block 315. At block 330, the operation continues running in a background thread or a separate process. At block 335, the server application 175 stores the progress of the operation in a result queue. At block 340, the browser 155 executes the client application 165 associated with the page, which may poll the server 115 for the available results of the operation. At block 345, the server application 175 may return the results to the client application 165 in response to the poll. In another embodiment, the server application 175 may return the results to the client application 165 via a push operation. At block 350, the browser 155 executes the client application 165 to display the results of the operation, for example by updating the content of the result frame 220. Blocks 330, 335, 340, 345, and 350 repeat to continually update the result frame 220. When the operation completes at block 355, blocks 335, 340, 345, and 350 are executed to display the final status in the result frame 220. Control then continues to block 399 where the function returns.
  • FIG. 4 depicts a block diagram of an [0033] example user interface 400 for dynamic object status, according to an embodiment of the invention. The user interface 400 is shown displayed on a display device, such as the output device 140. The browser 155 downloads, reads, and interprets the page 160 to create the user interface 400 as further described below with reference to FIG. 5.
  • The [0034] user interface 400 may include available devices 410 and status 415. As the status of the devices change, the status 415 of the devices is dynamically updated. Although FIG. 4 illustrates the example of the status of devices, any appropriate objects that have a status capable of being monitored may be used.
  • FIG. 5 depicts a flowchart of example processing for dynamic object status, according to an embodiment of the invention. Control begins at [0035] block 500. Control then continues to block 505 where the user selects a page containing objects to monitor, and the browser sends a request for the page to the server. Control then continues to block 510 where the server application 175 builds a page containing an initial status of the objects 172. Control then continues to block 515 where the server application 175 returns the page to the client 110. Control then continues to block 520 where the browser 155 reads, interprets, and displays the page 160 on the output device 140, including the current status of the monitored objects 172. Control then continues to block 525 where the browser 155 executes the script application 170, which informs the client application 165 of the objects 172 in the page 160 to monitor. Control then continues to block 535 where the client application 165 polls the server 115 for a status update. In another embodiment, a status update may be returned to the client application 165 via a push operation in lieu of a poll. When the object status changes at block 530, the object informs the server application 175, which queues the object status changes at block 540 and returns the status changes to the client application 165. At block 545, the client application 165 receives the status updates and looks up a method in the script application 170 to execute. At block 550, the appropriate method in the script application 170 displays the updated status of the object in the displayed page. Control then continues to block 599 where the function returns.
  • FIG. 6 depicts a block diagram of an [0036] example user interface 600 for dynamic history scroll, according to an embodiment of the invention. The user interface 600 is shown displayed on a display device, such as the output device 140. The browser 155 downloads, reads, and interprets the page 160 to create the user interface 600 as further described below with reference to FIG. 7.
  • [0037] User interface 600 may include available devices 610, status 615, and history 620. As the status of the devices change, the status 615 is dynamically updated. The user may select a history function, which shows the history 620 of the status for the selected device. In the example shown, Device D 617 has a status history of out of paper, up, warming up, and down. Although FIG. 6 illustrates the example of the status of devices, any appropriate objects that have a status that may change over time may be used.
  • FIG. 7 depicts a flowchart of example processing for a dynamic history scroll, according to an embodiment of the invention. Control begins at [0038] block 700. Control then continues to block 705 where the user selects a page 160 containing objects 172 to subscribe to for dynamic content. The browser 155 loads the page 160 and the script application 170, which informs the client application 165 of the objects 172 located on the page 160 and the script application method to run when the dynamic status of the objects 172 changes. Control then continues to block 710 where the client application 165 receives the request for dynamic content. Control then continues to block 715 where the client application 165 fetches the status history from a locally-stored cache, looks up methods to invoke to update the page with the current status, and invokes the methods for each object retrieved from the cache. Control then continues to block 720 where the script application 170 updates the displayed status for each object that has changed and stores the history values for future use. Control then continues to block 725 where the user sees the status update in the browser.
  • When the object status changes at [0039] block 730, the object informs the server application 175 that the status has changed, and the server application 175 queues the object status changes at block 740. At block 735, the client application 165 polls the server 115 for available status changes, and the server application 175 returns the queued status changes. In another embodiment, the server application 175 may return the status changes to the client application 165 via a push operation in lieu of a poll. Control then continues to blocks 720 and 725 as previously described above. When the user requests to see the history at block 745, the script application 170 updates the displayed status for the object to the value or values stored in the history cache. Control then continues to block 725 where the user sees the status updates. Control then continues to block 799 where the function returns.
  • In the previous detailed description of exemplary embodiments of the invention; reference was made to the accompanying drawings (where like numbers represent like elements), which form a part hereof, and in which was shown by way of illustration specific exemplary embodiments in which the invention may be practiced. These embodiments were described in sufficient detail to enable those skilled in the art to practice embodiments of the invention, but other embodiments may be utilized and logical, mechanical, electrical, and other changes may be made without departing from the scope of the present invention. The previous detailed description is, therefore, not to be taken in a limiting sense, and the scope of embodiments of the present invention is defined only by the appended claims. [0040]
  • Numerous specific details were set forth to provide a thorough understanding of embodiments of the invention. However, embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure embodiments of the invention. [0041]

Claims (20)

What is claimed is:
1. A method comprising:
sending a request for an operation selected from a page to a server, wherein the page is displayed by a browser interpreting data and control information in the page;
receiving a verification that the request for the operation was received;
executing an application identified by the page to poll the server for a result of the operation; and
receiving the result of the operation.
2. The method of claim 1, further comprising:
displaying the result of the operation in the page.
3. The method of claim 1, wherein executing the application further comprises:
interpreting the application to poll the server for the result of the operation, wherein the page comprises a link to the application.
4. The method of claim 1, wherein executing the application further comprises:
interpreting the application to poll the server for the result of the operation, wherein the application is embedded in the page.
5. A method comprising:
sending a page to a client, wherein the page comprises displayable data, formatting information, an identification of an operation, and an identification of a polling application;
receiving a request for the operation from the client;
sending a verification to the client that the request was received;
starting the operation executing;
queuing a result of the operation; and
returning the result to the client in response to a poll from the polling application.
6. The method of claim 5, wherein sending the page to the client further comprises:
embedding the polling application in the page.
7. The method of claim 5, wherein sending the page to the client further comprises:
adding a link to the polling application in the page.
8. The method of claim 5, where the starting the operation executing further comprises:
starting the operation executing asynchronously to sending the verification.
9. A signal-bearing medium bearing a page comprising:
an object;
a client application to poll a server for a status of the object; and
a script application to detect the object in the page, inform the client application of the object, and display the status.
10. The signal-bearing medium of claim 9, wherein the client application and the script application are interpreted by a browser.
11. The signal-bearing medium of claim 9, wherein the client application is further to receive the status from the server and find a method in the script application associated with the object to execute.
12. A server comprising:
a processor; and
memory coupled to the processor, wherein the memory comprises a server application to build a page comprising an object, control information, and an initial status of the object, send the page to a client, queue a change in the status, and send the change to the client.
13. The server of claim 12, wherein the server application is further to build the page comprising a client application to perform a poll and wherein the server application is to send the change to the client in response to the poll.
14. The server of claim 13, wherein the server application is further to build the page comprising a script application to find the object in the page and inform the client application of the object.
15. A signal-bearing medium bearing a page comprising:
an object;
a client application to fetch a history of status of the object; and
a script application to detect the object and inform the client application of the object.
16. The signal-bearing medium of claim 15 wherein the client application is further to poll a server for an update of the status.
17. The signal-bearing medium of claim 15, wherein the script application is further to store the history.
18. The signal-bearing medium of claim 17, wherein the script application is further to display the history.
19. The signal-bearing medium of claim 15, wherein the script application is further to inform the client application of a method to execute when the status changes.
20. The signal-bearing medium of claim 15, wherein the client application is further to subscribe to dynamic content of the object.
US10/091,329 2002-03-05 2002-03-05 Dynamic asynchronous results Abandoned US20030172128A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/091,329 US20030172128A1 (en) 2002-03-05 2002-03-05 Dynamic asynchronous results

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/091,329 US20030172128A1 (en) 2002-03-05 2002-03-05 Dynamic asynchronous results

Publications (1)

Publication Number Publication Date
US20030172128A1 true US20030172128A1 (en) 2003-09-11

Family

ID=29547985

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/091,329 Abandoned US20030172128A1 (en) 2002-03-05 2002-03-05 Dynamic asynchronous results

Country Status (1)

Country Link
US (1) US20030172128A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090293073A1 (en) * 2008-05-20 2009-11-26 Microsoft Corporation Automating asynchronous programming in single threaded systems
US20230009108A1 (en) * 2021-07-09 2023-01-12 Dell Products L.P. System and Method for Browser Based Polling

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732212A (en) * 1992-10-23 1998-03-24 Fox Network Systems, Inc. System and method for remote monitoring and operation of personal computers
US6032184A (en) * 1995-12-29 2000-02-29 Mci Worldcom, Inc. Integrated interface for Web based customer care and trouble management
US6226659B1 (en) * 1996-09-16 2001-05-01 Oracle Corporation Method and apparatus for processing reports
US6240459B1 (en) * 1997-04-15 2001-05-29 Cddb, Inc. Network delivery of interactive entertainment synchronized to playback of audio recordings
US20010018701A1 (en) * 1998-06-12 2001-08-30 Livecchi Patrick Michael Performance enhancements for threaded servers
US6308205B1 (en) * 1998-10-22 2001-10-23 Canon Kabushiki Kaisha Browser-based network management allowing administrators to use web browser on user's workstation to view and update configuration of network devices
US6327608B1 (en) * 1998-09-25 2001-12-04 Microsoft Corporation Server administration tool using remote file browser
US20020042830A1 (en) * 2000-03-31 2002-04-11 Subhra Bose System, method and applications real-time messaging over HTTP-based protocols
US6393475B1 (en) * 1997-07-28 2002-05-21 Nortel Networks Limited Method of performing a network management transaction using a web-capable agent
US20020075297A1 (en) * 2000-12-11 2002-06-20 Brendan Boulter Methods and apparatus for updating information in a display containing fixed and variable information
US6442602B1 (en) * 1999-06-14 2002-08-27 Web And Net Computing System and method for dynamic creation and management of virtual subdomain addresses
US6487590B1 (en) * 1998-10-30 2002-11-26 Lucent Technologies Inc. Method for controlling a network element from a remote workstation
US20020178232A1 (en) * 1997-12-10 2002-11-28 Xavier Ferguson Method of background downloading of information from a computer network
US6651087B1 (en) * 1999-01-28 2003-11-18 Bellsouth Intellectual Property Corporation Method and system for publishing an electronic file attached to an electronic mail message
US6691176B1 (en) * 1999-11-04 2004-02-10 Microsoft Corporation Method for managing client services across browser pages
US6701357B1 (en) * 2000-04-19 2004-03-02 Toshiba America Information Systems, Inc. Server appliance
US6742059B1 (en) * 2000-02-04 2004-05-25 Emc Corporation Primary and secondary management commands for a peripheral connected to multiple agents
US6754693B1 (en) * 1996-05-07 2004-06-22 Cisco Technology, Inc. Method and apparatus to allow users and representatives to conduct simultaneous voice and joint browsing sessions
US6771744B1 (en) * 2002-03-21 2004-08-03 Bellsouth Intellectual Property Corporation Methods and systems for data collection and processing in association with service performed in a telecommunications system
US6799213B1 (en) * 2000-08-31 2004-09-28 Sprint Communications Company, L.P. System and method for performing interactive server load testing through use of one or more virtual users being configured as a server client capable of transmitting one or more server test actions
US6859834B1 (en) * 1999-08-13 2005-02-22 Sun Microsystems, Inc. System and method for enabling application server request failover
US6879995B1 (en) * 1999-08-13 2005-04-12 Sun Microsystems, Inc. Application server message logging
US6901582B1 (en) * 1999-11-24 2005-05-31 Quest Software, Inc. Monitoring system for monitoring the performance of an application

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732212A (en) * 1992-10-23 1998-03-24 Fox Network Systems, Inc. System and method for remote monitoring and operation of personal computers
US6032184A (en) * 1995-12-29 2000-02-29 Mci Worldcom, Inc. Integrated interface for Web based customer care and trouble management
US6754693B1 (en) * 1996-05-07 2004-06-22 Cisco Technology, Inc. Method and apparatus to allow users and representatives to conduct simultaneous voice and joint browsing sessions
US6226659B1 (en) * 1996-09-16 2001-05-01 Oracle Corporation Method and apparatus for processing reports
US6240459B1 (en) * 1997-04-15 2001-05-29 Cddb, Inc. Network delivery of interactive entertainment synchronized to playback of audio recordings
US6330593B1 (en) * 1997-04-15 2001-12-11 Cddb Inc. System for collecting use data related to playback of recordings
US6393475B1 (en) * 1997-07-28 2002-05-21 Nortel Networks Limited Method of performing a network management transaction using a web-capable agent
US20020178232A1 (en) * 1997-12-10 2002-11-28 Xavier Ferguson Method of background downloading of information from a computer network
US20010018701A1 (en) * 1998-06-12 2001-08-30 Livecchi Patrick Michael Performance enhancements for threaded servers
US6327608B1 (en) * 1998-09-25 2001-12-04 Microsoft Corporation Server administration tool using remote file browser
US6308205B1 (en) * 1998-10-22 2001-10-23 Canon Kabushiki Kaisha Browser-based network management allowing administrators to use web browser on user's workstation to view and update configuration of network devices
US6487590B1 (en) * 1998-10-30 2002-11-26 Lucent Technologies Inc. Method for controlling a network element from a remote workstation
US6651087B1 (en) * 1999-01-28 2003-11-18 Bellsouth Intellectual Property Corporation Method and system for publishing an electronic file attached to an electronic mail message
US6442602B1 (en) * 1999-06-14 2002-08-27 Web And Net Computing System and method for dynamic creation and management of virtual subdomain addresses
US6859834B1 (en) * 1999-08-13 2005-02-22 Sun Microsystems, Inc. System and method for enabling application server request failover
US6879995B1 (en) * 1999-08-13 2005-04-12 Sun Microsystems, Inc. Application server message logging
US6691176B1 (en) * 1999-11-04 2004-02-10 Microsoft Corporation Method for managing client services across browser pages
US6901582B1 (en) * 1999-11-24 2005-05-31 Quest Software, Inc. Monitoring system for monitoring the performance of an application
US6742059B1 (en) * 2000-02-04 2004-05-25 Emc Corporation Primary and secondary management commands for a peripheral connected to multiple agents
US20020042830A1 (en) * 2000-03-31 2002-04-11 Subhra Bose System, method and applications real-time messaging over HTTP-based protocols
US6701357B1 (en) * 2000-04-19 2004-03-02 Toshiba America Information Systems, Inc. Server appliance
US6799213B1 (en) * 2000-08-31 2004-09-28 Sprint Communications Company, L.P. System and method for performing interactive server load testing through use of one or more virtual users being configured as a server client capable of transmitting one or more server test actions
US20020075297A1 (en) * 2000-12-11 2002-06-20 Brendan Boulter Methods and apparatus for updating information in a display containing fixed and variable information
US6771744B1 (en) * 2002-03-21 2004-08-03 Bellsouth Intellectual Property Corporation Methods and systems for data collection and processing in association with service performed in a telecommunications system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090293073A1 (en) * 2008-05-20 2009-11-26 Microsoft Corporation Automating asynchronous programming in single threaded systems
US8849753B2 (en) 2008-05-20 2014-09-30 Microsoft Corporation Automating asynchronous programming in single threaded systems
US20230009108A1 (en) * 2021-07-09 2023-01-12 Dell Products L.P. System and Method for Browser Based Polling
US11836472B2 (en) * 2021-07-09 2023-12-05 Dell Products L.P. System and method for browser based polling

Similar Documents

Publication Publication Date Title
US11438293B2 (en) Title provisioning for event notification on a mobile device
US7076270B2 (en) Docking station for wireless communication device
EP2174234B1 (en) Widget discovery in computing devices
US6477576B2 (en) Methods, systems and computer program products for the automated discovery of a services menu
US20030191747A1 (en) Method, device and computer program product including a lightweight directory access protocal client
US6473006B1 (en) Method and apparatus for zoomed display of characters entered from a telephone keypad
US20140006487A1 (en) Methods for making ajax web applications bookmarkable and crawable and devices thereof
EP1826690A1 (en) Internet Access Apparatus and Method for Notifying of Web Page Update Using Same
US20130024549A1 (en) Method, system and computer program product for lightweight directory access protocol applications
CN113934958A (en) Page loading method and device, electronic equipment and computer readable medium
CN112612546A (en) Page loading method and device, electronic equipment and storage medium
CN111273830A (en) Data display method and device, electronic equipment and computer readable medium
US20040003346A1 (en) Omitting forwarder pages in a history list in a browser
US20030172128A1 (en) Dynamic asynchronous results
CN112416374B (en) Data processing method, device, terminal and storage medium
CN106612305B (en) Information pushing method and device
JP2005515568A (en) Pre-processing and preloading digital display pages in multi-page digital data files
JP3896055B2 (en) Dictionary registration system and terminal device thereof
JP2008242681A (en) Search service system, search server, search service method, and program for search service
JP2003241860A (en) Information processing device
US20040088335A1 (en) Method and system for ghosting a property during synchronization
CN113010064B (en) Information prompting method and device and electronic equipment
US20040267941A1 (en) Method, system and storage medium for providing services based on user preferences
CN107332756A (en) User Status processing method and processing device during a kind of video is social
CN117424868A (en) Information processing method, apparatus, electronic device and storage medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTEL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BLOOMQUIST, PAUL T.;HURLIMANN, JOHN P.;REEL/FRAME:012675/0422;SIGNING DATES FROM 20020228 TO 20020303

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION