WO2000020944A2 - An improved system architecture for information messaging - Google Patents

An improved system architecture for information messaging Download PDF

Info

Publication number
WO2000020944A2
WO2000020944A2 PCT/US1999/023111 US9923111W WO0020944A2 WO 2000020944 A2 WO2000020944 A2 WO 2000020944A2 US 9923111 W US9923111 W US 9923111W WO 0020944 A2 WO0020944 A2 WO 0020944A2
Authority
WO
WIPO (PCT)
Prior art keywords
information
agent
logical host
logical
host
Prior art date
Application number
PCT/US1999/023111
Other languages
French (fr)
Other versions
WO2000020944A9 (en
WO2000020944A3 (en
Inventor
Roland G. M. Sharman
Original Assignee
Premier Internet Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Premier Internet Corporation filed Critical Premier Internet Corporation
Priority to AU62876/99A priority Critical patent/AU6287699A/en
Publication of WO2000020944A2 publication Critical patent/WO2000020944A2/en
Publication of WO2000020944A9 publication Critical patent/WO2000020944A9/en
Publication of WO2000020944A3 publication Critical patent/WO2000020944A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the present invention relates to information messaging, particularly to an architecture for information messaging among homogeneous and heterogeneous systems.
  • the quest for information has been and will continue to be an essential component of evolution. Associated with the quest for more information is the quest for more efficient means of handling information.
  • Push is actually a conventional methodology that is being practiced by people daily, without realizing its existence.
  • An example of a physical push information system would be the delivering of newspapers to a reader's doorstep. When the reader wants to read the paper, she opens her door and grabs the paper. When she does not read the papers, they pile up and the reader probably throws them away a few days later. Although the information arrives in the form of a newspaper, it is being pushed at the reader all the same, and she makes the conscious decision to read or not to read it.
  • the server delivers the requested information to the user's desktop using intelligent agents to find, gather and collate information from the Web without the user having to do the searching.
  • the user is then forced to receive the information.
  • the information is periodically delivered to the user site regardless of whether the same information has already been delivered previously.
  • a client-server process is involved in the above mentioned push techniques.
  • Complementary software applications are run at both the user end and the remote server end to handle the request and delivery of information.
  • a Web server communicates with a Web browser at the user end to exchange information over the Internet.
  • any incompatibility between the server and the client software e.g., in the protocol or file format), would compromise the information transfer.
  • the present invention provides a new system architecture for information messaging among devices over any wired or wireless, homogeneous or heterogeneous communications network (including but not limited to computer networks and telecommunications networks), which is independent of the devices' operating protocols, configurations and/or system platform, if any.
  • the system architecture includes generally three components, a fixed point transmitter, a logical host and an information retrieving device.
  • the fixed point transmitter post new or updated information at the logical host, and the retrieving device communicates with the logical host to retrieve such information without the use of any application process at the logical host.
  • a stand-alone or self-contained messaging agent is deployed at the information retrieving device, which has functions including initiating "hand-shake" with a logical host and retrieve information from the logical host without the use of any application process at the logical host (i.e., the logical host is essentially a "passive" location relative to the retrieving device).
  • the information retrieving device is "pulling" or “drawing” information (e.g., in ASCII or binary format) maintained at the logical host.
  • the agent may be implemented as a "Java” or other write once, use anywhere application so that it can operate universally over heterogeneous networks independent of device operating protocols, configurations and/or system platforms (i.e., the agent is device independent).
  • the agent may be implemented in any type of device that has the capability of communicating with the logical host via wired or wireless networks.
  • total compatibility can be maintained between the retrieving device and the logical host with respect to the information file that is being transferred.
  • load is not put on the logical host when information is being simultaneously retrieved by multiple users, which reduces bandwidth requirements and minimizes the risk of system failures.
  • the agent polls the logical host for updated messages.
  • the agent retrieves the updated messages upon confirmation that they have been posted at the logical host.
  • the entire content of the updated information is not hosted at the logical host. Instead, an ASCII or binary file containing a short message concerning the availability of the updated information is posted for access by the retrieving device.
  • the user can decide to retrieve a complete file of the updated information from another source, which source may be referenced in the message.
  • the agent may be configured to periodically poll the logical host.
  • the agent may be deployed in a publishing application that is designed to facilitate a user in accessing files from a logical host, modifying the files, creating new files and make available (upload, post or publish) new or updated files at the logical host for other users to retrieve.
  • the user wants to modify a file retrieved from the logical host, she invokes the platform independent agent to retrieve the file.
  • GUI dynamic graphical user interface
  • the GUI allows the user to manipulate, change, process or otherwise configure the files via a Java application separate from the agent.
  • the characteristics of this publisher and file display method are that they are browser independent, HTML independent, platform independent, and provides WYSWYG functionality, consistent with the platform independent agent within the publishing application.
  • Information to be published to the logical host may be delivered using FTP via the Internet by means of this publisher having the GUI, independent of any server application.
  • the GUI allows for the user selection of font type, appearance, and size of text, and addition of images to the file.
  • the Java applet delivered by the publisher could display text and images, such as on the Web site, on the user's display device, on the intranet or within an extranet.
  • the agent may be configured to periodically poll one or more relevant logical hosts for new or updated information relating to the user's activities or interest.
  • the agent may be deployed in any device that has an ability to receive and display information (visually and/or audibly).
  • the agent may be installed in notebook computers, cellular telephones, personal digital assistant ("PDAs"), two-way pagers, set-top boxes, radio devices, etc.
  • PDAs personal digital assistant
  • two-way pagers two-way pagers
  • set-top boxes radio devices
  • the user may also select from one or more logical hosts relating to specific subject matter, e.g., news, entertainment, ski conditions, weather, traffic, etc.
  • the agent polls the logical hosts periodically for new information without user intervention.
  • an agent is associated with an application software product that is installed at a user's computer.
  • the agent periodically polls a designated logical host (e.g., another computer) maintained by the vendor of the software or a third party for new or updated information concerning the software (e.g., a message concerning software updates).
  • the agent may be configured to periodically poll the logical host, in a process transparent to the user, and only retrieves the message and alerts the user if a new message has been posted since the last polling.
  • the user may connect to a site at which the file of the actual software update resides to retrieve a complete copy of the software updates.
  • the information messaging concept of the present invention may be applied advantageously to other types of products, such as in connection with the sales of automobiles or electrical appliances.
  • a data storage medium a diskette or CD-ROM
  • product information e.g., owner's manual
  • a similar agent is provided to the purchaser along with the sale of a product.
  • the agent By installing the agent in the purchaser's home computer, for example, the agent will periodically poll the relevant logical host maintained by the product manufacturer or distributors to look for information about the purchased product (e.g., promotions, announcements, recall notices, etc.).
  • Fig. 1 is a schematic representation of the system architecture for information messaging in accordance with one embodiment of the present invention.
  • Fig. 2 is a schematic diagram illustrating the information flow between fixed points within the system architecture of Fig. 1.
  • Fig. 3 is a schematic representation of a computer network that can implement the system architecture of the present invention.
  • Fig. 4 is a schematic representation of a computer system that deploys the messaging agent of the present invention.
  • Fig. 5 is a schematic representation of the provision of the agent of the present invention in an application software.
  • Fig. 6 is a schematic representation of various applications of the agent of the present invention in various electronic devices.
  • Fig. 7 is a schematic diagram illustrating an application of information messaging in accordance with another embodiment of the present invention.
  • Fig. 8 is ⁇ a representation of the graphical user interface that is used to construct information to be maintained at the logical host.
  • a method is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. These steps require physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It proves convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
  • Useful devices for performing the operations of the present invention include, but is not limited to, general or specific purpose digital processing and/or computing devices, which devices may be standalone devices or part of a larger system.
  • the devices may be selectively activated or reconfigured by a program, routine and/or a sequence of instructions and/or logic stored in the devices.
  • use of the methods described and suggested herein is not limited to a particular processing configuration.
  • the present invention provides an improved system architecture for information messaging among devices over any wired or wireless, homogeneous or heterogeneous communications networks (including without limitation computer networks and telecommunications networks), which is independent of the devices' operating protocols, configuration and/or system platforms, if any (hereinafter collectively referred to as "device independent").
  • homogeneous or heterogeneous communications networks including without limitation computer networks and telecommunications networks
  • device independent independent of the devices' operating protocols, configuration and/or system platforms, if any
  • Fig. 1 depicts the system architecture 100 for information messaging in accordance with one embodiment of the present invention.
  • the fixed point transmitters 102 represent the definite domain of purveyors of information.
  • Each fixed point transmitter 102 is configured to access one or more logical hosts 104.
  • the fixed point transmitters 102 post new or updated information at the logical hosts 104.
  • the user device 106 incorporates a messaging agent that is configured to communicate with the designated or assigned logical hosts 104 that hosts information relevant to the user devices 106.
  • the agent is further configured to retrieve information posted at the logical hosts 104.
  • the logical hosts 104 are logical relay points for new or updated information to the user devices 106.
  • the user devices 106 may also have access to data source 108 external of the system architecture 100.
  • the messaging agent deployed at a user device 106 is a stand-alone or self-contained application, which has functions including initiating "hand-shake" with a logical host 104 and retrieving information from the logical host 104 without the use of any application process at the logical host 104.
  • a logical host 104 may be any device, or a data location, which, relative to the user device 106, holds (or host) information for access by the user device 106, without the need for an application process beyond the initial hand-shake process (i.e., the logical host is essentially a "passive" location relative to the user device 106).
  • the user device 106 is "pulling" or "drawing" information (e.g., in ASCII or binary format) maintained at the logical host 104.
  • the agent may be implemented as a "Java" or other write once, use anywhere application so that it can operate universally over heterogeneous networks independent of device operating protocols, configurations and/or system platforms (i.e., the agent is device independent). In the absence of an application process at the logical host 104, total compatibility can be maintained between the user device 106 and the logical host 104 with respect to the information file that is being transferred.
  • the agent may be implemented in any type of device that has the capability of communicating with the logical host 104 via wired or wireless networks.
  • the agent may be implemented in devices including without limitation computing devices, pagers, cellular telephones, personal digital assistants ("PDAs”), set-top boxes, radio devices, etc.
  • the hardware devices incorporating or representing the various functional components may be similar.
  • various components of the system architecture 100 are illustrated as separately identifiable components. It is understood that two or more of the components 102, 104 and 106 may be represented in the same physical unit, without departing from the scope and spirit of the present invention.
  • one or more logical hosts 104 and one or more of the fixed point transmitters 102 may be represented in the same physical device, and one or more of the fixed point transmitters 102 and one or more of the logical hosts 104 may be represented in the same physical device.
  • the physical device in which a particular user device 106 is represented could also represent a logical host 104, relative to such user device 106 and/or another user device 106, and/or logical host 104.
  • the device in which a particular fixed point transmitter 102 is represented could also represent a logical host 104 relative to such fixed point transmitter 102 and/or another fixed point transmitter 102, and/or user device 106.
  • the various components may share common system resources (e.g., hardware, firmware, software, data storage, input devices, output devices, etc.) while maintaining their separate logical identity and functions described herein.
  • the agent polls the logical host for updated messages.
  • the agent retrieves the updated messages upon confirmation that they have been posted at the logical host 104.
  • the entire content of the updated information is not hosted at the logical host 104. Instead, an ASCII or binary file containing a short message concerning the availability of the updated information is posted for access by the retrieving device.
  • the logical host in the absence of an application process component at the logical host 104, the logical host is not subjected to load when it is being accessed by multiple users simultaneously, which reduces bandwidth requirements and minimizes the risk of system failure.
  • the agent retrieves a copy of the new message. The user can then decide to retrieve a complete file of the updated information from the external data source 108, for example, which source may be referenced in the message.
  • the agent may be configured to periodically poll the logical host 104 without user intervention, and to pull only new or updated information that is posted at the logical host 104 since the last polling.
  • the fixed point transmitter 102 delivers to the logical host 104 new messages to be posted. Such posting may be facilitated with a publishing application including a GUI for manipulating the information to be posted. An example of this is described later.
  • the agent at the user device 106 polls the logical host 104 for the presence of new messages. Such polling includes a query made to the logical host for new messages after the initial handshake between the user device 106 and the logical host 104, and receiving a response to confirm whether that current message is new. The agent determines the presence of new messages by retrieving the byte size of the current message file and comparing such byte size to that of the message file that was last polled. A new message is determined to be present if the byte size changed.
  • the agent retrieves the timestamp of the current message file and compares such timestamp to that of the message file that was last polled. A new message is determined to be present if the timestamp is more current. If it is determined that the current message is not new, the agent becomes inactive until the next scheduled polling. For message retrieval, following confirmation that the current message is new, the agent may retrieve a copy of the new message and display such new message to the user, or the agent may notify the user that a new message is available and request the user to confirm whether it should retrieve a copy of the new message or defer retrieval. As an extension to information messaging, auxiliary information retrieval may be required to obtain a complete copy of the new or updated information represented by the new message.
  • the user may decide to access an external data source 108 to retrieve a complete copy of the new or update information that was represented by the retrieve message.
  • Information messaging in accordance with the present invention is desirable for many applications. To facilitate an understanding of the principles and features of the present invention, it is explained herein below with reference to its deployments and implementations in illustrative embodiments. In particular, the invention is described in reference to examples of deployments and implementations in computer networks. Other deployments and implementations of the present invention are also discussed to further illustrate the inventive concept. It will be appreciated, however, that these are not the only embodiments in which the invention can be implemented. Rather, it can find utility in a variety of implementations without departing from the scope and spirit of the invention, as will be apparent from an understanding of the principles that underlie the invention.
  • the Internet is an example of a computer network in which the present invention may be implemented, as illustrated schematically in Fig. 3.
  • Many servers 10 are connected to many clients 12 via communication network 14. Details of various hardware and software components comprising the Internet network 14 are not shown (such as servers, routers, gateways, etc.) as they are well known in the art. Further, it is understood that access to the Internet by the server computers and client computers may be via suitable transmission medium, such as coaxial cable, telephone wire, wireless RF links, or the like. Communication between the servers 10 and the client 12 takes place by means of an established protocol.
  • the computer network illustrated in Fig. 3 can be configured in accordance with the system architecture of the present invention illustrated in Fig. 1.
  • any of the clients 12 and servers 10 may correspond to a fixed point transmitter 102, logical host 104 and/or user device 106, by providing the corresponding function of these components described earlier.
  • one of the clients 12 may function as a fixed point transmitter 102, which posts information at a server 10 or another client 12 that functions as a logical host 104.
  • the user device 106 that retrieves information from the logical host 104 may be another server 10 or client 12.
  • Fig. 4 is a schematic block diagram of a computer system 20 that may function as the client 12 and/or server 14.
  • the computer system includes a computer 22, a display device 24, an input device 26 such as a keyboard, a network communication device 27 such as a modem, a primary storage device 28 and a secondary storage device 30.
  • the display device 24 displays a graphical user interface ("GUI") 32 for facilitating the display of graphics and text to the user.
  • GUI graphical user interface
  • the computer 22 includes one or more processors 34 that fetch computer instructions from the primary storage 28 through an interface 36, such as an input/output subsystem, and executes the instructions.
  • the computer 22 can be, but is not limited to, personal computers, mini-computers and main frame computers, that are running on a number of available operating system and/or machine platforms.
  • the processor 34 can be, but is not limited to, any of the processors available from Intel Corporation, Sun Microsystems, AMD, IBM or any processor capable of executing program instructions including application specific integrated circuits ("ASIC"), field programmable gate arrays ("FGPA").
  • ASIC application specific integrated circuits
  • FGPA field programmable gate arrays
  • Executing the computer instructions enables the processor 34to retrieve data or write data to primary storage 28 and secondary storage 30, display information on the display device 24, receive command signals from the input device 26, or transfer data to other computer systems within the computer network 14.
  • the primary storage 28 and secondary storage 30 can include any type of computer storage including, without limitation, FGPA, random access memory (“RAM”), read-only-memory (“ROM”), and storage devices such as hard disks, magnetic media and optical storage media such as CD-ROM.
  • the primary storage 28 stores a number of items, which may include a GUI 38 and a runtime environment 40.
  • the runtime environment 40 typically is an operating system that manages computer resources, such as memory, disk or processor time, required for the application software (including the agent of the present invention) to run.
  • a number of application software such as word processing programs, spreadsheet worksheet programs, etc., may be installed in the secondary storage 30.
  • the application software may have a built-in or attached software utility which functions as an agent that is configured to automatically obtain from a logical host information concerning the particular software.
  • the agent 42 is integrated in the application software 44 or is otherwise attached, linked or functionally coupled (schematically represented by dotted line 46) to the application software 44 such that the agent 42 would be automatically installed into the computer 22 (or automatically associated with the application software; see discussion herein below) as part of the installation process for the application software 44.
  • the self-contained nature of the agent 42 within the application software 44 avoids the need for the user to remember to separately install the agent 42.
  • the agent 42 may be configured to prompt the user to confirm the desire to install the agent 42 during installation of the underlying application software 44.
  • the agent may be configured to be installed as a built-in function of the application software, or it may be installed as a function independent from the application software.
  • the agent 42 may be implemented as a Java application or other write once, use anywhere application such as CORBA-ORB specifications. Utilizing a Java Virtual Machine (such as Install Anywhere developed by ZeroG), the agent 42 can be installed and setup for use on any operating system or machine platform.
  • a single agent may be associated with multiple application software. For example, after the agent is installed for the first time when a first application software that is implemented with an agent (i.e., agent enabled) is installed in the user device, that agent also serves subsequently installed application software. When a subsequent application is being installed in the same user device, the installation program checks for the presence of an agent in the user device. If there is already an agent present, the agent that comes with the subsequent application software is not installed in the user device. Instead, the subsequent application software is registered or otherwise associated with the installed agent during installation process. When more application software are installed, they are associated with the same installed agent. Consequently, a single agent may function to serve all the application software (that are agent enabled) installed in the user device. The single agent can communicate and poll different logical hosts maintained by different software vendors.
  • a separate utility software may be provided to associate the legacy software with an agent.
  • the association may be automatically handled by the utility software after it scans the software installed in the user device to identify the legacy software. Alternatively, the user may have to identify and enter the particulars of the legacy software so that the proper association may be made.
  • the agent 42 may contain information about the designated logical host it needs to visit to obtain information about the application software 44, and when, the number of times, and/or at what time intervals it should do so. As will be explained in greater details later below, the agent may be configured to poll predefined logical locations at the logical hosts. The agent may be configured to provide the user the facility of entering and/or changing the logical address of the logical hosts and/or logical location, and the time of day, the number of times and/or the time intervals for polling the logical hosts for information.
  • the agent may be configured to poll a logical host once at initial system power-up, or at 12 noon every day, or at six-hour intervals after the application software has been executed, or for a maximum of twice in any given day, or a combination of the foregoing.
  • the agent may also be configured to be activated whenever one of the associated application software is executed. Alternatively, the agent may be configured to be activated by the system whenever the user computer system is booted up even if the application software has not been executed.
  • the agent Upon activation, the agent would determine the appropriate time (at preset or user defined time and/or frequency) for polling the logical host that is maintained by the vendor of the application software or a third party for information concerning the software (e.g., a message concerning software updates in the example given). The agent would determine at the appropriate time if there is an active network (e.g., Internet) connection to dial out to access the logical host.
  • an active network e.g., Internet
  • the agent may be configured such that if an active connection were not available at a schedule time to poll the logical host, it would "sleep" until an active network connection is available at the next scheduled time.
  • the agent may be configured such that if the connection is available but is not yet activated (e.g., the telephone line is not busy but dial-up has not yet been made), the agent would initiate connection to the network.
  • the logical host may be part of the Internet, an intranet, extranet or any other type of computer or telecommunication network.
  • the logical host may be a server 10 and the user device may be a client 12 as illustrated in Fig. 3.
  • the agent does not require a separate service, application or session to be established between the user device and the logical host to facilitate the functions of the agent.
  • the agent can function independently of and in the absence of any client-server service beyond the initial handshake process.
  • there may be one or more client-server services for example, active between the user (e.g., the client 12) and the logical host (e.g., server 10), which functions are separate from the agent functions.
  • the message Upon polling the logical host and confirming that a new message (e.g., supplied by the software vendor) has been posted at the logical host, the message is retrieved and displayed to the user.
  • the message may be in ASCII or binary format (e.g., a GIF file), which may include information relating to software updates (including patches, bug fixes, macros, etc.) and other information such as news, promotions, announcements, options, configurations, application tips, short-cuts, etc. concerning the software product which may be useful to the user. It is noted that it is the information message concerning the software product that is being retrieved from the logical host, and not the entire application file in the case for software update, for example. Since the agent can operate independently from HTML protocols, the user does not require a browser to access the PC17US99/23111 new information.
  • the retrieved information may be encrypted using known methods to provide a desired level of security.
  • the agent may be configured to periodically poll the logical host in the background of the software application that is running in the foreground, in a process transparent to the user.
  • the agent confirms that a new message has been posted and retrieves the message to alert the user only if a new message has been posted since the last polling. If the message notifies the user to software updates, the user may retrieve a copy of the updated software directly via a link (e.g., provided in the displayed information) from an external data source 108 (e.g., a server 10) on which updates are maintained. If the new information concerns various types of product information, the user can retrieve any related files from the server 10 in a similar fashion.
  • a link e.g., provided in the displayed information
  • the agent when the agent establishes connection to the logical host through the active network connection (e.g., the Internet), it determines if the file that contains the current message (the "Message File") at the logical host postdates the last time it retrieved information from the site. If the Message File does not postdate the last retrieval, it will revert to sleep mode until the next scheduled connection. Alternatively, the agent checks the byte size of the Message File to determine whether the current message is new. If the byte size is the same as the Message File that was last accessed, then it is assumed that there is no new message in the Message File. If the byte size is different, the agent alerts the user to the presence of new message and/or retrieves and displays the new message.
  • the active network connection e.g., the Internet
  • the agent will only be visible to the user on an "as needed" basis, when new message is found available at the logical host. If the Message File does postdate the last retrieval then the agent will alert the user to the availability of new information.
  • the alert may be in the form of a pop-up screen that notifies the user that new message is available, and may allow the user to confirm whether to retrieve the new message immediately or defer retrieval to a later time.
  • the agent may be programmed to automatically retrieve the new message and display a part or all of the new message retrieved at the preprogrammed position on the display.
  • the new message may be displayed in a browser independent viewer (such as Newsbreaker Messenger developed by Premier Internet Corporation) in RTF format, which can include images, hot links to Web sites, and control parameters for formatting.
  • the new message may contain an URL address or "hot link" to another logical location where additional information or relevant applications (e.g., software updates) are available for the user to download.
  • additional information or relevant applications e.g., software updates
  • the user can click on the hot link directly or otherwise invoke access (e.g., by clicking a "yes" hot button that is linked to the URL address) to the site represented by the URL address to obtain a copy of the software updates.
  • the agent will take the user to the appropriate logical location. Specifically, activating the hot link would cause the agent to open a browser automatically, if one is available on the user's computer. If the site were a software download area, it would not be required to open a browser since the agent is HTML independent.
  • the software updates may be an entirely new version of the software intended to replace the obsolete software currently installed. Alternatively, the software updates may represent only minor differences of the same version from the last update.
  • Various methods for implementing software updates are well know in the art.
  • Each new information received will be archived by the agent.
  • the agent will keep a record of all entries of new information received, and the downloads and product updates exercised by the user.
  • the agent can be configured to remind the user on a predefined periodic basis (e.g., on a daily basis) of updates that have not been taken advantage of until such time as they are downloaded.
  • the agent since the agent may be built into the application software or installed separately and independently of the application software, it performs the information alert function once the software product is installed.
  • the agent follows the underlying software product, and keeps track of prior updates since the installation of the software, so that the software would not miss any updates that are made available by the vendor even after it has been reinstalled in a computer.
  • the agent would be reinstalled with the application software, and it will obtain from the logical host all posted information relating to the software, including information relating to past and current updates for the particular version of the software. Accordingly, the user will be able to install the updates in accordance with the information in an organized sequence. The user will no longer miss any intermediate updates or patches, or make the mistake of installing the intermediate updates in the wrong sequence.
  • the vendor no longer needs to track its customers or broadcast (or push) information to its customers. Instead, the agent actively solicits product related information wherever the software might be installed. By deploying the agent in the product, it is easier for the software vendor to keep in touch with its customers without relying on the intervention and diligence of the customer.
  • a data storage medium e.g., a diskette or CD-ROM
  • product information e.g., owner's manual
  • a messaging agent is provided to the purchaser along with the sale of a product.
  • the agent will periodically look for information about the purchased product (e.g., promotions, announcements, recall notices, etc.) from a site or sites maintained by the product manufacturer or distributors.
  • the agent could contain all the necessary information about the purchased product (e.g., serial no., installed options, etc.) and the purchaser to minimize the burden on the user to enter such information into the computer.
  • the agent may be deployed in devices other that home computers.
  • the agent may be installed in any device that is enabled to communicate with a logical host via a network (including without limitation telecommunications networks, computer networks, etc.)
  • a network including without limitation telecommunications networks, computer networks, etc.
  • an agent 48 may be installed in notebook computers 50, cellular phones 52, personal digital assistants 54 ("PDAs"), two-way pagers 56, set-top boxes 58 (e.g., used for controlling and interfacing with cable television, home appliances, electronic and electrical devices and the like), radio devices 60, and other types of devices that retrieves and display information (visually and/or audibly).
  • the agent 48 can periodically retrieve information relating to the user's activities or interest from a logical host 49. For example, for a business organization, its employees can be alerted to important information update about the company by means of the information retrieving agent that is built into a communication device such as a cellular phone or a two-way pager.
  • the agent may be coded to communicate with specific fixed logical locations maintained at the logical host.
  • the logical locations may be selected by the user in accordance to her preferences and interests.
  • the user may manually "tune" into other desired logical locations.
  • the logical locations may relate to product updates, news, entertainment, ski conditions, weathers, traffic, etc.
  • the user may also select keywords (or a string) to screen the new information of interest in the respective logical locations. Unless the keywords exist in the new information, the agent reverts to sleep mode.
  • the agent scans the logical locations periodically for new information without user intervention.
  • the logical locations may be created at any logical host that is part of a network.
  • a logical location may be created at an Internet domain or URL.
  • Password access to certain logical locations can be required.
  • the user may need to subscribe to a service and be charged for access to the logical locations that are maintained by a commercial vendor for the benefit of an information provider (e.g., product manufacturers, news services, for example).
  • the commercial vendor may also charge the information provider a fee for the services in maintaining the logical locations.
  • the agent retrieves the new information and alerts the user to such information (e.g., via a display). If more than one logical locations contain new information, the new information for the logical locations may be displayed in screens in a tiled manner. The user has the option of switching between screens or closing some or all of the screens. All retrieved information is saved (e.g., in primary or secondary storage devices) so that the user can review the information at any time. The user may preset a desired period for archiving the retrieved information.
  • Other features and function of the agent described above with respect to software updates are also applicable to the logical location implementation.
  • Fig. 7 illustrates an application for information messaging in accordance with another embodiment of the present invention.
  • the user device is a two-way radio 70, which has a messaging agent, installed in an automobile 72.
  • the user intends to be retrieve alerts concerning subject matters such as traffic conditions, weather conditions, news, etc. from a logical host 74, which may be a radio station equipped to communicate with the two-way radio 70.
  • Information providers 76 such as highway patrol, weather bureau, etc. may post messages regarding traffic conditions, weather conditions, for example, at respective logical locations at the logical host 74.
  • the user subscribes to the particular logical locations pertaining to informational updates that the user is interested in.
  • the agent polls the logical locations for message updates concerning traffic and weather, for example.
  • the message is not pushed to the user as in conventional broadcasting.
  • Conventional broadcasting impose upon the user to listen to messages that may not be of interest to the user.
  • the user can select the subject matter for which information is to be retrieved, and at the time and frequency desired by the user.
  • the agent may be configured to poll the logical host every fifteen minutes for the latest update on traffic condition for a particular city.
  • the radio device 72 may be provided with preset or programmable keys which is associated with the desired logical locations. When the user desires to obtain an immediate update of the latest traffic information, the user presses a preset or preprogrammed key to activate the agent for immediate polling of the logical location associated with traffic conditions.
  • the agent will only retrieve a message from the logical host 74 if the agent confirms that the current message is new.
  • the radio program that the user is listening to may be interrupted by the new message, or the radio 72 may display a warning indicia or sound a warning tone to alert the user to the incoming message that is waiting to be heard or viewed.
  • the new message may alert the user to tune to another station for a more detailed report concerning the subject matter of interest. For example, the user may be alerted to tune to a traffic station or weather station for a complete traffic or weather report.
  • the logical host 74 is not burdened with periodically transmitting messages to all users even when the messages have not been updated, or most of the users are not interested in the messages, or when some of the users may not be ready to receive the messages.
  • the user of the information messaging scheme of the present invention may select a handful of subject matter of interest to receive informational updates.
  • the present invention in effect reduces the bandwidth requirements for transmitting information to the users.
  • serially broadcasting hundreds of messages on different subject matter to all users the present invention provides logical locations that are each related to a particular subject matter.
  • information messaging of the present invention allows information providers of lesser means to make information available to a wider range of users, and doing so without relying on the timing of broadcasting. For example, for conventional broadcasting, one may only have sufficient resources to broadcast a message once at a time when such message may not reach all the intended users.
  • the agent may be deployed in a publishing application (such Newsbreaker Publisher) that is provided to facilitate a user in accessing files, modifying the files and post or publish the files at the logical host (e.g., at a desired logical location) for other users to retrieve.
  • a publishing application such Newsbreaker Publisher
  • a dynamic graphical user interface is provided to facilitate a user (e.g., a software vendor) in constructing and new or updated information (e.g., a message about software update) to the logical host.
  • Fig. 8 is a representation of the GUI, showing the various parameters that the user can customize using the GUI.
  • Appendix A attached hereto is a user guide showing the parameters for the GUI and Appendix B is a technical guide for the GUI.
  • the publisher delivers the information (e.g., an ASCII file and associated images) to be published, to a logical location at the logical host for access by the agent.
  • the characteristics of this publisher and file display method are that they are browser independent, HTML independent, platform independent, and provides WYSWYG functionality, consistent with the platform independent agent within he publishing application.
  • Information to be published to the logical locations may be delivered using FTP via the Internet by means of this publisher having the GUI, independent of any server application.
  • the GUI allows for the user selection of font type, appearance, and size of text, and addition of images to the file.
  • a user can easily edit a Web page by retrieving the content file of the Web page, modifying the text and image parameters, and republishing the content by delivering an applet that contains the modified information to the Web site.
  • the Java applet delivered by the publisher could display text and images on the Web site, on the intranet or within an extranet. Using the GUI, the user does not need to understand or use cumbersome HTML programming to be able to update the Web site.
  • dual levels of security are provided for access to the logical locations.
  • the dual-level security is required for user access to the logical locations to' update the information posted therein.
  • several logical locations may be arranged under an Internet domain root directory.
  • access to the root directory and the logical locations are both protected by login procedures.
  • the root directory may be maintain by news providers, and the individual logical location under the root directory may be assigned to different categories of news, such as sports, politics, finance, etc.
  • News providers would be assigned the same provider identifications corresponding to the same "News" root directory but different logical location identifications (the different providers may have different passwords) depending on the specific logical locations subscribed by the respective news providers.
  • a news provider accesses a subscribed logical location maintained over the Internet, for example, she needs to enter the URL pointing to the root directory assigned to the news service provider, enter the login sequence (e.g., identification and password) to access the directory and then enter the login sequence (e.g., identification and password) to access the news category maintained at a particular logical location.
  • the login sequence e.g., identification and password
  • the agent of the present invention may be implemented in compliance with Common Object Request Broker Architecture (“CORBA”) that is known in the art, where the agent and the publisher are objects called upon and used in conjunction with other objects in an uniform and universal manner, which allows total network operating system and platform independence.
  • CORBA Common Object Request Broker Architecture

Abstract

A new system architecture for information messaging among devices over any wired or wireless, homogeneous or heterogeneous communications network, which is independent of the devices' operating protocols, configurations and/or system platform, if any, The system architecture includes generally three components, a fixed point transmitter, a logical host and an information retrieving device. The fixed point transmitter post new or updated information at the logical host, and the retrieving device communicates with the logical host to retrieve such information without the use of any application process at the logical host. In one aspect of the present invention, a stand-alone or self-contained messaging agent is deployed at the information retrieving device, which has functions including initiating 'hand-shake' with a logical host and retrieve information from the logical host without the use of any application process at the logical host. For information messaging, the agent polls the logical host for updated messages. The agent retrieves the updated messages upon confirmation that they have been posted at the logical host. For certain applications, the entire content of the updated information is not hosted at the logical host. Instead, an ASCII or binary file containing a short message concerning the availability of the updated information is posted for access by the retrieving device. In yet another aspect of the present invention, dual levels of security are provided for access to the logical host.

Description

AN IMPROVED SYSTEM ARCHITECTURE FOR INFORMATION MESSAGING
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to information messaging, particularly to an architecture for information messaging among homogeneous and heterogeneous systems.
2. Description of Related Art
The quest for information has been and will continue to be an essential component of evolution. Associated with the quest for more information is the quest for more efficient means of handling information.
For example, the dramatic growth of the information superhighway and network- centric computing significantly altered the way people manage information flow. With the explosion of computer and communication networks (e.g., the Internet, intranets, telecommunications channels, etc.) and wireless communication technologies, on-line information is more widely accessible to users. Online information retrieval therefore has become ubiquitous.
The information technology industry, including without limitation technology and content providers, spent considerable efforts to improve the speed and availability of information to users. Automated information delivery online to a personal computer involves what is often referred to as "push" technology.
"Push" is actually a conventional methodology that is being practiced by people daily, without realizing its existence. An example of a physical push information system would be the delivering of newspapers to a reader's doorstep. When the reader wants to read the paper, she opens her door and grabs the paper. When she does not read the papers, they pile up and the reader probably throws them away a few days later. Although the information arrives in the form of a newspaper, it is being pushed at the reader all the same, and she makes the conscious decision to read or not to read it.
Referring to an example in the digital context, information delivery via the Internet to a personal computer ("PC") using push technology follows an analogous process, except that the PC serves as the user's doorstep. When the PC is online, the remote Web server (the newspaper boy) knows that the user is ready for the next delivery, and the information is delivered regardless of the demand by the user. An example would be the delivery of advertising to users via the Internet. Consequently, the user is forced to receive information Examples of enhanced push techniques include those implemented in software developed by companies such as PointCast (PointCast software), Netscape (Netcaster software), Marimba (Castanet software), and Microsoft (Active Channels software). These push techniques share some basic attributes. The software enables the user to subscribe to certain channels of information maintained at a remote server. The server delivers the requested information to the user's desktop using intelligent agents to find, gather and collate information from the Web without the user having to do the searching. The user is then forced to receive the information. For some of these systems, the information is periodically delivered to the user site regardless of whether the same information has already been delivered previously. Another attribute is that a client-server process is involved in the above mentioned push techniques. Complementary software applications are run at both the user end and the remote server end to handle the request and delivery of information. For example, a Web server communicates with a Web browser at the user end to exchange information over the Internet. As such, any incompatibility between the server and the client software (e.g., in the protocol or file format), would compromise the information transfer. For example, retrieval of some files from a Web server may require a specific browser or the latest version thereof. In addition, it has been experienced that when a popular Web server is being accessed simultaneously by multiple users, the load of delivering information could increased to such an extent that may cause the server to crash. Accordingly, there is a need for an information messaging system in which the user is notify of the availability of new information without the imposition of the new information upon the user. In addition, there is a need for a more reliable approach to information delivery over heterogeneous networks, independent of the operating protocols, device configuration and/or platforms.
SUMMARY OF THE INVENTION
The present invention provides a new system architecture for information messaging among devices over any wired or wireless, homogeneous or heterogeneous communications network (including but not limited to computer networks and telecommunications networks), which is independent of the devices' operating protocols, configurations and/or system platform, if any. The system architecture includes generally three components, a fixed point transmitter, a logical host and an information retrieving device. The fixed point transmitter post new or updated information at the logical host, and the retrieving device communicates with the logical host to retrieve such information without the use of any application process at the logical host.
In one aspect of the present invention, a stand-alone or self-contained messaging agent is deployed at the information retrieving device, which has functions including initiating "hand-shake" with a logical host and retrieve information from the logical host without the use of any application process at the logical host (i.e., the logical host is essentially a "passive" location relative to the retrieving device). In essence, the information retrieving device is "pulling" or "drawing" information (e.g., in ASCII or binary format) maintained at the logical host. The agent may be implemented as a "Java" or other write once, use anywhere application so that it can operate universally over heterogeneous networks independent of device operating protocols, configurations and/or system platforms (i.e., the agent is device independent). The agent may be implemented in any type of device that has the capability of communicating with the logical host via wired or wireless networks. In the absence of an application process at the logical host, total compatibility can be maintained between the retrieving device and the logical host with respect to the information file that is being transferred. In addition, load is not put on the logical host when information is being simultaneously retrieved by multiple users, which reduces bandwidth requirements and minimizes the risk of system failures.
For information messaging, the agent polls the logical host for updated messages. The agent retrieves the updated messages upon confirmation that they have been posted at the logical host. For certain applications, the entire content of the updated information is not hosted at the logical host. Instead, an ASCII or binary file containing a short message concerning the availability of the updated information is posted for access by the retrieving device. By providing only an ASCII or binary file containing the message and not the actual content of the updated information to the user, and further in the absence of an application process component at the logical host, total compatibility can be maintained between the retrieving device and the logical host with respect to the information file that is being transferred. Upon confirmation that a new message has been posted and retrieval of such message, the user can decide to retrieve a complete file of the updated information from another source, which source may be referenced in the message. The agent may be configured to periodically poll the logical host. In accordance with another aspect of the present invention, the agent may be deployed in a publishing application that is designed to facilitate a user in accessing files from a logical host, modifying the files, creating new files and make available (upload, post or publish) new or updated files at the logical host for other users to retrieve. When the user wants to modify a file retrieved from the logical host, she invokes the platform independent agent to retrieve the file. In connection with this aspect of the invention, a dynamic graphical user interface ("GUI") is provided to facilitate .a user in constructing and publishing the information to the logical host. The GUI allows the user to manipulate, change, process or otherwise configure the files via a Java application separate from the agent. The characteristics of this publisher and file display method are that they are browser independent, HTML independent, platform independent, and provides WYSWYG functionality, consistent with the platform independent agent within the publishing application. Information to be published to the logical host may be delivered using FTP via the Internet by means of this publisher having the GUI, independent of any server application. For other applications, such as updating a Web site, the GUI allows for the user selection of font type, appearance, and size of text, and addition of images to the file. The Java applet delivered by the publisher could display text and images, such as on the Web site, on the user's display device, on the intranet or within an extranet.
In yet another aspect of the present invention, dual levels of security are provided for access to the logical host. Information messaging in accordance with the present invention is desirable for many applications. For example, in accordance with one embodiment of the present invention, the agent may be configured to periodically poll one or more relevant logical hosts for new or updated information relating to the user's activities or interest. The agent may be deployed in any device that has an ability to receive and display information (visually and/or audibly). For example, the agent may be installed in notebook computers, cellular telephones, personal digital assistant ("PDAs"), two-way pagers, set-top boxes, radio devices, etc. For example, in a business organization, its employees can be alerted to important information updates about the company by means of the messaging agent built into a communication device. The user may also select from one or more logical hosts relating to specific subject matter, e.g., news, entertainment, ski conditions, weather, traffic, etc. There could be one or more logical hosts to alert users to warnings from various government agencies, such as the Center for Disease Control, Department of State, National Weather Center, etc. The agent polls the logical hosts periodically for new information without user intervention.
In another application of the information messaging aspect of the present invention, an agent is associated with an application software product that is installed at a user's computer. The agent periodically polls a designated logical host (e.g., another computer) maintained by the vendor of the software or a third party for new or updated information concerning the software (e.g., a message concerning software updates). The agent may be configured to periodically poll the logical host, in a process transparent to the user, and only retrieves the message and alerts the user if a new message has been posted since the last polling. Upon the user being notified by the message that new software updates are available, the user may connect to a site at which the file of the actual software update resides to retrieve a complete copy of the software updates.
The information messaging concept of the present invention may be applied advantageously to other types of products, such as in connection with the sales of automobiles or electrical appliances. For example, a data storage medium (a diskette or CD-ROM) containing product information (e.g., owner's manual) and a similar agent is provided to the purchaser along with the sale of a product. By installing the agent in the purchaser's home computer, for example, the agent will periodically poll the relevant logical host maintained by the product manufacturer or distributors to look for information about the purchased product (e.g., promotions, announcements, recall notices, etc.).
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a schematic representation of the system architecture for information messaging in accordance with one embodiment of the present invention. Fig. 2 is a schematic diagram illustrating the information flow between fixed points within the system architecture of Fig. 1.
Fig. 3 is a schematic representation of a computer network that can implement the system architecture of the present invention.
Fig. 4 is a schematic representation of a computer system that deploys the messaging agent of the present invention.
Fig. 5 is a schematic representation of the provision of the agent of the present invention in an application software.
Fig. 6 is a schematic representation of various applications of the agent of the present invention in various electronic devices.
Fig. 7 is a schematic diagram illustrating an application of information messaging in accordance with another embodiment of the present invention.
Fig. 8 is~a representation of the graphical user interface that is used to construct information to be maintained at the logical host.
DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS
The following description is of the best presently contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not to be taken in a limiting sense. The scope of the invention can best be determined by reference to the appended claims.
The detailed descriptions that follow are presented largely in reference to examples relating to information handling devices in terms of methods and symbolic representations of operations within information handling devices. These method descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art.
A method is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. These steps require physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It proves convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
Useful devices for performing the operations of the present invention include, but is not limited to, general or specific purpose digital processing and/or computing devices, which devices may be standalone devices or part of a larger system. The devices may be selectively activated or reconfigured by a program, routine and/or a sequence of instructions and/or logic stored in the devices. In short, use of the methods described and suggested herein is not limited to a particular processing configuration.
The present invention provides an improved system architecture for information messaging among devices over any wired or wireless, homogeneous or heterogeneous communications networks (including without limitation computer networks and telecommunications networks), which is independent of the devices' operating protocols, configuration and/or system platforms, if any (hereinafter collectively referred to as "device independent").
Fig. 1 depicts the system architecture 100 for information messaging in accordance with one embodiment of the present invention. As an overview of the system architecture, there are generally three basic functional components of the system architecture, fixed point transmitters 102, logical hosts, and user devices 106. The fixed point transmitters 102 represent the definite domain of purveyors of information. Each fixed point transmitter 102 is configured to access one or more logical hosts 104. As will be described in detail below in reference to specific applications, the fixed point transmitters 102 post new or updated information at the logical hosts 104. The user device 106 incorporates a messaging agent that is configured to communicate with the designated or assigned logical hosts 104 that hosts information relevant to the user devices 106. The agent is further configured to retrieve information posted at the logical hosts 104. In essence, the logical hosts 104 are logical relay points for new or updated information to the user devices 106. The user devices 106 may also have access to data source 108 external of the system architecture 100.
The messaging agent deployed at a user device 106 is a stand-alone or self-contained application, which has functions including initiating "hand-shake" with a logical host 104 and retrieving information from the logical host 104 without the use of any application process at the logical host 104. A logical host 104 may be any device, or a data location, which, relative to the user device 106, holds (or host) information for access by the user device 106, without the need for an application process beyond the initial hand-shake process (i.e., the logical host is essentially a "passive" location relative to the user device 106). In essence, the user device 106 is "pulling" or "drawing" information (e.g., in ASCII or binary format) maintained at the logical host 104.
The agent may be implemented as a "Java" or other write once, use anywhere application so that it can operate universally over heterogeneous networks independent of device operating protocols, configurations and/or system platforms (i.e., the agent is device independent). In the absence of an application process at the logical host 104, total compatibility can be maintained between the user device 106 and the logical host 104 with respect to the information file that is being transferred. The agent may be implemented in any type of device that has the capability of communicating with the logical host 104 via wired or wireless networks. For example, the agent may be implemented in devices including without limitation computing devices, pagers, cellular telephones, personal digital assistants ("PDAs"), set-top boxes, radio devices, etc. The hardware devices incorporating or representing the various functional components may be similar. For purpose of illustrating the present invention, various components of the system architecture 100 are illustrated as separately identifiable components. It is understood that two or more of the components 102, 104 and 106 may be represented in the same physical unit, without departing from the scope and spirit of the present invention. For example, one or more logical hosts 104 and one or more of the fixed point transmitters 102 may be represented in the same physical device, and one or more of the fixed point transmitters 102 and one or more of the logical hosts 104 may be represented in the same physical device. For example, the physical device in which a particular user device 106 is represented could also represent a logical host 104, relative to such user device 106 and/or another user device 106, and/or logical host 104.
Similarly, the device in which a particular fixed point transmitter 102 is represented could also represent a logical host 104 relative to such fixed point transmitter 102 and/or another fixed point transmitter 102, and/or user device 106. Further, the various components may share common system resources (e.g., hardware, firmware, software, data storage, input devices, output devices, etc.) while maintaining their separate logical identity and functions described herein.
For information messaging, the agent polls the logical host for updated messages. The agent retrieves the updated messages upon confirmation that they have been posted at the logical host 104. For certain applications, the entire content of the updated information is not hosted at the logical host 104. Instead, an ASCII or binary file containing a short message concerning the availability of the updated information is posted for access by the retrieving device. By providing the user only an ASCII or binary file containing the message and not the actual content of the updated information, and further in the absence of an application process component at the logical host, total compatibility can be maintained between the user device 106 and the logical host 104 with respect to the information file that is being transferred. In addition, in the absence of an application process component at the logical host 104, the logical host is not subjected to load when it is being accessed by multiple users simultaneously, which reduces bandwidth requirements and minimizes the risk of system failure. Upon polling and confirming that a new message has been posted at the logical host 104, the agent retrieves a copy of the new message. The user can then decide to retrieve a complete file of the updated information from the external data source 108, for example, which source may be referenced in the message. The agent may be configured to periodically poll the logical host 104 without user intervention, and to pull only new or updated information that is posted at the logical host 104 since the last polling. The information flow between fixed points within the system architecture of the present invention during information messaging can be more clearly described with reference to Fig. 2. The following actions may be undertaken in the information messaging scheme of the present invention: (a) message posting; (b) message polling; and (c) message retrieval. As an extension to information messaging, auxiliary information retrieval may be undertaken for certain applications.
For message posting, the fixed point transmitter 102 delivers to the logical host 104 new messages to be posted. Such posting may be facilitated with a publishing application including a GUI for manipulating the information to be posted. An example of this is described later. For message polling, the agent at the user device 106 polls the logical host 104 for the presence of new messages. Such polling includes a query made to the logical host for new messages after the initial handshake between the user device 106 and the logical host 104, and receiving a response to confirm whether that current message is new. The agent determines the presence of new messages by retrieving the byte size of the current message file and comparing such byte size to that of the message file that was last polled. A new message is determined to be present if the byte size changed. Alternatively, the agent retrieves the timestamp of the current message file and compares such timestamp to that of the message file that was last polled. A new message is determined to be present if the timestamp is more current. If it is determined that the current message is not new, the agent becomes inactive until the next scheduled polling. For message retrieval, following confirmation that the current message is new, the agent may retrieve a copy of the new message and display such new message to the user, or the agent may notify the user that a new message is available and request the user to confirm whether it should retrieve a copy of the new message or defer retrieval. As an extension to information messaging, auxiliary information retrieval may be required to obtain a complete copy of the new or updated information represented by the new message. For certain applications, the user may decide to access an external data source 108 to retrieve a complete copy of the new or update information that was represented by the retrieve message. Information messaging in accordance with the present invention is desirable for many applications. To facilitate an understanding of the principles and features of the present invention, it is explained herein below with reference to its deployments and implementations in illustrative embodiments. In particular, the invention is described in reference to examples of deployments and implementations in computer networks. Other deployments and implementations of the present invention are also discussed to further illustrate the inventive concept. It will be appreciated, however, that these are not the only embodiments in which the invention can be implemented. Rather, it can find utility in a variety of implementations without departing from the scope and spirit of the invention, as will be apparent from an understanding of the principles that underlie the invention.
The Internet is an example of a computer network in which the present invention may be implemented, as illustrated schematically in Fig. 3. Many servers 10 are connected to many clients 12 via communication network 14. Details of various hardware and software components comprising the Internet network 14 are not shown (such as servers, routers, gateways, etc.) as they are well known in the art. Further, it is understood that access to the Internet by the server computers and client computers may be via suitable transmission medium, such as coaxial cable, telephone wire, wireless RF links, or the like. Communication between the servers 10 and the client 12 takes place by means of an established protocol. The computer network illustrated in Fig. 3 can be configured in accordance with the system architecture of the present invention illustrated in Fig. 1. Any of the clients 12 and servers 10 may correspond to a fixed point transmitter 102, logical host 104 and/or user device 106, by providing the corresponding function of these components described earlier. For example, one of the clients 12 may function as a fixed point transmitter 102, which posts information at a server 10 or another client 12 that functions as a logical host 104. The user device 106 that retrieves information from the logical host 104 may be another server 10 or client 12.
The structure and arrangement of the devices in which the invention is embodied do not form part of the invention itself. Rather, they are briefly described herein to facilitate an understanding of the manner in which the invention cooperates with various components of such devices. Fig. 4 is a schematic block diagram of a computer system 20 that may function as the client 12 and/or server 14. Typically, the computer system includes a computer 22, a display device 24, an input device 26 such as a keyboard, a network communication device 27 such as a modem, a primary storage device 28 and a secondary storage device 30. The display device 24 displays a graphical user interface ("GUI") 32 for facilitating the display of graphics and text to the user.
The computer 22 includes one or more processors 34 that fetch computer instructions from the primary storage 28 through an interface 36, such as an input/output subsystem, and executes the instructions. The computer 22 can be, but is not limited to, personal computers, mini-computers and main frame computers, that are running on a number of available operating system and/or machine platforms. The processor 34 can be, but is not limited to, any of the processors available from Intel Corporation, Sun Microsystems, AMD, IBM or any processor capable of executing program instructions including application specific integrated circuits ("ASIC"), field programmable gate arrays ("FGPA"). Executing the computer instructions enables the processor 34to retrieve data or write data to primary storage 28 and secondary storage 30, display information on the display device 24, receive command signals from the input device 26, or transfer data to other computer systems within the computer network 14. Those skilled in the art understand that the primary storage 28 and secondary storage 30 can include any type of computer storage including, without limitation, FGPA, random access memory ("RAM"), read-only-memory ("ROM"), and storage devices such as hard disks, magnetic media and optical storage media such as CD-ROM. The primary storage 28 stores a number of items, which may include a GUI 38 and a runtime environment 40. The runtime environment 40 typically is an operating system that manages computer resources, such as memory, disk or processor time, required for the application software (including the agent of the present invention) to run. A number of application software, such as word processing programs, spreadsheet worksheet programs, etc., may be installed in the secondary storage 30.
A specific application of the information messaging aspect of the present invention may be explained in the context of software updating. In accordance with one embodiment of present invention, the application software may have a built-in or attached software utility which functions as an agent that is configured to automatically obtain from a logical host information concerning the particular software. In accordance with this embodiment of the present invention, schematically illustrated in Fig. 5, the agent 42 is integrated in the application software 44 or is otherwise attached, linked or functionally coupled (schematically represented by dotted line 46) to the application software 44 such that the agent 42 would be automatically installed into the computer 22 (or automatically associated with the application software; see discussion herein below) as part of the installation process for the application software 44. The self-contained nature of the agent 42 within the application software 44 avoids the need for the user to remember to separately install the agent 42. If desired, the agent 42 may be configured to prompt the user to confirm the desire to install the agent 42 during installation of the underlying application software 44. The agent may be configured to be installed as a built-in function of the application software, or it may be installed as a function independent from the application software. The agent 42 may be implemented as a Java application or other write once, use anywhere application such as CORBA-ORB specifications. Utilizing a Java Virtual Machine (such as Install Anywhere developed by ZeroG), the agent 42 can be installed and setup for use on any operating system or machine platform.
Instead of associating a separate agent for each application software installed in a user device, a single agent may be associated with multiple application software. For example, after the agent is installed for the first time when a first application software that is implemented with an agent (i.e., agent enabled) is installed in the user device, that agent also serves subsequently installed application software. When a subsequent application is being installed in the same user device, the installation program checks for the presence of an agent in the user device. If there is already an agent present, the agent that comes with the subsequent application software is not installed in the user device. Instead, the subsequent application software is registered or otherwise associated with the installed agent during installation process. When more application software are installed, they are associated with the same installed agent. Consequently, a single agent may function to serve all the application software (that are agent enabled) installed in the user device. The single agent can communicate and poll different logical hosts maintained by different software vendors.
For legacy software that had already been installed but did not have an agent associated or were otherwise not agent enabled, a separate utility software may be provided to associate the legacy software with an agent. The association may be automatically handled by the utility software after it scans the software installed in the user device to identify the legacy software. Alternatively, the user may have to identify and enter the particulars of the legacy software so that the proper association may be made.
The agent 42 may contain information about the designated logical host it needs to visit to obtain information about the application software 44, and when, the number of times, and/or at what time intervals it should do so. As will be explained in greater details later below, the agent may be configured to poll predefined logical locations at the logical hosts. The agent may be configured to provide the user the facility of entering and/or changing the logical address of the logical hosts and/or logical location, and the time of day, the number of times and/or the time intervals for polling the logical hosts for information. For example, the agent may be configured to poll a logical host once at initial system power-up, or at 12 noon every day, or at six-hour intervals after the application software has been executed, or for a maximum of twice in any given day, or a combination of the foregoing.
The agent may also be configured to be activated whenever one of the associated application software is executed. Alternatively, the agent may be configured to be activated by the system whenever the user computer system is booted up even if the application software has not been executed. Upon activation, the agent would determine the appropriate time (at preset or user defined time and/or frequency) for polling the logical host that is maintained by the vendor of the application software or a third party for information concerning the software (e.g., a message concerning software updates in the example given). The agent would determine at the appropriate time if there is an active network (e.g., Internet) connection to dial out to access the logical host. The agent may be configured such that if an active connection were not available at a schedule time to poll the logical host, it would "sleep" until an active network connection is available at the next scheduled time. Alternatively, the agent may be configured such that if the connection is available but is not yet activated (e.g., the telephone line is not busy but dial-up has not yet been made), the agent would initiate connection to the network.
The logical host may be part of the Internet, an intranet, extranet or any other type of computer or telecommunication network. For example, the logical host may be a server 10 and the user device may be a client 12 as illustrated in Fig. 3. It is noted that while the logical host is represented by a server, the agent does not require a separate service, application or session to be established between the user device and the logical host to facilitate the functions of the agent. The agent can function independently of and in the absence of any client-server service beyond the initial handshake process. However, it is within the scope of the present invention that there may be one or more client-server services, for example, active between the user (e.g., the client 12) and the logical host (e.g., server 10), which functions are separate from the agent functions.
Upon polling the logical host and confirming that a new message (e.g., supplied by the software vendor) has been posted at the logical host, the message is retrieved and displayed to the user. The message may be in ASCII or binary format (e.g., a GIF file), which may include information relating to software updates (including patches, bug fixes, macros, etc.) and other information such as news, promotions, announcements, options, configurations, application tips, short-cuts, etc. concerning the software product which may be useful to the user. It is noted that it is the information message concerning the software product that is being retrieved from the logical host, and not the entire application file in the case for software update, for example. Since the agent can operate independently from HTML protocols, the user does not require a browser to access the PC17US99/23111 new information. The retrieved information may be encrypted using known methods to provide a desired level of security.
The agent may be configured to periodically poll the logical host in the background of the software application that is running in the foreground, in a process transparent to the user. The agent confirms that a new message has been posted and retrieves the message to alert the user only if a new message has been posted since the last polling. If the message notifies the user to software updates, the user may retrieve a copy of the updated software directly via a link (e.g., provided in the displayed information) from an external data source 108 (e.g., a server 10) on which updates are maintained. If the new information concerns various types of product information, the user can retrieve any related files from the server 10 in a similar fashion. By providing to the user only an ASCII or binary file containing a message concerning software updates and not the actual updated software file, and further in the absence of an application process component, total compatibility can be maintained between the user device and the logical host with respect to the information that is being transferred. Further, in the absence of a application process component at the logical host, no load is placed on the logical host when information is being retrieved by multiple users simultaneously, thereby reducing bandwidth requirements and minimizing the risk of system failure.
More specifically, when the agent establishes connection to the logical host through the active network connection (e.g., the Internet), it determines if the file that contains the current message (the "Message File") at the logical host postdates the last time it retrieved information from the site. If the Message File does not postdate the last retrieval, it will revert to sleep mode until the next scheduled connection. Alternatively, the agent checks the byte size of the Message File to determine whether the current message is new. If the byte size is the same as the Message File that was last accessed, then it is assumed that there is no new message in the Message File. If the byte size is different, the agent alerts the user to the presence of new message and/or retrieves and displays the new message. Thus, the agent will only be visible to the user on an "as needed" basis, when new message is found available at the logical host. If the Message File does postdate the last retrieval then the agent will alert the user to the availability of new information. The alert may be in the form of a pop-up screen that notifies the user that new message is available, and may allow the user to confirm whether to retrieve the new message immediately or defer retrieval to a later time. Alternatively, the agent may be programmed to automatically retrieve the new message and display a part or all of the new message retrieved at the preprogrammed position on the display. The new message may be displayed in a browser independent viewer (such as Newsbreaker Messenger developed by Premier Internet Corporation) in RTF format, which can include images, hot links to Web sites, and control parameters for formatting.
The new message may contain an URL address or "hot link" to another logical location where additional information or relevant applications (e.g., software updates) are available for the user to download. In which case, the user can click on the hot link directly or otherwise invoke access (e.g., by clicking a "yes" hot button that is linked to the URL address) to the site represented by the URL address to obtain a copy of the software updates. The agent will take the user to the appropriate logical location. Specifically, activating the hot link would cause the agent to open a browser automatically, if one is available on the user's computer. If the site were a software download area, it would not be required to open a browser since the agent is HTML independent. The software updates may be an entirely new version of the software intended to replace the obsolete software currently installed. Alternatively, the software updates may represent only minor differences of the same version from the last update. Various methods for implementing software updates are well know in the art.
Each new information received will be archived by the agent. For example, the agent will keep a record of all entries of new information received, and the downloads and product updates exercised by the user. The agent can be configured to remind the user on a predefined periodic basis (e.g., on a daily basis) of updates that have not been taken advantage of until such time as they are downloaded.
From the user's perspective, since the agent may be built into the application software or installed separately and independently of the application software, it performs the information alert function once the software product is installed. The agent follows the underlying software product, and keeps track of prior updates since the installation of the software, so that the software would not miss any updates that are made available by the vendor even after it has been reinstalled in a computer. For example, in the event that the application software needs to be reinstalled after a system crash, the agent would be reinstalled with the application software, and it will obtain from the logical host all posted information relating to the software, including information relating to past and current updates for the particular version of the software. Accordingly, the user will be able to install the updates in accordance with the information in an organized sequence. The user will no longer miss any intermediate updates or patches, or make the mistake of installing the intermediate updates in the wrong sequence.
From the vendor's perspective, the vendor no longer needs to track its customers or broadcast (or push) information to its customers. Instead, the agent actively solicits product related information wherever the software might be installed. By deploying the agent in the product, it is easier for the software vendor to keep in touch with its customers without relying on the intervention and diligence of the customer.
The concept of the present invention may be advantageously applied to other types of products, such as in connection with the sale of automobiles or electrical appliances. For example, a data storage medium (e.g., a diskette or CD-ROM) containing product information (e.g., owner's manual) and a messaging agent is provided to the purchaser along with the sale of a product. By installing the agent in the purchaser's home computer, for example, the agent will periodically look for information about the purchased product (e.g., promotions, announcements, recall notices, etc.) from a site or sites maintained by the product manufacturer or distributors. The agent could contain all the necessary information about the purchased product (e.g., serial no., installed options, etc.) and the purchaser to minimize the burden on the user to enter such information into the computer.
The agent may be deployed in devices other that home computers. The agent may be installed in any device that is enabled to communicate with a logical host via a network (including without limitation telecommunications networks, computer networks, etc.) For example, referring to Fig. 6, an agent 48 may be installed in notebook computers 50, cellular phones 52, personal digital assistants 54 ("PDAs"), two-way pagers 56, set-top boxes 58 (e.g., used for controlling and interfacing with cable television, home appliances, electronic and electrical devices and the like), radio devices 60, and other types of devices that retrieves and display information (visually and/or audibly). The agent 48 can periodically retrieve information relating to the user's activities or interest from a logical host 49. For example, for a business organization, its employees can be alerted to important information update about the company by means of the information retrieving agent that is built into a communication device such as a cellular phone or a two-way pager.
In a further embodiment of the present invention, the agent may be coded to communicate with specific fixed logical locations maintained at the logical host. The logical locations may be selected by the user in accordance to her preferences and interests. In addition, the user may manually "tune" into other desired logical locations. For example, the logical locations may relate to product updates, news, entertainment, ski conditions, weathers, traffic, etc. There could be one or more preprogrammed logical location for posting messages to alert users to warnings from various government agencies, such as the Center for Disease Control, Department of State, National Weather Center, etc. The user may also select keywords (or a string) to screen the new information of interest in the respective logical locations. Unless the keywords exist in the new information, the agent reverts to sleep mode.
In this embodiment, the agent scans the logical locations periodically for new information without user intervention. The logical locations may be created at any logical host that is part of a network. For example, a logical location may be created at an Internet domain or URL. Password access to certain logical locations can be required. The user may need to subscribe to a service and be charged for access to the logical locations that are maintained by a commercial vendor for the benefit of an information provider (e.g., product manufacturers, news services, for example). The commercial vendor may also charge the information provider a fee for the services in maintaining the logical locations.
If new information were found in any logical location, the agent retrieves the new information and alerts the user to such information (e.g., via a display). If more than one logical locations contain new information, the new information for the logical locations may be displayed in screens in a tiled manner. The user has the option of switching between screens or closing some or all of the screens. All retrieved information is saved (e.g., in primary or secondary storage devices) so that the user can review the information at any time. The user may preset a desired period for archiving the retrieved information. Other features and function of the agent described above with respect to software updates are also applicable to the logical location implementation.
Fig. 7 illustrates an application for information messaging in accordance with another embodiment of the present invention. In this embodiment, the user device is a two-way radio 70, which has a messaging agent, installed in an automobile 72. The user intends to be retrieve alerts concerning subject matters such as traffic conditions, weather conditions, news, etc. from a logical host 74, which may be a radio station equipped to communicate with the two-way radio 70. Information providers 76 such as highway patrol, weather bureau, etc. may post messages regarding traffic conditions, weather conditions, for example, at respective logical locations at the logical host 74. The user subscribes to the particular logical locations pertaining to informational updates that the user is interested in. The agent polls the logical locations for message updates concerning traffic and weather, for example. It is noted that the message is not pushed to the user as in conventional broadcasting. Conventional broadcasting impose upon the user to listen to messages that may not be of interest to the user. Using the information messaging approach of the present invention, the user can select the subject matter for which information is to be retrieved, and at the time and frequency desired by the user. For example, the agent may be configured to poll the logical host every fifteen minutes for the latest update on traffic condition for a particular city. Alternatively, the radio device 72 may be provided with preset or programmable keys which is associated with the desired logical locations. When the user desires to obtain an immediate update of the latest traffic information, the user presses a preset or preprogrammed key to activate the agent for immediate polling of the logical location associated with traffic conditions. The agent will only retrieve a message from the logical host 74 if the agent confirms that the current message is new. The radio program that the user is listening to may be interrupted by the new message, or the radio 72 may display a warning indicia or sound a warning tone to alert the user to the incoming message that is waiting to be heard or viewed. The new message may alert the user to tune to another station for a more detailed report concerning the subject matter of interest. For example, the user may be alerted to tune to a traffic station or weather station for a complete traffic or weather report.
It can be appreciated that unlike conventional message broadcasting, the logical host 74 is not burdened with periodically transmitting messages to all users even when the messages have not been updated, or most of the users are not interested in the messages, or when some of the users may not be ready to receive the messages. Instead of having to listen to all the many messages typically broadcast by conventional means (e.g., in a radio broadcast), the user of the information messaging scheme of the present invention may select a handful of subject matter of interest to receive informational updates. Compared to conventional broadcasting, it can also be appreciated that the present invention in effect reduces the bandwidth requirements for transmitting information to the users. Instead of serially broadcasting hundreds of messages on different subject matter to all users, the present invention provides logical locations that are each related to a particular subject matter. Only the interested users would poll the logical locations for new messages. The logical locations of less interest would not be polled as frequently as the other most popular logical locations. Only interested users would refer to the location, if any, referenced in the message for a more detailed report on the subject matter, thereby reducing the bandwidth otherwise required to broadcast the detailed report to all users. Further, information messaging of the present invention allows information providers of lesser means to make information available to a wider range of users, and doing so without relying on the timing of broadcasting. For example, for conventional broadcasting, one may only have sufficient resources to broadcast a message once at a time when such message may not reach all the intended users. Using the present approach, one can make the message available at a logical location for retrieval by all interested users at the preferred timing of the respective users. All subscribed users would be alerted to the message regardless of when the message was posted. Other advantages of the present invention may be readily appreciated.
In accordance with another aspect of the present invention, the agent may be deployed in a publishing application (such Newsbreaker Publisher) that is provided to facilitate a user in accessing files, modifying the files and post or publish the files at the logical host (e.g., at a desired logical location) for other users to retrieve. When the user wants to modify a file at the logical host, she invokes the platform independent agent to retrieve the file. In connection with this aspect of the invention, a dynamic graphical user interface ("GUI") is provided to facilitate a user (e.g., a software vendor) in constructing and new or updated information (e.g., a message about software update) to the logical host. Fig. 8 is a representation of the GUI, showing the various parameters that the user can customize using the GUI. Generally, the display format, layout, image, style, font, etc. may be customized in additional to the textual information. Appendix A attached hereto is a user guide showing the parameters for the GUI and Appendix B is a technical guide for the GUI.
The publisher delivers the information (e.g., an ASCII file and associated images) to be published, to a logical location at the logical host for access by the agent. The characteristics of this publisher and file display method are that they are browser independent, HTML independent, platform independent, and provides WYSWYG functionality, consistent with the platform independent agent within he publishing application. Information to be published to the logical locations may be delivered using FTP via the Internet by means of this publisher having the GUI, independent of any server application. For other applications, such as updating a Web site, the GUI allows for the user selection of font type, appearance, and size of text, and addition of images to the file. A user can easily edit a Web page by retrieving the content file of the Web page, modifying the text and image parameters, and republishing the content by delivering an applet that contains the modified information to the Web site. The Java applet delivered by the publisher could display text and images on the Web site, on the intranet or within an extranet. Using the GUI, the user does not need to understand or use cumbersome HTML programming to be able to update the Web site.
In yet another aspect of the present invention, dual levels of security are provided for access to the logical locations. The dual-level security is required for user access to the logical locations to' update the information posted therein. For example, several logical locations may be arranged under an Internet domain root directory. According to the dual-level security scheme of the present invention, access to the root directory and the logical locations are both protected by login procedures. For example, the root directory may be maintain by news providers, and the individual logical location under the root directory may be assigned to different categories of news, such as sports, politics, finance, etc. News providers would be assigned the same provider identifications corresponding to the same "News" root directory but different logical location identifications (the different providers may have different passwords) depending on the specific logical locations subscribed by the respective news providers. When a news provider accesses a subscribed logical location maintained over the Internet, for example, she needs to enter the URL pointing to the root directory assigned to the news service provider, enter the login sequence (e.g., identification and password) to access the directory and then enter the login sequence (e.g., identification and password) to access the news category maintained at a particular logical location.
The agent of the present invention may be implemented in compliance with Common Object Request Broker Architecture ("CORBA") that is known in the art, where the agent and the publisher are objects called upon and used in conjunction with other objects in an uniform and universal manner, which allows total network operating system and platform independence.
The present invention has been described above in terms of functional modules in block diagram format. It is understood that unless otherwise stated to the contrary herein, one or more functions may be integrated in a single physical or software module in a software product, or a function may be implemented in separate physical or softwarea modules, without departing from the scope and spirit of the present invention.
It is appreciated that detail discussion of the actual implementation of each module is not necessary for an enabling understanding of the invention. The actual implementation is well within the routine skill of a programmer and system engineer, given the disclosure herein of the system attributes, functionality and inter-relationship of the various functional modules in the system. A person skilled in the art, applying ordinary skill can practice the present invention without undue experimentation.
While the invention has been described with respect to the described embodiments in accordance therewith, it will be apparent to those skilled in the art that various modifications and improvements may be made without departing from the scope and spirit of the invention. For example, the inventive concepts herein may be applied to wired or wireless systems, based on the Internet, IP network, or other network technologies, for various software or other types of applications, without departing from the scope and spirit of the present invention. Accordingly, it is to be understood that the invention is not to be limited by the specific illustrated embodiments, but only by the scope of the appended claims.

Claims

1. A system for information messaging, comprising: a logical host for hosting information for access by a user; a fixed point transmitter for posting information to be hosted at the logical host; a user device having an agent for communicating with the logical host and polling the logical host for posted information, wherein the agent retrieves posted information from the logical host independent of any application process at the logical host beyond initial handshake between the logical host and the user device.
2. A system as in claim 1 wherein the agent is an independent, stand-alone, browser independent application.
3. A system as in claim 2 wherein the system is configured to be platform independent with respect to the fixed point transmitter, logical host and user device.
4. A system as in claim 3 wherein the system is platform independent across a heterogeneous network.
5. A system as in claim 1 wherein the agent is configured to poll the logical host in accordance with a predetermined schedule without user intervention.
6. A system as in claim 5 wherein the agent is configured to poll the logical host in the background, in a manner transparent to the user.
7. A system as in claim 6 wherein the agent is configured to determine whether an active communication connection to the logical host is available, and if there is no active communication-connection, to initiate a communication connection between the user device and the logical host.
8. A system as in claim 1 wherein the fixed point transmitter comprises a HTML independent program for publishing the information to be maintained at the logical host.
9. A system as in claim 1 wherein the information posted at the logical host is a message in ASCII or binary format.
10. A system as in claim 9 wherein the information posted at the logical host refers to an auxiliary data source.
11. A system as in claim 1 wherein the agent is configured to poll a plurality of logical hosts.
12. A system as in claim 1 wherein the agent is configured to poll the logical host for messages containing new information.
13. A system as in claim 12 wherein the information posted at the logical host is a message contained in a message file having a byte size corresponding to its content, and wherein the agent is configured to determine if a current message posted at the logical host contains new information by comparing the byte size of the current message file to that of the message file from the previous polling.
14. A system as in claim 12 wherein the information posted at the logical host is a message contained in a message file having a datestamp corresponding to the date of updating the message file, and wherein the agent is configured to determine if a current message posted at the logical host contains new information by comparing the datestamp of the current message file to that of the message file from the previous polling.
15. A system as in claim 12 wherein upon determining that the current message contains new information, the agent retrieves a copy of the current message from the logical host.
16. A system as in claim 15 wherein the current message contains a reference to an auxiliary data source.
17. A system as in claim 1 wherein the logical host comprises a plurality of logical locations, each corresponding to information of a particular subject matter.
18. A system as in claim 17 wherein the user subscribes to one or more of the logical locations, agent is configured to communicate and poll one or more of the plurality of logical locations.
19. A system as in claim 18 wherein the logical locations correspond to information related to one or more of the following subject matters: news, entertainment, weather, warnings from governmental agencies, traffic, etc.
20. A system as in claim 19 wherein dual levels of security are provided for access to the logical host and the individual logical locations.
21. A system as in claim 1 wherein the information to be retrieved includes a message relating to software updates.
22. A system as in claim 1 wherein the agent is configured to be CORBA- compliant.
23. A method for information messaging over a heterogeneous mixed protocol network, comprising the steps of: providing a logical host for hosting information for access by a user; providing a fixed point transmitter for posting information to be hosted at the logical host; deploying an agent in a user device, said agent configured to communicate with the logical host and poll the logical host for posted information; retrieving, by the agent, posted information from the logical host independent of any application process at the logical host beyond initial handshake between the logical host and the user device.
24. A method as in claim 23 wherein the fixed point transmitter, logical host and user device are configured in accordance with a system architecture that is platform independent across a heterogeneous network.
25. A method for obtaining information concerning a product, comprising the steps of: associating an agent with the product; deploying the agent in an apparatus having a communication device; polling, by the agent, a logical host at which information concerning the product is maintained; retrieving, by the agent, information concerning the product from the logical host.
26. A method as in claim 25 wherein the apparatus is a computer.
27. A method as in claim 26 wherein the product is a software, and the agent is associated with the software such that the agent is installed in the computer when the software is installed in the computer.
28. A method as in claim 26 wherein the product is a software, and wherein the agent already resides in the computer and it is associated with the software when the software is installed in the computer.
29. A method as in claim 28 wherein the agent is associated with more than one software installed in the computer.
30. A method as in claim 25 wherein the information is in ASCII format.
31. A method as in claim 30 wherein the information includes information concerning software updates.
32. A method as in claim 31 wherein the information includes a link to an auxiliary data source from which a copy of the software updates may be retrieved.
33. A method as in claim 32 wherein the agent alerts the user to the availability of new information at the logical host.
34. A method as in claim 33 wherein the agent gives the user an option of deciding whether to retrieve the information from the logical host.
35. A method as in claim 25 wherein the agent periodically access the logical host for information in accordance with a predetermined schedule.
36. A method as in claim 35 wherein accessing by the agent is performed in the background, in a process transparent to the user.
37. A method as in claim 32 the agent maintains a log of all software updates retrieved from the logical host and/or installed.
38. A computing system comprising : a processing unit provided with an operating system; input and output devices; at least one software installed; a self-contained, browser and platform independent agent associated with the software, wherein the agent is configured to poll a logical host for information independent of application process at the logical host beyond the initial handshake between the logical host and the agent and to retrieve information from the logical host.
39. A computer program product comprising : a program module having a particular utility; an agent module functionally coupled to the program module, wherein the agent module is installed when the program module is installed in a computer, and wherein the agent is structured and configured to: poll a logical host for information independent of any application process at the logical host beyond the initial handshake between the logical host and the agent; retrieve information concerning the software from the logical host.
PCT/US1999/023111 1998-10-05 1999-10-05 An improved system architecture for information messaging WO2000020944A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU62876/99A AU6287699A (en) 1998-10-05 1999-10-05 An improved system architecture for information messaging

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16869298A 1998-10-05 1998-10-05
US09/168,692 1998-10-05

Publications (3)

Publication Number Publication Date
WO2000020944A2 true WO2000020944A2 (en) 2000-04-13
WO2000020944A9 WO2000020944A9 (en) 2002-08-22
WO2000020944A3 WO2000020944A3 (en) 2004-03-25

Family

ID=22612544

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/023111 WO2000020944A2 (en) 1998-10-05 1999-10-05 An improved system architecture for information messaging

Country Status (2)

Country Link
AU (1) AU6287699A (en)
WO (1) WO2000020944A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111585875A (en) * 2019-11-27 2020-08-25 上海芒宇信息科技股份有限公司 Fire-fighting and security-protection integrated edge computing gateway and application thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5813007A (en) * 1996-06-20 1998-09-22 Sun Microsystems, Inc. Automatic updates of bookmarks in a client computer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5813007A (en) * 1996-06-20 1998-09-22 Sun Microsystems, Inc. Automatic updates of bookmarks in a client computer

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ARTHUR VAN HOFF, JOHN GIANNANDREA, MARK HAPNER, STEVE CARTER, MILO MEDIN: "The HTTP Distribution and Replication Protocol" W3 CONSORTIUM, [Online] 25 - 25 August 1997, pages 1-11, XP002243609 Retrieved from the Internet: <URL:http://www.w3.org/TR/NOTE-drp-1997082 5.html> [retrieved on 2003-06-06] *
C. MIC BOWMAN, PETER B. DANZIG, DARREN R. HARDY: "Harvest: A Scalable, Customizable Discovery and Access System" UNIVERSITY OF COLORADO, [Online] 12 - 12 March 1995, pages 1-29, XP002243610 Boulder, Colorado; United States Retrieved from the Internet: <URL:http://citeseer.nj.nec.com/cache/pape rs/cs/2109/ftp:zSzzSzftp.cs.colorado.eduzS zpubzSztechreportszSzhardyzSzHarvest.pdf/b owman95harvest.pdf> [retrieved on 2003-06-06] *
DOUGLIS F ET AL: "TRACKING AND VIEWING CHANGES ON THE WEB" USENIX TECHNICAL CONFERENCE, XX, XX, 22 January 1996 (1996-01-22), pages 165-176, XP000616939 *
FRED DOUGLIS, THOMAS BALL, YIH-FARN CHEN, ELEFTHERIOS KOUTSOFIOS: "The AT&T Internet Difference Engine Tracking and Viewing Changes on the Web" AT&T LABS RESEARCH, [Online] 31 - 31 January 1998, pages 1-29, XP002243611 Retrieved from the Internet: <URL:http://citeseer.nj.nec.com/cache/pape rs/cs/1906/http:zSzzSzwww.research.att.com zSz~dougliszSzpaperszSzaide.pdf/douglis98i nternet.pdf> [retrieved on 2003-06-06] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111585875A (en) * 2019-11-27 2020-08-25 上海芒宇信息科技股份有限公司 Fire-fighting and security-protection integrated edge computing gateway and application thereof
CN111585875B (en) * 2019-11-27 2022-09-20 上海芒宇信息科技股份有限公司 Fire-fighting and security-protection integrated edge computing gateway and application thereof

Also Published As

Publication number Publication date
WO2000020944A9 (en) 2002-08-22
AU6287699A (en) 2000-04-26
WO2000020944A3 (en) 2004-03-25

Similar Documents

Publication Publication Date Title
EP1472622B1 (en) Method and apparatus for providing content to a mobile terminal
US9807200B2 (en) System and method providing user interactivity across a network
US6769019B2 (en) Method of background downloading of information from a computer network
US7275243B2 (en) Mobile download system
US20020073165A1 (en) Real-time context-sensitive customization of user-requested content
KR20010043446A (en) Integrated advertising for wireless communication devices with rich content and direct user response mechanism
JP2001523853A (en) System and method for displaying data from multiple data sources in near real time
US20020129101A1 (en) Event-driven information display system and event-driven information display method
WO2002065359A1 (en) Electronic information management system
WO2000020944A2 (en) An improved system architecture for information messaging
WO2001044988A1 (en) Method of background downloading of information from a computer network
WO2003014957A1 (en) Identification of users on a network
WO2000055729A1 (en) Dedicated internet access device and method for use
KR100592079B1 (en) System for Providing On-line Personal Service and Method for Managing On-line Target Business Using Screen Saver
TW466450B (en) Method and system for establishing an internet interface
JP2014089742A (en) Method and apparatus for providing content to mobile terminal
KR200328158Y1 (en) System for Providing On-line Personal Service and Target Business Using Screen Saver
LOGIC LINKS~ I~ ROPLETS~

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

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

AL Designated countries for regional patents

Kind code of ref document: A2

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

WA Withdrawal of international application
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 2000575004

Format of ref document f/p: F

AK Designated states

Kind code of ref document: C2

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

AL Designated countries for regional patents

Kind code of ref document: C2

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

COP Corrected version of pamphlet

Free format text: PAGES 1/7-7/7, DRAWINGS, REPLACED BY NEW PAGES 1/7-7/7

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS (R.69(1) EPC) DATED 18-11-2002

122 Ep: pct application non-entry in european phase