Managing distributed devices with limited connectivity

Information

  • Patent Grant
  • 8478861
  • Patent Number
    8,478,861
  • Date Filed
    Friday, July 6, 2007
    17 years ago
  • Date Issued
    Tuesday, July 2, 2013
    11 years ago
Abstract
A method of managing devices may include downloading information to a courier device from an enterprise. The information may be information for performing a device management operation. The method also includes communicating the information from the courier device to a monitored agent coupled to at least one of a disconnected device and an intermittently connected device.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

Not Applicable.


BACKGROUND

1. Field of the Art


The present disclosure generally relates to managing distributed devices and to the management of distributed devices with limited contact-ability.


2. Background and Relevant Art


Remote management of equipment in the field has become a common practice for many Original Equipment Manufacturers (OEMs). The equipment is frequently distributed over a broad geographical region and often involves hundreds if not thousands or tens of thousands of individual devices. Remote management functions include but are not limited to monitoring and usage data collection, bi-directional file transfer, software update delivery, configuration management, etc. for the device or the monitor agent. These device management functions are most valuable when they contain and operate on accurate and current device data. Furthermore, one single system for providing these types of functions, regardless of device capability, is important to minimize the need for different business process and/or underlying application functions.


A centralized server system is often used to provide connectivity between the OEMs and the equipment. This connectivity allows the OEM to be much faster in resolving problems with the equipment, in part at least because a centralized server system allows the OEM to manage the devices remotely rather than at the site of each piece of equipment. Such an approach allows the OEMs to be more proactive in preventing problems or be more proactive in addressing problems before they become serious. Remote connectivity also enables OEMs to provide many new value added services, such as automatic consumables replenishment, or add completely new business models (e.g. usage based billing).


One very common hurdle that companies wishing to deploy remotely contactable devices face is the network infrastructure that is deployed at the customer site. Security measures such as firewalls and Internet proxies as well as common IT infrastructure mechanisms such as Network Address Translation (NAT) represent a barrier for direct connectivity to the equipment. In particular, to provide direct connections between all the equipment and the centralized server system would often be prohibitively expensive. As a result, many approaches have been proposed that involve use of the Internet or other global networks. One difficulty with such approaches is that security measures frequently block access to on-site devices by external systems. Solutions to these problems have also been proposed as described in patent application Ser. No. 10/028,126, Method and apparatus for managing intelligent assets in a distributed environment. These methods, however, require network connectivity from the device to the central server, often via the Internet or other public networks.


While such an approach may allow the system to communicate with devices that can communicate with the central server, it may be difficult or even impossible to communicate with devices which are not allowed or otherwise unable to communicate with the central server via a network. These solutions are further complicated by devices that may occasionally have network connectivity to the central server, but intermittently lose that connectivity for extended periods of time.


SUMMARY OF THE INVENTION

In one example, a method of managing distributed devices may include downloading information to a courier device from an enterprise. The information may be information for performing a device management operation. The method also includes communicating the information from the courier device to a monitor agent coupled to at least one of a disconnected device and an intermittently connected device.


In a system that communicates information between devices and an Enterprise, a method is provided for managing the devices. The method includes selecting devices coupled to at least one monitor agent to perform a device management operation; determining whether the selected monitor agents are disconnected or connected; performing the device management operation between the enterprise and the device if the monitor agent is connected over a network, and if the monitor agent is disconnected performing the device management operation on the device using an intermediate courier device.


This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.


Additional features and advantages will be set forth in the description that follows, and in part will be obvious from the description, or may be learned by the practice of the teachings herein. Features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. Features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.





BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and other advantages and features can be obtained, a more particular description of the subject matter briefly described above will be rendered by reference to specific embodiments illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments and are not, therefore, to be considered to be limiting in scope, embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:



FIG. 1A illustrates a system managing configurations of distributed devices having varying degrees of connectivity according to one example;



FIG. 1B is a flowchart illustrating a method of performing device management operations on distributed devices according to one example;



FIG. 2A is a flowchart illustrating one example for performing a device management operation on an intermittently connected device.



FIG. 2B is a flowchart illustrating a method of performing a device management operation on a disconnected device according to one example;



FIG. 3 is a flowchart illustrating one example of creating a site visit on an Enterprise server;



FIG. 4 is a flowchart illustrating a method of delivering messages and picking up stored device information and responses according to one example;



FIG. 5 is a flowchart illustrating a process for reconciling site visit results; and



FIG. 6 is a schematic diagram of a courier device coupled to a disconnected device for performing a device management operation according to one example;





DETAILED DESCRIPTION OF THE INVENTION

Systems, devices, and methods are described herein for performing device management operations on distributed devices. In at least one implementation, the device management operations are performed using one or more monitor agents that are coupled to the distributed devices. The system is able to perform the device management operation on the distributed devices regardless of whether the devices are able to access an Enterprise over a network. In one example, the distributed devices are coupled to at least one monitor agent, which may provide communication between the distributed device and an Enterprise system. A distributed device that is coupled to a monitor agent that is disconnected from the Enterprise, or a disconnected monitor agent, may be referred to as a disconnected device. Similarly, a distributed device that is coupled to a monitor agent that is connected the Enterprise may be referred to as a connected device. Further, a distributed device that is coupled to a monitor agent that is intermittently connected to the Enterprise may be referred to as an intermittently connected device. These distributed devices may be thus described regardless of whether the monitor agent resides within the distributed device or is otherwise communicatively coupled to the distributed device. It will be understood that the communication between external devices, such as the Enterprise system or courier devices as described below will be performed on each distributed device using a monitor agent. The system may make use of an intermediate courier device to perform the device management operation on disconnected devices. The courier device receives all the information necessary to perform the device management operation from the enterprise. The courier device then accesses the disconnected monitor agent to perform the device management operation on the associated device.


The system audits the communication between the Enterprise and connected devices, as well as the communication between a courier device and the Enterprise and the courier device disconnected device.


The system may also perform device management operations on devices which are only intermittently connected. In this scenario, the intermediate Courier is not required, but Courier-like functionality is required on the device and support for such connectivity modes is required on the enterprise server. For example, a monitor agent that determines a connection is present can simply communicate with the enterprise server as a connected device. If and when the connection to the enterprise is not possible, the monitor agent can detect this and change communication modes from “connected” to “disconnected” where data is stored in persistent storage rather than communicated over the network. When the connection is once again possible, the monitor agent can detect this and upload all stored device information for processing directly to the enterprise server and change back to a connected communication mode. The enterprise also needs to be aware of the intermittent loss of connectivity so it can detect and handle error conditions correctly. For example, a timeout for processing a device bound message would be different for an intermittently connected monitor agent versus a connected monitor agent. Intermittently connected monitor agents may also work with the Courier in the same fashion as disconnected monitor agents. When the Courier is servicing intermittently connected monitor agents, safe guards may be in place to preserve the order of order-dependent remote management operations.


As shown in FIG. 1A, the system can include an Enterprise 100 with a database 120 and a server 110 that communicates with at least one device that may include a disconnected device 200 as well as an intermittently connected device 300 and a connected device 400. The devices 200, 300, 400 are shown as separate and distinct devices for ease of reference. Each of the devices 200, 300, 400 is configured to communicate device information 210, 310, 410 to an external device or system to allow the Enterprise 100 to perform device management operations. In particular, a courier device 215 may be used to deliver device management information from the disconnected device 200 and to retrieve the device information 210.


A disconnected device 200 may include a device operating in a location in which network connectivity is not desired and/or not possible. An example may include a device located in a hospital setting where only local network traffic is allowed. Another example is a device that simply does not connect to a local or global network, such as a roof top air handling unit. A further example may be a device, such as a medical device, in which network connectivity for the device is not desired in the device's typical operating environment, such as in an operating room or an emergency room in which the network connectivity may interfere with the device operation. Intermittently connected devices may be devices that are moved from one location to another where the network availability may change.


Additionally, varying degrees of connectivity may be found within the same device depending on the circumstances. For example, portable equipment whose wired connection may be disconnected for portability or wirelessly networked equipment that may be operated out of range of the wireless network. The devices may include, without limitation, a power meter, MRI machine, printing press, X-Ray machine, or other devices that include, or can be adapted to include, a monitor agent. These devices may vary in complexity and may have a set of subsystems associated with them.


Each device is coupled to a monitor agent 220, 320, and 420 respectively. Alternatively (not shown in the figure) a single monitor agent may be coupled to a plurality of devices. The monitor agents 220, 320, 420 may be contained within a corresponding device or may be connected to the device by way of a serial port, USB, firewire, Ethernet, or the like. Each monitor agent 220, 320, 420 is configured to monitor the device status, usage, software configuration, etc. and verify that the device is properly functioning and maintained. Each monitor agent 220, 320, 420 collects device information 210, 310, 410 which includes, but is not limited to basic device profile information, device serial number, unique identifiers, data readings, installed components, and software versions. The device information may be collected for several reasons, including but not limited to, enterprise user requests, monitored conditions as met by defined rules, monitor agent restarts, software updates applied, etc. This information ultimately is sent back to the Enterprise server 110. The method for communicating the information varies depending on the connectivity mode of the monitor agent. For connected monitor agents, this information is communicated to the Enterprise server 110 directly.


Disconnected monitor agents 220 store this information in persistent storage and communicate the information to a courier device 310 when the courier device 310 is on site, and the courier device 310 subsequently uploads it to the Enterprise server 110. An intermittently-connected monitor agent 320 sends the information directly to the Enterprise server 110 when it has network connectivity to the Enterprise server 110 and stores this information locally in persistent storage when it does not have network connectivity to the Enterprise 100. The intermittently-connected monitor agent 320 uploads stored information when connectivity is restored. In addition, the intermittently-connected monitor agent 320 may communicate with the courier device 215 to upload stored device information.


In particular, the device information 410 may be sent directly from the connected monitor agent 420 to the Enterprise 100 over a network 130 based on established conditions and/or rules, which may include, without limitation monitoring data, device usage data, software configuration information and the like. This information may be sent, without limitation based on user requests, scheduled tasks, device activity, software updates, requests received by external control or systems, and/or rule evaluation.


If the ability of the enterprise 100 to reach a monitor agent over a network 130 is limited, such as with the disconnected monitor agent 220 or with the intermittently connected monitor agent 320, the disconnected monitor agent 220 and the intermittently connected monitor agent 320 may be configured to store the information for transmission at a later point. The intermittently connected monitor agent 320 can upload the stored information when network connectivity is restored. The disconnected monitor agent 220 may communicate the stored device information 210 to a courier device 210 when the courier device 210 is on site, as will be discussed in more detail below. In particular, the disconnected monitor agent 220 may communicate with the courier device 215 when the courier device 215 is on site and discovered by the courier device 215.


The intermittently connected monitor agent 320 may also transmit the device information 310 in a similar manner as occurs in the connected scenario when connectivity over network 130 is available, or store the information when the network connectivity over network 130 is not available. The intermittently connected monitor agent 320 may be configured to send the stored device information 320 over the network 130 when network connectivity becomes available and/or to send the stored device information 320 to a courier device 215. For ease of reference, the intermittently connected monitor agent 320 is illustrated communicating over the network 130.


Each monitor agent 220, 320, 420 collects the device information 210, 310, 410 from the sources of device data, such as a database, a registry, the file system, or data collection protocols. The device information 210, 310, 410 may include various classes of information including: monitoring data, usage data, and configuration data, operational status, operational data, usage information, location information, environmental information, SW/HW version information (i.e., “configuration” information), or any data available on the device. To collect the device information 210, 310, 410 the monitor agents 220, 320, 420 may use plug-in modules using either standard or device-proprietary methods.


The manner in which the Enterprise 100 communicates with the devices 200, 300, 400 by way of the monitor agent 220, 320, 420 may be selected according to the connectivity of the monitor agent. In particular, the Enterprise 100 may communicate with the intermittently connected monitor agent 320 and the connected monitor agent 420 over the network 130, such as the global network, the Internet, a wide area network or other network. The Enterprise 100 may communicate with the disconnected monitor agent 220 using a courier device 215. The courier device 215 has a courier application 225 residing thereon that allows the courier device 215 to interactively communicate with the disconnected monitor agent 220 to perform device management operations previously requested on the Enterprise 100. Device management operations may include, without limitation, delivering software updates and other communications from the Enterprise 100 and receiving requests, receipts, and other information for delivery to the Enterprise 100. The device management operations may be performed on the end devices 200, 300, 400 and/or on the monitor agents 220, 320, 420. One exemplary implementation of a courier application will be described in more detail with reference to FIGS. 2A-2B.


Continuing with reference to FIG. 1A, the Enterprise 100 is also configured to communicate with a monitor agent 320 that is intermittently connected to the network 130. The monitor agent 320 associated with the intermittently connected device 300 may be configured to determine whether a connection to the Enterprise 100 via the network 130 is available. If a network connection is available, the monitor agent 320 may communicate with the Enterprise 100 over the network 130. If a network connection is not available, the monitor agent 320 may be configured to store the information in non-volatile memory until it desirable to transmit the information, such as when a network connection is reestablished.


Still referring to FIG. 1A, the Enterprise 100 is also configured to communicate with a connected device 400 by way of monitor agent 420. In particular, the Enterprise 100 may communicate with the monitor agent 420 through the network 130. Accordingly, the Enterprise 100 is able to communicate with various types of devices over the network 130 or by using a courier device 215.


The Enterprise 100 is able to perform device management operations on each of the devices using these types of communication. Accordingly, the monitor agent may be configured to communicate with all of the devices, regardless of ability of the enterprise 100 to contact the devices 200, 300, 400 over the network 130. As introduced, examples will be provided in which the monitor agents allow communication between devices and the Enterprise 100, beginning with a disconnected device.



FIG. 1B is a flowchart of one exemplary method for managing remote devices. The method begins in step S10 by receiving registrations from devices. Step S10 can occur immediately before or much earlier than any subsequent step, for example, days, weeks, months, or even years later. A technician can build the defined configuration based on the hardware and software specification for the device. The devices which are connected or intermittently connected 400, 300 to the Enterprise 100 over the network 130 may send the registrations over the network 130. Disconnected devices may be register with the Enterprise 100 in a different manner, such as through the use of the courier device 215, by the devices manufacturer, or manually by a user accessing the Enterprise over a network.


Accordingly, at step S11 the method continues when a device management operation is scheduled. Scheduling a device management operation may include selecting a device or group of devices. Selecting a device or group of device may be accomplished by selecting the device or group of device themselves or by selecting a device or group of devices with one or more desired characteristics. For example, scheduling a device management operation may include scheduling a device management operation for a group of medical devices with similar characteristics, such as devices of a certain type made by a given manufacturer.


Further, if a user schedules the device operation management, the user may do so without a knowledge of which devices are connected or disconnected at a given time. In particular, the Enterprise 100 is configured to perform the device management operation on the intermittently connected device 300 and the connected device 400 using the network 130 and to perform the device management operation on the disconnected device 200 using the courier device 215. The selection may be performed automatically, as will be discussed in more detail below.


At step S12, the Enterprise 100 determines which devices should receive the software distribution. In one example, the Enterprise 100 analyzes the configuration of each of the devices to determine whether a given device is eligible to receive the device management operation. If a device is eligible for the device management operation, at S13 the Enterprise 100 determines which information should be sent to and/or received from the device.


At S14, the Enterprise 100 then determines a communication mode for performing the device management operation. The communication mode the Enterprise 100 uses may depend, at least in part, on the connectivity of the target monitor agent. In particular, the Enterprise 100 may contact devices over the network 130, such as the intermittently connected device 300 and the connected device 400. The Enterprise 100 is also able to manage disconnected devices 200 through the use of a courier device 215 and/or a courier application. Accordingly, the Enterprise selects between communication with a device over a network and communication using the courier device 215 as an intermediary between the disconnected device 200 and the Enterprise 100. Once the Enterprise has determined how to communicate with each device, at S15 the device management operation is performed on each device.



FIG. 2A is a schematic diagram of a disconnected device 200 with a monitor agent 220 that is in communication with a courier application 225. The courier application 225 is shown as residing on a courier device 215. The courier application 225 communicates with the monitor agent 220 to perform device management operations, which include, without limitation, determining the configuration of the disconnected device 200, transmitting appropriate software updates stored on the courier device, and receiving monitoring or usage data from the monitor agent 220 for communication to the Enterprise 100.


In one example, the courier device 215 may be a portable device that may be moved to the physical location of a disconnected device. In another example, the courier device 215 may be a stationary device to which the disconnected device is docked.


In either case, the courier device 215 may have persistent storage 227 in communication with the courier application 225. The persistent storage 227 is configured to store the instructions for the device management operations and all other data that is required to perform the operations. The device persistent storage 227 may also store information that is generated during the execution of the device management operations, which the monitor agent 220 communicates to the courier application 225. The device persistent storage 227 may also store information previously stored by disconnected device 200 on persistent storage 235 that was collected or generated while disconnected device 200 was not connected to the courier application 225. The information from the monitor agent 220 may then be uploaded to an Enterprise 100 at a later point. In the present example, the courier application 225 includes a courier enterprise surrogate 229 residing thereon that is configured to control the interaction between the monitor agent 220 and external connections. The courier enterprise surrogate 229 allows the courier device 215 to be configured to access the Enterprise 100 (FIG. 1A) in a number of ways. In particular, the courier device 215 may be configured to access a global or other network in order to access the Enterprise (100).


The monitor agent 220 also includes a monitor agent OCM 230. The monitor agent OCM 230 allows the monitor agent 220 to communicate with various types of networks and devices. In particular, the monitor agent OCM 230 may be configured to determine the appropriate protocol for sending outgoing communication and for subsequently ensuring the communication is in the appropriate protocol. The monitor agent OCM 230 may also be configured to interact with the courier device 215 as well as to allow for any number of failed attempt retries as desired. In the present example, the monitor agent OCM 230 is shown in communication with the courier enterprise surrogate 229. The monitor agent OCM 230 can also recognize if there is no connection and store the information on the disk.


Each of the devices 200, 300, 400 illustrated in FIG. 1A may include a monitor agent having an OCM. The principles of the monitor agent OCM 230 discussed generally below may be applied to the other monitor agents as well. The monitor agent OCM 230 is switchably coupled to a persistent storage 235 and to an external line 240. In the illustrated example, the persistent storage 235 and the monitor agent 230 both reside on the disconnected device 200. In other examples, the monitor agent 230 and persistent storage 235 may on a separate device communicatively coupled to the disconnected device 200. Methods for such communicative coupling may include, but are not limited to, serial, USB, Ethernet, and other communicative means. The OCM 230 will direct communications to be output and/or information to be conveyed to the monitor agent to the persistent storage 235 or the external connection 240 according to the external connections available to the monitor agent. The determination of which external connections may be made by the OCM 230 based on network access to the Enterprise as determined by the OCM or the availability of courier devices as determined by discovery module 245.


In particular, if an external connection is available, the monitor agent OCM 230 may be configured to route the communication over the external line. Similarly, if no external connection is available, the monitor agent OCM 230 may be configured to route the communication to the persistent storage 235. Information routed to the persistent storage 235 may be stored there until such time as an external connection becomes available. At that point the monitor agent OCM 230 may cause the information stored on the persistent storage 235 to be routed over the external connection 240. The monitor agent OCM 230 is coupled to a device discovery module 245. The device discovery module 245 interacts with external devices that may attempt to access the monitor agent 220.


The discussion will now turn to the specific example of the monitor agent OCM 230 operating in the disconnected device 215. The courier application 225 includes a courier discovery module 250 that communicates with the device discovery module 245 to establish communication between the monitor agent 220 and the courier application 225 as previously discussed. Once communication has been established, the monitor agent OCM 230 communicates with the courier application 225 through external connection 240 and to the courier enterprise surrogate 229 in particular.


The persistent storage 235 associated with the monitor agent 220 is shown as including a device inbox 255 as well as a device outbox 260. The device inbox 255 is configured to receive messages, updates, or other information transmitted from an external source to the monitor agent 220. In the present example OCM 230 is configured to receive information from a courier inbox 270 In a similar fashion, the device outbox 260 is configured to send information to a courier outbox 265.


Several types of information may be stored in the device outbox 260 and/or sent to the courier outbox 270. This information may be related to events within the device. Some events may include installation of new software. The information stored in the device outbox 260 may be retained until confirmation is received that the information has been successfully received by the Enterprise 100 (FIG. 1A).


All of the information communicated between the monitor agent 220 and the courier application 225 is audited such that a record or receipt of the data exchanged is maintained on the monitor agent 220, the courier device 215, or both. Once the communication between the monitor agent 220 and the courier application 225 is complete, the courier device 215 may be disconnected from the monitor agent 220.


The courier device 215 may be used to perform any number of device management operations on any number of devices, including disconnected devices. After the device management operations are completed, the courier device 215 may be connected to the Enterprise 100 (FIG. 1A). Once the courier device 215 is coupled to the Enterprise 100, the information uploaded from the monitor agent 220 to the courier outbox 270 is then transferred from the courier outbox 265 to the Enterprise 100.


A receipt of the communication is stored in the courier inbox 270, in the Enterprise 100, or both. While the courier device 215 is coupled to the Enterprise 100, the courier device 215 may download additional packages to perform additional device management operations on disconnected devices, if such packages are available. As previously discussed, in order to perform device management operations on the disconnected devices, the courier device is connected to a monitor agent.


When the courier device 215 is coupled to the monitor agent 220, the record of the Enterprise's receipt of the information previously uploaded to the courier device is communicated to the monitor agent. Receiving the receipt that the previously conveyed information has been received by the Enterprise, the previously transmitted information may be deleted from the monitor agent 220, as there is a record that the information has been received.



FIG. 2B is a flowchart of one exemplary method for performing a device management operation on disconnected devices. By way of introduction, the method illustrated in FIG. 2 may include the steps of performing remote management operations with different message management at step S20, creating a site visit at step S21, downloading a site visit to a courier at step S22, traveling to a site with the courier at step S23, delivering remote management operations messages and picking up stored device information and responses at step S24, returning to a location where a network connection to the enterprise is possible at step S25, and reconciling site visit results with the Enterprise at step S26. Each of these steps will now be discussed in more detail below.


As introduced, the method begins at step S20 by performing remote management operations with different message management. The messages may contain anything, but may specifically contain remote management operation requests such as software updates, data collection requests, configuration management data collection requests, file transfer requests, etc. In one example, users of the Enterprise may request remote management operations on disconnected devices in a similar manner as they do for requesting remote management operations on connected devices. Internally, the Enterprise server manages these messages slightly differently.


For example, in the case of performing device management operations on connected monitor agents, the messages may stay in the message queue indefinitely or the messages may have some delivery timeout associated with them. In the case where the message is for a disconnected monitor agent, the timeout (if present) will be consistent with the expected frequency of a site visit for the given monitor agent, or an arbitrary value. Timeout value for a disconnected monitor agent may generally be larger than for a connected monitor agent.


Once the message management operation has been performed, the method continues at step S21 when a site visit is created. In one example, the site visit may be created on the Enterprise system. The site visit as used herein is a construct that represents the intention to make a site visit to deliver the messages. The site visit may have information such as the assigned field service technician, delivery date, name, description, the user who created it, a state, etc. The state of the site visit may initially be that site visit is ready for download. Such a state may indicate that the site visit has been created and the site visit and/or the messages associated with the site visit are ready to be downloaded to a courier. Other states of the site visit may include that the site visit has been downloaded, activated, reconciled, or cancelled. If the site visit has been downloaded, the site visit and all associated device information are downloaded to a courier device. An activated state indicates the site visit has been activated at least once on site to deliver messages and content. This state may be entered multiple times to deal with sites with a large number of monitor agents. A reconciled state occurs when the results from the site visit have been reconciled with the Enterprise. A cancelled state occurs when a user has decided to cancel the site visit for some reason. One specific example of method for creating a site visit will be discussed in more detail with reference to FIG. 3.



FIG. 3 is a flowchart illustrating one example of creating a site visit on an Enterprise server. The method begins at step S30 when the user requests the site visit to be made for one monitor agent or a group of monitor agents at a site. The user may specify many of the parameters for the site visit. These parameters may include specifying the field technician that will deliver the site visit, the expected delivery date, etc.


The method continues at step S31 when messages that have been created for the disconnected monitor agents that are in the list from S10 are then associated with the site visit. The state of the messages are appropriately updated to indicate they are “in flight” to the monitor agents. Next, at step S32 the Enterprise system determines whether to send out notifications to the users. For example, the Enterprise system may be configured to send out notifications to users. Users may include the field service technicians to which the site visit is assigned. The Enterprise system may also send out notifications to other users or Enterprise systems for business process integration.


Continuing at step S33, the Enterprise system then send any notifications to users and external systems that should be updated about the creation of the site visit. Notifications may also be sent on other updates to the site visit, including re-assignment to another field server technician, changes to the expected delivery date, and state changes (such as cancellation).


Finally, at step S34 the Enterprise system initiates any message-management functions, such as setting timeouts, etc. Accordingly, the Enterprise system may be configured to create a site visit and notify users of the site visit. The flowchart illustrated in FIG. 3 is only one exemplary process for step S21 illustrated in FIG. 2.


Turning now to FIG. 2, once the site visit has been created, the site visit is downloaded to a courier device at step S22. Downloading the site visit to the courier device may be initiated by the courier device. In one example, an intermediate software application and portable computer may be used to transfer messages between the Enterprise server and disconnected monitor agents.


The user of the courier device requests to list the site visits that are assigned from them. From the list, the user may choose to download one or more site visits. The download process may include downloading the messages that are to be delivered to the disconnected monitor agents associated with the site visit. In addition to the remote management operation messages, the content to fulfill the messages may also be downloaded. This content may include, but is not limited to, device profile information, software packages, files to transfer, etc. The messages and content may be stored locally on the courier device's persistent storage. The messages and content may be compressed on the Enterprise and decompressed at the Courier after download or just before it is needed to save download time, bandwidth, and storage space on the Courier.


Some of the content may be shared across site visits. Examples include software packages or other files to transfer that could be large. This may be beneficial because it may reduce or minimize site visit download time and storage consumed on the courier device.


Next, a user, such as the field service technician, takes the courier device with the downloaded site visits to the various sites at step S23. In the case where a permanent courier device is resident at the site, this step may be omitted.


With courier device at the site of the disconnected monitor agent, at step S24 the courier device delivers remote management operations messages and picks up stored content and responses. For example, once on site, the field service technician may use the courier device to locate and deliver the remote management operation messages and the associated content. In addition to delivering Enterprise-to-monitor agent operation requests, the courier device also collects the information that the disconnected monitor agents may have stored to the persistent storage associated with the disconnected monitor agent as well as the information that may result from the delivery of the remote management operations. All of the information collected from the disconnected monitor agents may be stored on the courier device's persistent storage for later upload to the Enterprise server. One specific example of step S24 delivering messages and picking up stored content and responses is illustrated in more detail in FIG. 4.



FIG. 4 is a flowchart illustrating a method of delivering messages and picking up stored content and responses according to one example. The method begins at step S40 when the courier device discovers the disconnected monitor agents. Since the field technician may not know how to communicate with the monitor agents on the site, it may be desirable to have a way to “find” the monitor agents that are disconnected from the Enterprise server and publish the local address of the courier application running on the courier device.


To accomplish this, any means of discovering monitor agents is applicable. For example, a specific discovery message could be sent to all monitor agents that are listening to a predefined multi-cast group or broadcast address. Well-defined discovery protocols may also be used, such as the Service Location Protocol (SLP). Numerous other protocols are available for achieving the discovery of monitor agents.


Once found, filtering techniques may be used to avoid discovering monitor agents that are not under management by the field service technician or the organization represented by the field server technician. The monitor agents that are discovered may also be authenticated against the profile information downloaded as part of the site visit download step.


The list of monitor agents that are discovered (and authenticated) may be displayed to a user. The user may choose to deliver and pick up content to one or more of the monitor agents.


Once the field technician chooses to communicate to the discovered monitor agents, the monitor agents are notified to thereby “capture” the disconnected monitor agents at step S41. Once notified that the monitor agent should be captured, the process may include redirecting all communications to the Courier and receiving and storing stored device content at step S42. In one example, the disconnected monitor agents may take upload previously stored content to the Courier. This operation could optionally include bundling messages into a single entity, compressing the content, etc. for the sake of efficiency. The disconnected monitor agents may also mark the uploaded messages or message bundles as “waiting for receipt”. Further, the disconnected monitor agents may redirect communications from the local persistent storage to the courier application. At this point, the Courier may be serving as a surrogate for the Enterprise server.


At step S43, the method continues by delivering device management operations to the disconnected monitor agents that have been captured. The disconnected monitor agents may have several modes of operation. The monitor agents may “pull” messages using a polling paradigm or may be “contactable” and allow the messages to be pushed to the monitor agents. If using the polling scenario, the capture can be used to trigger high frequency polling to minimize the polling latency and hence time spent on site. In either model, the messages that are stored on the Courier are delivered to the now Courier-connected monitor agents.


At step S44, many remote management operations may require that the monitor agent send back some type of information to the Enterprise. For example, a software update request operation may require that the monitor agent send back status updates to track the progress of the installation (downloaded, installed, activated, etc.). Since the Courier is the surrogate for the Enterprise server, these notification messages are sent to the Courier and stored in the Courier persistent storage. In addition, device information as described above may also be stored in the Courier persistent storage. In one example, information sent to the Courier may be compressed on the monitor agent and then later decompressed on the Courier.


Steps S43 and S44 may repeat until the Courier-connected monitor agent completes all remote management operations. Once complete, the connection to the Courier is released and the monitor agents return to their disconnected mode of operation, storing Enterprise-bound messages on their local persistent storage. Thus, step S45 includes determining if the delivery and pickup step is complete and repeating steps S43 and S44 until the delivery and pickup step is complete. Accordingly, FIG. 4 is one example of performing step S25 of FIG. 2.


Once the step of delivering the remote management operations messages and picking up stored content and responses is complete at step S25, at step S26 the courier device is returned to a location where a network connection the Enterprise is possible. In the case where a permanent Courier is resident at the site, this step may be omitted.


Finally, at step S27 results of the site visit, which includes, but is not limited to, the information about the delivery of messages to the monitor agents and all collected information, is communicated to the Enterprise. This closes the loop on the communications between Enterprise and monitor agent. All of the information from the site visit may be communicated back to the Enterprise.



FIG. 5 is a flowchart illustrating a process for reconciling site visit results with the Enterprise. To close the loop on the communications between the Enterprise and monitor agents, the information collected from the disconnected monitor agents as well as the site visit state information (such as the message delivery status) may be sent to the Enterprise. The process may be initiated from the courier device user when there is connectivity to the Enterprise application. Accordingly, the process begins at step S50 when a user of the courier device initiates the reconciliation of information for one or more site visit operations.


At step S51, the courier device uploads the content collected from the monitor agents to the Enterprise server. This information includes the messages or message bundles collected from the disconnected monitor agents as well as the information that was produced as a result of the delivery of the remote management operations.


Next at step S52, when the Enterprise receives information that was collected from a disconnected monitor agent, the Enterprise may generate a receipt for the monitor agent so that it may cleanup the stored information. This receipt may simply be a remote management request that will be delivered on the next site visit. The monitor agent may also have an age-based mechanism to cleanup the messages or message bundles even if a receipt is not received.


Thereafter, at step S53 the state of the site visit is also sent to the Enterprise. The state includes the on site actions taken by the Courier user, such as activation of the site visit. The state also includes information such as status of message deliveries to maintain the message management processing on the Enterprise.


Finally, at step S54 it may be desirable for the courier device to mark the site visit as reconciled after successfully uploading and reporting state to the Enterprise server. The Enterprise may in turn use this final closure notice on the site visit to do any remaining cleanup, notifications (to users and/or external Enterprises) and processing on the site visit.


The management of a disconnected monitor agent has been described with the use of a monitor agent in communication with a courier application running on a courier device. As previously introduced, other device types may be managed using monitor agents. In one example, the monitor agents 320 and 420 illustrated in FIG. 1A are substantially similar to the monitor agent 220 described above.


The monitor agent 320 includes an outgoing communication module (OCM) 330. The OCM 330 is configured to determine whether a connection is available to the Enterprise 100 (FIG. 1A) and to manage communication of the monitor agent 320 with the Enterprise. If a connection to the Enterprise 100 is not available, the OCM 330 stores the information in persistent storage 335. If the OCM 330 determines that a connection is available and that communication with the Enterprise 100 is appropriate, the OCM 330 may communicate with the Enterprise 100 to perform device management operations. In addition to performing device management operations, the OCM 330 may also directly upload (just like the courier does) the data that was stored while the monitor agent was disconnected. By uploading the data directly, the receipt also comes back directly to the monitor agent so cleanup may be performed.



FIG. 6 is a flowchart illustrating a method of delivering messages and retrieving content and responses from an intermittently connected monitor agent. In one example, a monitor agent can also contain selected capabilities of the courier device to efficiently transition between connected mode and disconnected mode.


The Enterprise may treat intermittently connected monitor agents the same as or similar to a disconnected monitor agent with respect to the message management. For example, the Enterprise may use timeout values based on the expected frequency of the monitor agent being connected, or some arbitrary timeout value.


The process begins at step S60 with normal monitor agent processing, In particular, Enterprise-bound information may be generated in response to local monitoring, user input, or other device events. Examples of such information include submitting a notification of a fault condition or high frequency data readings around an event.


Next, at step S71 the monitor agent can detect if it has a connection and behave differently based on the status of the connection. Several methods can be used to determine if the connection is present, such as a “ping” (ICMP) to the Enterprise destination, a simple network connection to the Enterprise endpoint, or a full-blown service invocation (using Web Services, for example).


If the determination at step S61 is that the connection is not available, the outbound message is stored on the local persistent storage for processing later at step S62. If the determination at step S61 is that there is a connection, the monitor agent checks if stored outbound messages are present at step S63.


If the determination at step S63 is that there are stored outbound messages, the stored outbound messages are uploaded to the Enterprise at step S64. The stored outbound messages may be uploaded in a similar manner as when the monitor agent is connected to the courier device after which new messages are also sent to the courier device at step S65. If no messages are stored, new messages are sent directly to the courier at step S65. The courier device then uploads the content to the Enterprise as described above. This provides the information to the Enterprise that was generated while the monitor agent was disconnected.


The Enterprise processes the messages the same as if the Courier application had uploaded the messages, including generating receipts for the uploaded content. The monitor agent responds to the receipt in the same way the disconnected monitor agent does.


Finally, as in the simple connected mode case, the message that was generated and initiated the whole process is sent directly to the Enterprise. In another example, once the connection has gone away the message can simply be stored as in step S62.


The communication between the enterprise 100 and the monitor agent 320 can be rejected due to firewalls, NAT, etc., that are implemented to block unwanted communication. The system can use a “polling server” model to enhance the ability to communicate between the monitor agent and the enterprise if needed. The “polling server” model is discussed, for example, in U.S. Patent Publication No. 2003/0118353 entitled Method and Apparatus for Managing Intelligent Assets in a Distributed Environment, which is incorporated by referencing its entirety. Any other polling strategy may also be used.


The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only an illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims
  • 1. A method performed by a courier device configured to communicate with one or more devices, the courier device storing first information relating to a target device among the one or more devices, the first information being received from an enterprise system, the method comprising: discovering a monitor agent that is associated with the target device and that is disconnected from the enterprise system, the monitor agent being connectable to the enterprise system over a network, wherein discovering is performed by a software module on the courier device by attempting communication with the monitor agent and by performing a filtering operation to avoid discovery of at least one other device;capturing the monitor agent to thereby redirect communications from the monitor agent to the courier device;communicating the first information from the courier device to the monitor agent, the monitor agent being disconnected from the enterprise system when the first information is communicated from the courier device, the courier device being separate from the enterprise system; andcommunicating, to the monitor agent, confirmation that the enterprise system received second information previously sent to the courier device by the monitor agent for transmission to the enterprise system, the second information being different from the first information.
  • 2. The method of claim 1, wherein the first information is for performing device management operations when the courier device visits a location of the target device.
  • 3. The method of claim 1, wherein the first information comprises messages and content associated with the target device.
  • 4. The method of claim 1, wherein the first information is compressed.
  • 5. The method of claim 2, further comprising receiving device information from the monitor agent.
  • 6. The method of claim 5, wherein the device information comprises (i) a bundle comprised of pieces of device information or (ii) compressed device information.
  • 7. The method of claim 1, further comprising receiving, from the monitor agent, at least one of device information stored on the monitor agent and responses to messages contained in the first information.
  • 8. The method of claim 1, wherein, during communicating, the courier device is at a site of the target device.
  • 9. The method of claim 1, further comprising receiving the first information from the enterprise system.
  • 10. The method of claim 1, further comprising: receiving device information from the monitor agent, the device information relating to the target device; andcommunicating the device information to the enterprise system.
  • 11. A method comprising: the method of claim 1 performed by the courier device; anda method performed by the enterprise system, the method performed by the enterprise system being performed prior to the method of claim 1 performed by the courier device, the method performed by the enterprise system comprising: selecting the target device;determining that the monitor agent is disconnected from the enterprise system; andsending, to the courier device, the first information and the confirmation that the enterprise system received the second information.
  • 12. A computer-readable storage medium that stores instructions that are executable by a courier device configured to communicate with one or more devices, the courier device storing first information relating to a target device among the one or more devices, the first information being received from an enterprise system, the instructions for performing operations comprising: discovering a monitor agent that is associated with the target device and that is disconnected from the enterprise system, the monitor agent being connectable to the enterprise system over a network, wherein discovering is performed by a software module comprising at least some of the instructions (i) by attempting communication with the monitor agent and (ii) by performing a filtering operation to avoid discovery of at least one other device;capturing the monitor agent to thereby redirect communications from the monitor agent to the courier device;communicating the first information from the courier device to the monitor agent, the monitor agent being disconnected from the enterprise system when the first information is communicated from the courier device, the courier device being separate from the enterprise system; andcommunicating, to the monitor agent, confirmation that the enterprise system received second information previously sent to the courier device by the monitor agent for transmission to the enterprise system, the second information being different from the first information.
  • 13. The computer-readable storage medium of claim 12, wherein the first information is for performing device management operations when the courier device visits a location of the target device.
  • 14. The computer-readable storage medium of claim 12, wherein the first information comprises messages and content associated with the target device.
  • 15. The computer-readable storage medium of claim 12, wherein the first information is compressed.
  • 16. The computer-readable storage medium of claim 13, wherein the operations comprise receiving device information from the monitor agent.
  • 17. The computer-readable storage medium of claim 16, wherein the device information comprises (i) a bundle comprised of pieces of device information or (ii) compressed device information.
  • 18. The computer-readable storage medium of claim 12, wherein the operations comprise receiving, from the monitor agent, at least one of device information stored on the monitor agent and responses to messages contained in the first information.
  • 19. The computer-readable storage medium of claim 12, wherein the operations comprise: receiving device information from the monitor agent, the device information relating to the target device; andcommunicating the device information to the enterprise system.
  • 20. A courier device configured to communicate with one or more devices, the courier device comprising: memory storing (i) instructions and (ii) first information relating to a target device among the one or more devices, the first information being received from an enterprise system; anda processing device to execute the instructions to perform operations comprising: discovering a monitor agent that is associated with the target device and that is disconnected from the enterprise system, the monitor agent being connectable to the enterprise system over a network, wherein discovering is performed by a software module comprising at least some of the instructions (i) by attempting communication with the monitor agent and (ii) by performing a filtering operation to avoid discovery of at least one other device;capturing the monitor agent to thereby redirect communications from the monitor agent to the courier device;communicating the first information from the courier device to the monitor agent, the monitor agent being disconnected from the enterprise system when the first information is communicated from the courier device, the courier device being separate from the enterprise system; andcommunicating, to the monitor agent, confirmation that the enterprise system received second information previously sent to the courier device by the monitor agent for transmission to the enterprise system, the second information being different from the first information.
  • 21. The courier device of claim 20, wherein the first information is for performing device management operations when the courier device visits a location of the target device.
  • 22. The courier device of claim 20, wherein the first information comprises messages and content associated with the target device.
  • 23. The courier device of claim 20, wherein the first information is compressed.
  • 24. The courier device of claim 21, wherein the operations comprise receiving device information from the monitor agent.
  • 25. The courier device of claim 24, wherein the device information comprises (i) a bundle comprised of pieces of device information or (ii) compressed device information.
  • 26. The courier device of claim 20, wherein the operations comprise receiving, from the monitor agent, at least one of device information stored on the monitor agent and responses to messages contained in the first information.
  • 27. The courier device of claim 20, wherein the courier device is configured for communication at a site of the target device.
  • 28. The courier device of claim 20, wherein the operations comprise receiving the first information from the enterprise system.
  • 29. The courier device of claim 20, wherein the operations comprise: receiving device information from the monitor agent, the device information relating to the target device; andcommunicating the device information to the enterprise system.
US Referenced Citations (501)
Number Name Date Kind
4086434 Bocchi Apr 1978 A
4412292 Sedam et al. Oct 1983 A
4497037 Kato et al. Jan 1985 A
4583834 Seko et al. Apr 1986 A
4853946 Elliott et al. Aug 1989 A
4962368 Dobrzanski et al. Oct 1990 A
4964065 Hicks et al. Oct 1990 A
4965946 Hegedus et al. Oct 1990 A
4996703 Gray Feb 1991 A
5038319 Carter et al. Aug 1991 A
5057866 Hill, Jr. et al. Oct 1991 A
5077582 Kravette et al. Dec 1991 A
5084875 Weinberger et al. Jan 1992 A
5129080 Smith Jul 1992 A
5138377 Smith et al. Aug 1992 A
5163151 Bronikowski et al. Nov 1992 A
5184179 Tarr et al. Feb 1993 A
5204699 Birnbaum et al. Apr 1993 A
5212645 Wildes et al. May 1993 A
5214772 Weinberger et al. May 1993 A
5216461 Maekawa et al. Jun 1993 A
5220380 Hirata et al. Jun 1993 A
5224157 Yamada et al. Jun 1993 A
5243382 Takano et al. Sep 1993 A
5257069 Hirata et al. Oct 1993 A
5261061 Ju Nov 1993 A
5270775 Suzuki Dec 1993 A
5282127 Mii Jan 1994 A
5291244 Kajiwara et al. Mar 1994 A
5293196 Kaneko et al. Mar 1994 A
5297034 Weinstein Mar 1994 A
5297256 Wolstenholme et al. Mar 1994 A
5300980 Maekawa et al. Apr 1994 A
5303005 Takano et al. Apr 1994 A
5305055 Ebner et al. Apr 1994 A
5305199 LoBiondo et al. Apr 1994 A
5307263 Brown Apr 1994 A
5325156 Ulinski Jun 1994 A
5333286 Weinberger et al. Jul 1994 A
5335048 Takano et al. Aug 1994 A
5339168 Evanitsky et al. Aug 1994 A
5342037 Martin Aug 1994 A
5347346 Shimizu et al. Sep 1994 A
5359391 Kuroyanagi et al. Oct 1994 A
5361265 Weinberger et al. Nov 1994 A
5365310 Jenkins et al. Nov 1994 A
5367667 Wahlquist et al. Nov 1994 A
5369469 Leo et al. Nov 1994 A
5369471 Yamada Nov 1994 A
5369472 Raj et al. Nov 1994 A
5373349 Ito Dec 1994 A
5384622 Hirata et al. Jan 1995 A
5386271 Maekawa et al. Jan 1995 A
5392095 Siegel Feb 1995 A
5398257 Groenteman Mar 1995 A
5404199 Hirata et al. Apr 1995 A
5412779 Motoyama May 1995 A
5414494 Aikens et al. May 1995 A
5420667 Kaneko et al. May 1995 A
5424808 Maekawa et al. Jun 1995 A
5424844 Koyanagi et al. Jun 1995 A
5428551 Trainor et al. Jun 1995 A
5430709 Galloway Jul 1995 A
5434650 Nakahara et al. Jul 1995 A
5442541 Hube et al. Aug 1995 A
5444517 Nagashima Aug 1995 A
5444851 Woest Aug 1995 A
5446522 Tahara et al. Aug 1995 A
5452057 Imaizumi et al. Sep 1995 A
5459552 Ohira Oct 1995 A
5463775 DeWitt et al. Oct 1995 A
5469353 Pinsky et al. Nov 1995 A
5485142 Stute et al. Jan 1996 A
5488454 Fukada et al. Jan 1996 A
5491535 Hirata et al. Feb 1996 A
5493364 Kuroyanagi et al. Feb 1996 A
5517491 Nanni et al. May 1996 A
5528691 Rosauer et al. Jun 1996 A
5530899 MacDonald Jun 1996 A
5543892 Hirata et al. Aug 1996 A
5548376 Kikuno Aug 1996 A
5550957 Davidson, Jr. et al. Aug 1996 A
5555191 Hripcsak Sep 1996 A
5561501 Honma Oct 1996 A
5572672 Dewitt et al. Nov 1996 A
5579087 Salgado Nov 1996 A
5586254 Kondo et al. Dec 1996 A
5594529 Yamashita et al. Jan 1997 A
5600301 Robinson, III Feb 1997 A
5600403 Inoo Feb 1997 A
5603060 Weinberger et al. Feb 1997 A
5603323 Pflugrath et al. Feb 1997 A
5619024 Kolls Apr 1997 A
5619716 Nonaka et al. Apr 1997 A
5631724 Sawada et al. May 1997 A
5636008 LoBiondo et al. Jun 1997 A
5636333 Davidson, Jr. et al. Jun 1997 A
5638427 Flemming et al. Jun 1997 A
5640495 Colbert et al. Jun 1997 A
5642202 Williams et al. Jun 1997 A
5642208 Takahashi et al. Jun 1997 A
5655084 Pinsky et al. Aug 1997 A
5659794 Caldarale et al. Aug 1997 A
5673190 Kahleck et al. Sep 1997 A
5675744 Tsujii Oct 1997 A
5677775 Yamaguchi et al. Oct 1997 A
5694528 Hube Dec 1997 A
5696903 Mahany Dec 1997 A
5699494 Colbert et al. Dec 1997 A
5708908 Hirata et al. Jan 1998 A
5708909 Yamashita et al. Jan 1998 A
5715393 Naugle Feb 1998 A
5715496 Sawada et al. Feb 1998 A
5715823 Wood et al. Feb 1998 A
5720015 Martin et al. Feb 1998 A
5727135 Webb et al. Mar 1998 A
5727248 Ogura Mar 1998 A
5732212 Perholtz et al. Mar 1998 A
5736965 Mosebrook et al. Apr 1998 A
5740801 Branson Apr 1998 A
5745268 Eastvold et al. Apr 1998 A
5748907 Crane May 1998 A
5752125 Yamashita et al. May 1998 A
5752128 Yamashita May 1998 A
5752917 Fuchs May 1998 A
5761529 Raji et al. Jun 1998 A
5764918 Poulter Jun 1998 A
5768516 Sugishima Jun 1998 A
5772585 Lavin et al. Jun 1998 A
5774052 Hamm et al. Jun 1998 A
5786994 Friz et al. Jul 1998 A
5787149 Yousefi et al. Jul 1998 A
5787278 Barton et al. Jul 1998 A
5790793 Higley Aug 1998 A
5790977 Exekiel Aug 1998 A
5798738 Yamada Aug 1998 A
5801964 McCarthy Sep 1998 A
5809237 Watts et al. Sep 1998 A
5812397 Pech et al. Sep 1998 A
5812874 Yamashita et al. Sep 1998 A
5818603 Motoyama Oct 1998 A
5819015 Martin et al. Oct 1998 A
5819110 Motoyama Oct 1998 A
5822221 Groenteman Oct 1998 A
5828943 Brown Oct 1998 A
5835816 Sawada et al. Nov 1998 A
5835911 Nakagawa et al. Nov 1998 A
5844550 Trainor et al. Dec 1998 A
5845061 Miyamoto et al. Dec 1998 A
5845230 Lamberson Dec 1998 A
5857207 Lo et al. Jan 1999 A
5857967 Frid et al. Jan 1999 A
5862404 Onaga Jan 1999 A
5865745 Schmitt et al. Feb 1999 A
5872635 Akiyama Feb 1999 A
5872928 Lewis et al. Feb 1999 A
5873009 Yamashita et al. Feb 1999 A
5873659 Edwards et al. Feb 1999 A
5878746 Lemelson et al. Mar 1999 A
5880677 Lestician Mar 1999 A
5884072 Rasmussen Mar 1999 A
5887216 Motoyama Mar 1999 A
5890029 Hirata et al. Mar 1999 A
5894416 Kuroyanagi et al. Apr 1999 A
5897235 Honma Apr 1999 A
5901286 Danknick et al. May 1999 A
5905906 Goffinet et al. May 1999 A
5909493 Motoyama et al. Jun 1999 A
5911095 Atsumi et al. Jun 1999 A
5917405 Joao Jun 1999 A
5933675 Sawada et al. Aug 1999 A
5935060 Iliff Aug 1999 A
5956487 Venkatraman et al. Sep 1999 A
5956698 Lachese et al. Sep 1999 A
5968116 Day et al. Oct 1999 A
5970149 Johnson Oct 1999 A
5974234 Levine et al. Oct 1999 A
5975737 Crater et al. Nov 1999 A
5991810 Shapiro et al. Nov 1999 A
6003061 Jones et al. Dec 1999 A
6003070 Frantz Dec 1999 A
6003078 Kodimer et al. Dec 1999 A
6006045 Miyawaki Dec 1999 A
6009274 Fletcher et al. Dec 1999 A
6009284 Weinberger et al. Dec 1999 A
6012088 Li et al. Jan 2000 A
6014631 Teagarden et al. Jan 2000 A
6014691 Brewer et al. Jan 2000 A
6021284 Serizawa et al. Feb 2000 A
6022315 Iliff Feb 2000 A
6023223 Baxter, Jr. Feb 2000 A
6023507 Wookey Feb 2000 A
6025925 Davidson, Jr. et al. Feb 2000 A
6031964 Anderson Feb 2000 A
6041041 Ramanathan et al. Mar 2000 A
6042111 Rivers et al. Mar 2000 A
6060994 Chen May 2000 A
6061603 Papadopolous et al. May 2000 A
6064915 Kaneko et al. May 2000 A
6088718 Altschuler et al. Jul 2000 A
6091915 Takagishi Jul 2000 A
6098116 Nixon et al. Aug 2000 A
6101407 Groezinger Aug 2000 A
6108492 Miyachi Aug 2000 A
6112035 Kuroyanagi et al. Aug 2000 A
6112256 Goffinet et al. Aug 2000 A
6115489 Gupta et al. Sep 2000 A
6119934 Kolls Sep 2000 A
6122463 Nagatani Sep 2000 A
6125363 Buzzeo et al. Sep 2000 A
6130999 Serizawa et al. Oct 2000 A
6139177 Venkatraman et al. Oct 2000 A
6152365 Kolls Nov 2000 A
6161145 Bainbridge et al. Dec 2000 A
6167448 Hemphill et al. Dec 2000 A
6175866 Holloway et al. Jan 2001 B1
6181331 Trainor et al. Jan 2001 B1
6189113 Rabb et al. Feb 2001 B1
6196735 Inamine Mar 2001 B1
6205466 Karp et al. Mar 2001 B1
6209048 Wolff Mar 2001 B1
6221011 Bardy Apr 2001 B1
6226650 Mahajan et al. May 2001 B1
6230199 Revashetti et al. May 2001 B1
6246485 Brown et al. Jun 2001 B1
6256378 Iggulden et al. Jul 2001 B1
6256668 Slivka et al. Jul 2001 B1
6260148 Aggarwal et al. Jul 2001 B1
6260248 Cramer et al. Jul 2001 B1
6282454 Papadopolous et al. Aug 2001 B1
6282711 Halpern et al. Aug 2001 B1
6286038 Reichmeyer et al. Sep 2001 B1
6286059 Sugiura Sep 2001 B1
6292828 Williams Sep 2001 B1
6295527 McCormack et al. Sep 2001 B1
6298457 Rachlin et al. Oct 2001 B1
6304895 Schneider et al. Oct 2001 B1
6308099 Fox et al. Oct 2001 B1
6311024 Serizawa et al. Oct 2001 B1
6312378 Bardy Nov 2001 B1
6317570 Uchida et al. Nov 2001 B1
6317783 Freishtat et al. Nov 2001 B1
6317848 Sorens et al. Nov 2001 B1
6325540 Lounsberry et al. Dec 2001 B1
6327594 Van Huben et al. Dec 2001 B1
6343320 Fairchild et al. Jan 2002 B1
6356933 Mitchell et al. Mar 2002 B2
6356949 Katsandres et al. Mar 2002 B1
6366741 Fukushima Apr 2002 B1
6368284 Bardy Apr 2002 B1
6370436 Howard et al. Apr 2002 B1
6370582 Lim et al. Apr 2002 B1
6377162 Delestienne et al. Apr 2002 B1
6381557 Babula et al. Apr 2002 B1
6381712 Nemitz Apr 2002 B1
6397212 Biffar May 2002 B1
6405310 Simpson Jun 2002 B1
6406426 Reuss et al. Jun 2002 B1
6412026 Graf Jun 2002 B1
6415023 Iggulden Jul 2002 B2
6415392 Suzuki et al. Jul 2002 B1
6421671 Bryan et al. Jul 2002 B1
6421719 Lewis et al. Jul 2002 B1
6426798 Yeung Jul 2002 B1
6430612 Iizuka Aug 2002 B1
6430711 Sekizawa Aug 2002 B1
6434572 Derzay et al. Aug 2002 B2
6437692 Petite et al. Aug 2002 B1
6446192 Narasimhan et al. Sep 2002 B1
6449633 Van et al. Sep 2002 B1
6449663 Carney et al. Sep 2002 B1
6453127 Wood et al. Sep 2002 B2
6453129 Simpson et al. Sep 2002 B1
6457038 Defosse Sep 2002 B1
6462831 Akiyama Oct 2002 B1
6466971 Humpleman et al. Oct 2002 B1
6467084 Howard et al. Oct 2002 B1
6471521 Dornbush et al. Oct 2002 B1
6477117 Narayanaswami et al. Nov 2002 B1
6479792 Beiermann et al. Nov 2002 B1
6487513 Eastvold et al. Nov 2002 B1
6493517 Hanson Dec 2002 B1
6493871 McGuire et al. Dec 2002 B1
6494831 Koritzinsky Dec 2002 B1
6510350 Steen et al. Jan 2003 B1
6523013 Shah et al. Feb 2003 B2
6523063 Miller et al. Feb 2003 B1
6523130 Hickman et al. Feb 2003 B1
6529848 Sone Mar 2003 B2
6549612 Gifford et al. Apr 2003 B2
6553336 Johnson et al. Apr 2003 B1
6553490 Kottapurath et al. Apr 2003 B1
6559965 Simpson et al. May 2003 B1
6560611 Nine et al. May 2003 B1
6560641 Powderly et al. May 2003 B1
6560656 O'Sullivan et al. May 2003 B1
6564227 Sakakibara et al. May 2003 B2
6574729 Fink et al. Jun 2003 B1
6581092 Motoyama et al. Jun 2003 B1
6581094 Gao Jun 2003 B1
6587812 Takayama Jul 2003 B1
6587879 Reynolds Jul 2003 B1
6591272 Williams Jul 2003 B1
6598011 Howards Koritzinsky et al. Jul 2003 B1
6598083 Remer et al. Jul 2003 B1
6601159 Smith et al. Jul 2003 B1
6604212 Sekizawa et al. Aug 2003 B2
6609108 Pulliam et al. Aug 2003 B1
6611863 Banginwar Aug 2003 B1
6631407 Mukaiyama et al. Oct 2003 B1
6636899 Rabb et al. Oct 2003 B1
6643650 Slaughter et al. Nov 2003 B1
6651110 Caspers et al. Nov 2003 B1
6651190 Worley et al. Nov 2003 B1
6654720 Graham et al. Nov 2003 B1
6654726 Hanzek Nov 2003 B1
6665425 Sampath et al. Dec 2003 B1
6670810 Duncan et al. Dec 2003 B2
6681344 Andrew Jan 2004 B1
6681349 Sekizawa Jan 2004 B2
6686838 Rezvani et al. Feb 2004 B1
6687848 Najmi Feb 2004 B1
6687873 Ballantyne et al. Feb 2004 B1
6691106 Sathyanarayan Feb 2004 B1
6704807 Mathur et al. Mar 2004 B1
6710893 Hou et al. Mar 2004 B1
6711593 Gordon et al. Mar 2004 B1
6711618 Danner et al. Mar 2004 B1
6717513 Sandelman et al. Apr 2004 B1
6725281 Zintel et al. Apr 2004 B1
6738798 Ploetz et al. May 2004 B1
6754664 Bush Jun 2004 B1
6757714 Hansen Jun 2004 B1
6757899 Zhdankin et al. Jun 2004 B2
6775238 Suzuki Aug 2004 B1
6779004 Zintel Aug 2004 B1
6782542 Mein et al. Aug 2004 B1
6785015 Smith et al. Aug 2004 B1
6792337 Blackett et al. Sep 2004 B2
6804712 Kracht Oct 2004 B1
6823397 Rawson, III Nov 2004 B2
6831555 Miller et al. Dec 2004 B1
6832239 Kraft et al. Dec 2004 B1
6832373 O'Neill Dec 2004 B2
6834298 Singer et al. Dec 2004 B1
6842903 Weschler Jan 2005 B1
6857013 Ramberg et al. Feb 2005 B2
6904593 Fong et al. Jun 2005 B1
6925335 May et al. Aug 2005 B2
6940405 Script et al. Sep 2005 B2
6963899 Fernandez et al. Nov 2005 B1
6972676 Kimmel et al. Dec 2005 B1
6973491 Staveley et al. Dec 2005 B1
6985779 Hsiung et al. Jan 2006 B2
6990395 Ransom et al. Jan 2006 B2
7003574 Bahl Feb 2006 B1
7016966 Saulpaugh et al. Mar 2006 B1
7020706 Cates et al. Mar 2006 B2
7028081 Kawashima Apr 2006 B2
7028312 Merrick et al. Apr 2006 B1
7032005 Mathon et al. Apr 2006 B2
7046134 Hansen May 2006 B2
7057724 Mead et al. Jun 2006 B1
7065576 Kamel et al. Jun 2006 B2
7072946 Shafer Jul 2006 B2
7079010 Champlin Jul 2006 B2
7080267 Gary et al. Jul 2006 B2
7082426 Musgrove et al. Jul 2006 B2
7082460 Hansen et al. Jul 2006 B2
7085814 Gandhi et al. Aug 2006 B1
7089567 Girardot et al. Aug 2006 B2
7091846 Wu Aug 2006 B2
7092370 Jiang et al. Aug 2006 B2
7103357 Kirani et al. Sep 2006 B2
7113988 Chirashya et al. Sep 2006 B2
7116681 Hovell et al. Oct 2006 B1
7117239 Hansen Oct 2006 B1
7142839 Pelaez et al. Nov 2006 B2
7149792 Hansen Dec 2006 B1
7158483 Takabatake et al. Jan 2007 B1
7178149 Hansen Feb 2007 B2
7185014 Hansen Feb 2007 B1
7200578 Paltenghe et al. Apr 2007 B2
7254601 Baller et al. Aug 2007 B2
7266526 Drummond et al. Sep 2007 B1
7421484 Das Sep 2008 B2
7506048 Motoyama Mar 2009 B1
7529767 DeAnna et al. May 2009 B2
7937370 Hansen May 2011 B2
7966418 Shedrinsky Jun 2011 B2
8055758 Hansen Nov 2011 B2
8060886 Hansen Nov 2011 B2
8108543 Hansen Jan 2012 B2
20010007117 Cooper et al. Jul 2001 A1
20010011250 Paltenghe et al. Aug 2001 A1
20010025377 Hinderks Sep 2001 A1
20010027439 Holtzman et al. Oct 2001 A1
20010049690 McConnell et al. Dec 2001 A1
20010052999 Hiraoka et al. Dec 2001 A1
20020006790 Blumenstock et al. Jan 2002 A1
20020019844 Kurowski et al. Feb 2002 A1
20020026514 Ellis et al. Feb 2002 A1
20020032470 Linberg Mar 2002 A1
20020032720 Nelson et al. Mar 2002 A1
20020035533 Mache et al. Mar 2002 A1
20020038320 Brook Mar 2002 A1
20020054169 Richardson May 2002 A1
20020059489 Davis et al. May 2002 A1
20020064138 Saito et al. May 2002 A1
20020078135 Venkatsubra Jun 2002 A1
20020078259 Wendorf et al. Jun 2002 A1
20020080391 Sugiura et al. Jun 2002 A1
20020095600 Deen Jul 2002 A1
20020116550 Hansen Aug 2002 A1
20020133753 Mayberry et al. Sep 2002 A1
20020135801 Tessman Sep 2002 A1
20020138567 Ogawa Sep 2002 A1
20020144016 Spicer et al. Oct 2002 A1
20020157090 Anton, Jr. Oct 2002 A1
20020174085 Nelson et al. Nov 2002 A1
20020178241 Eriksson Nov 2002 A1
20030014733 Ringseth et al. Jan 2003 A1
20030023957 Bau et al. Jan 2003 A1
20030025931 Dorfman et al. Feb 2003 A1
20030056140 Taylor et al. Mar 2003 A1
20030061403 Miyata et al. Mar 2003 A1
20030063309 Parry Apr 2003 A1
20030070006 Nadler et al. Apr 2003 A1
20030072027 Haines et al. Apr 2003 A1
20030118353 Baller Jun 2003 A1
20030136837 Amon et al. Jul 2003 A1
20030140234 Noda et al. Jul 2003 A1
20030154284 Bernardin et al. Aug 2003 A1
20030158897 Ben-Natan et al. Aug 2003 A1
20030158919 Fomenko Aug 2003 A1
20030200285 Hansen et al. Oct 2003 A1
20030200329 Delaney Oct 2003 A1
20030229529 Mui et al. Dec 2003 A1
20030229785 Daseke et al. Dec 2003 A1
20040027373 Jacquot et al. Feb 2004 A1
20040098515 Rezvani et al. May 2004 A1
20040128370 Kortright Jul 2004 A1
20040152450 Brasher et al. Aug 2004 A1
20040177124 Hansen Sep 2004 A1
20040186693 Xiang et al. Sep 2004 A1
20040215605 Mester Oct 2004 A1
20040221026 Dorland Nov 2004 A1
20050005152 Singh et al. Jan 2005 A1
20050015501 Kaplan et al. Jan 2005 A1
20050021772 Shedrinski Jan 2005 A1
20050033588 Ruiz et al. Feb 2005 A1
20050055397 Zhu et al. Mar 2005 A1
20050086172 Stefik Apr 2005 A1
20050102388 Tabbara et al. May 2005 A1
20050119930 Simon Jun 2005 A1
20050144612 Wang et al. Jun 2005 A1
20050154787 Cochran et al. Jul 2005 A1
20050193099 Reus et al. Sep 2005 A1
20050193386 McCaleb et al. Sep 2005 A1
20050198245 Burgess et al. Sep 2005 A1
20050246702 Yeh et al. Nov 2005 A1
20050256614 Habermas Nov 2005 A1
20050262076 Voskuil Nov 2005 A1
20060031237 DeAnna et al. Feb 2006 A1
20060031476 Mathes et al. Feb 2006 A1
20060037022 Byrd et al. Feb 2006 A1
20060059239 Brasher et al. Mar 2006 A1
20060069753 Hu et al. Mar 2006 A1
20060077941 Alagappan et al. Apr 2006 A1
20060087408 Korzeniowski Apr 2006 A1
20060087409 Korzeniowski Apr 2006 A1
20060095370 Seth et al. May 2006 A1
20060100972 Chianese et al. May 2006 A1
20060135192 Surendra et al. Jun 2006 A1
20060179143 Walker et al. Aug 2006 A1
20060200307 Riess Sep 2006 A1
20060200494 Sparks Sep 2006 A1
20060224742 Shabazi et al. Oct 2006 A1
20060236325 Rao et al. Oct 2006 A1
20060282521 Anderson et al. Dec 2006 A1
20070005736 Hansen et al. Jan 2007 A1
20070011295 Hansen Jan 2007 A1
20070077917 Kim Apr 2007 A1
20070078976 Taylor et al. Apr 2007 A1
20070094076 Perkowski et al. Apr 2007 A1
20070100892 Kephart et al. May 2007 A1
20070150903 Hansen Jun 2007 A1
20070198661 Hansen Aug 2007 A1
20070203952 Baron et al. Aug 2007 A1
20070288629 Taylor et al. Dec 2007 A2
20070294237 John et al. Dec 2007 A1
20080005321 Ma et al. Jan 2008 A1
20080063149 West et al. Mar 2008 A1
20080065757 Motoyama et al. Mar 2008 A1
20080082657 Hart et al. Apr 2008 A1
20080154957 Taylor et al. Jun 2008 A1
20080231414 Canosa Sep 2008 A1
20090013064 Taylor et al. Jan 2009 A1
20120143970 Hansen Jun 2012 A1
20120158914 Hansen Jun 2012 A1
20120158982 Hansen Jun 2012 A1
Foreign Referenced Citations (47)
Number Date Country
0874306 Oct 1998 EP
1 191 744 Mar 2002 EP
1 362 282 Nov 2003 EP
1 695 485 Aug 2006 EP
2797728 Feb 2001 FR
2305820 Apr 1997 GB
60-263162 Dec 1985 JP
06-062130 Mar 1994 JP
07-325513 Dec 1995 JP
09-163008 Jun 1997 JP
09-305407 Nov 1997 JP
09-325925 Dec 1997 JP
10-190922 Jul 1998 JP
10-224372 Aug 1998 JP
11-045195 Feb 1999 JP
11-203079 Jul 1999 JP
11-296453 Oct 1999 JP
2000-112863 Apr 2000 JP
2000-122952 Apr 2000 JP
2000-163283 Jun 2000 JP
2000-278773 Oct 2000 JP
2000-309145 Nov 2000 JP
2001-337817 Dec 2001 JP
2003-223603 Aug 2003 JP
WO9730879 Aug 1997 WO
WO9820439 May 1998 WO
WO9833302 Jul 1998 WO
WO9838910 Sep 1998 WO
WO9841943 Sep 1998 WO
WO9921336 Apr 1999 WO
WO9957649 Nov 1999 WO
WO9957837 Nov 1999 WO
WO9957838 Nov 1999 WO
WO9964958 Dec 1999 WO
WO0023894 Apr 2000 WO
WO0210919 Feb 2002 WO
WO0221239 Mar 2002 WO
WO0221299 Mar 2002 WO
WO0221414 Mar 2002 WO
WO0221415 Mar 2002 WO
WO0221777 Mar 2002 WO
WO0225501 Mar 2002 WO
WO03021464 Mar 2003 WO
WO03054439 Jul 2003 WO
WO2004059447 Jul 2004 WO
WO2006009402 Jan 2006 WO
WO2008083177 Jul 2008 WO
Non-Patent Literature Citations (147)
Entry
“Frequently Asked Questions about the Extensible Markup Language—The XML FAQ” Version 1.41 (http://www.oasis-open.org/cover/xmlFAQ141-19981006.html) (Oct. 6, 1998).
24×7, HealthTech Publishing Company, Inc. (Nov. 1996).
“Remote Diagnostics: Strategic weapon in the war for multi-vendor service contracts,” Tech Assessment, vol. 3, No. 12, Dec. 1995.
“Siemens Medical, BJC Health System Extend deal to multivendor service,” Medical Imaging News, vol. 6, No. 26, Jun. 27, 1997.
Dec. 27, 1995, SCAN Diagnostic Imaging, vol. 8, No. 24.
Apr. 22, 2005 Literature Search by Keyword: CyberTAC.
Adelberg, D., “Building Robust Wrappers for Text Sources”, [online] Retrieved from the Internet:<URL:http://student.bu.ac.bd/˜mumit/Research/NLP-bib/papers/Adelberg99.pdf> [retrieved on Nov. 24, 2008] (1999).
Allegro Software product release 1-61 overview Greenhills Software Inc., [online] Jun. 10, 2002, pp. I-I, XPOO2201939 Retrieved from the Internet: <URL:http://www.ghs.com/partners/allegro/> [retrieved on Jun. 10, 2002] the whole document.
Allegro, RomWebCLient Embedded HTTP client Toolkit: Allegrosoft, Circuit Cellar Online, Sep. 7, 2000, pp. 1-2, XP-002201983, URL:http://web.archive.orgweb/20000709204234/http://www.allegrosoft.com/romwebclient.html.
Bock, G., “Mainstreaming XML-based Enterprise Applications: Using Oracle XML DB to Manage Financial Information within a Global Banking System”, Oracle Corporation, (C) 2003.
Box, et al., Simple Object Acces Protocol (SOAP) 1.1, Document No. XP002250270, May 8, 2000.
Chandler, T. et al., “The Technology Development of Automatic Metering and Monitoring Systems”, Int'l Power Engineering Conf. 2005, IEEE, 4 pgs.
Cheung, D. et al., “Distributed and Scalable XML Document Processing Architecture for E-Commerce Systems”, Adv. Issues of E-Commerce and Web-Based Information Systems, WECWIS 2000, 2nd Int'l Workshop, (Jun. 2000), pp. 152-157.
Ennis, D., “CORBA and XML Integration in Enterprise Systems”, IONA Technologies Inc.[online], Retrieved from the Internet:<URL:http://citeseer.ist.psu.edu/cache/papers/cs/16013/http:zSzzSzwww.iona.comzSzinfozSztechcenterzSzecoop2000apr17.pdf/ennis00corba.pdf> [retrieved on Nov. 24, 2008] (2000).
CyberTAC & RadScape Presentation (May 1997).
CyberTAC Design Presentation (1997).
CyberTAC from Virtual Impact Systems, Inc. Presentation (1997).
CyberTAC Remote Support System Presentation (1997).
Database WIP, Section EI, Week 200156, Abstract, Document No. XP002253876 (Korea Electronics & Telecom Res Inst.) Derwent Publications, Ltd., London, GB, (Mar. 2001).
Eastvold, Roger, “Services: The Next Generation,” The Professional Journal, vol. 20, No. 4.
Eastvold, Roger, “Tiss and Tell,” Medical Imaging, Sep. 1995.
EBITS:Electronic Business & Information Technology for Society Research Consortium, Proposal for Development of an Educational and Research Infrastructure for Safe Electronic Commerce, [online] Retrieved from the Internet:<URL:http://www.cs.dartmouth.edu/˜makedon/cs188/proposal.html>, [retrieved Feb. 15, 2005].
Jiang, et al., “Record-Boundary Discovery in Web Documents”, [online] Retrieved from the Internet:<URL:http://osm7.cs.byu.edu/deg/papers/SJ.Thesis.ps>, [retrieved on Nov. 24, 2008] (1998).
Emmerich et al., Implementing Incremental Code Migration with XML, IEEE, 4-11, (Jun. 2000).
EmWare Press Release: “emWare Announces Support for Sun Microsystems Jini Technology,” Salt Lake City, UT (Feb. 1999).
EmWare Press Release: “emWare Delivers EMIT 3.0 SDK Pro-A Complete Device Networking Kit for Developing End-to-end, Embedded Device Networking Solutions,” Salt Lake City, UT (May 1999).
EmWare Press Release: “emWare, IBM Demonstrate Next Phase in Establishing Worldwide Access to Embedded Devices,” Chicago, IL (Mar. 1999).
EmWare Press Release: “emWare's emLink (TM) Used to Internet-enable Welch Allyn's Vital Signs Monitor,” Chicago, IL (Mar. 1999).
EmWare Press Release: “Invensys Selects emWare EMIT Device-Networking Software to Add Remote Monitoring and Control Capabilities to its Controller Products,” Salt Lake City, UT (Jun. 1999).
EmWare Press Release: “Motorola, Mitsubishi and National Semiconductor Join emWare's Embed the Internet Alliance,” Chicago, IL (Mar. 1999).
Franklin, M. et al., “Data in Your Face: PUSH Technology in Perspective”, Proc. ACM SIGMOD Int'l Conf. on Mgmt of Data, (Jun. 1998), #XP000886180, pp. 516-519.
Hanckmann, J., “Telescript: The Emerging Standard for Intelligent Messaging,” Philips Telecommunications Review, vol. 52(1), pp. 15-19 (Mar. 1994).
Universal Plug & Play Device Architecture, (C) Microsoft Corporation (Jun. 8, 2000), [online] Retrieved from the Internet: <URL:http://www.upnp.org/specs/arch/upnpda10—20000613.htm>, [retrieved on Nov. 24, 2008].
Incremona, A. “Remote Service Diagnostics for Imaging Equipment: Today and Tomorrow,” Advanced Imaging, 12(9):90(2) (1997).
Jennyc, Kenn S., “Linking Enterprise Business Systems to the Factory Floor,” The Hewlett-Packard Journal, Article 9 (May 1998).
Kafeza, E. et al., “Alerts in Mobile Healthcare Applications: Requirements and Pilot Study”, IEEE, vol. 8, No. 2, pp. 173-181 (Jun. 2004).
Kimball, R., “XML Will Make it Easier,” Intelligent Enterprise, [online] Retrieved from the Internet:<URL:http://www.intelligententerprise.com/010416/webhouse1—1.jhtml> [retrieved on Nov. 24, 2008] (Apr. 16, 2001).
Koppen, E., et al., “Active Hypertext for Distributed Web Applications”, Enabling Technologies: Infrastructure for Collaborative Enterprises, (WET ICE '99), Proc. IEEE 8th Int'l. Workshop (1999), pp. 297-302.
Kovar, J., “Xerox Unveils Expanded Channel Lineup; Also Plans to Introduce E-Mail, Queue Management Software,” PC Expo,(Jun. 1999).
Lassman, M. et al., “Modern Nuclear Medical Diagnostics with Efficient Gamma Cameras,” Electromedica, 66(2):43-51, (1998).
Lewandowska, J., et al., “System for Grouping Technologically Similar Devices”, v. 48 n 12; (Dec. 1975), pp. 636-638 (English Abstract).
Layman, et al., “XML-Data,” Position Paper from Microsoft Corp. (Jun. 1997), [online] Retrieved from the Internet:<URL:http://www.oasis-open.org/cover/xml-data9706223.html> [retrieved on Sep. 2, 2004].
Lerner, R., “At the Forge: Introducing SOAP”, Linux Journal, #XP002292162 (Mar. 2001).
Lindley, D., “Xerox unveils copier that phones for help,” Rochester Democrat and Chronicle, (Mar. 28, 1990).
Luh, James C., “With several specs complete, XML enters widespread development,” Internet World, (Jan. 4, 1999).
Martin, D., “Protessional XML”., WROX Press Ltd., pub., Ch. 11, ‘Server to Server’, pp. 559-562, 819-820 (2000).
Mason, K., “XML Translation for block structured languages”, IBM Corporation: Research Disclosure, Kenneth Mason Publications, 44176 (2001).
Math Markup Language (Chapter 4); [online] Retrieved from the Internet:<URL:http://www.w3.org/TR/REC-MathML/chap4—4.html>, [retrieved on Feb. 15, 2005].
McBride, R.A., “Security Considerations for Active Messages,” ACM SIGICE Bulletin, vol. 22 (2), (Oct. 1996).
Memphis Educational Computer Connectivity Alliance (MECCA), [online] Retrieved from the Internet:<URL:http://www.mecca.org/˜Itague/nsfnocostextension.html>, [retrieved on Feb. 15, 2005].
Mills et al., “A knowledge-based method for inferring semantic concepts from visual models of system behavior,” ACM (Jul. 2000), pp. 306-337.
Orasis Medical Services, Inc., Business Plan Copy No. 001, (Nov. 1995).
Pfeiffer, R., “XML Tutorials for Programmers: Tutorial 2: Writing XML Documents,” (1999) [online] Retrieved from the Internet:<URL:http://imb.com/xml>, [retrieved on Mar. 2, 1999].
Questra Applications Data Sheet (2002).
Questra Preliminary Invalidity Contentions, dated Apr. 29, 2005.
Reagan, K., “Technology for the Soul,” OC Metro, (Sep. 1, 1995).
Rytting, T., “Dispensing the Goods, Embedded Style,” Circuit Cellar Online, (Oct. 1999).
Schmidt, The Evolution of Workflow Standards, IEEE (1999).
SOAP Archives Online, “Multiple Method Calls in SOAP Packet”; [online] Retrieved from the Internet:<URL:http://discuss.develop.com/archives/wa.exe?A2=ind9912&L=soap&T=O&F=&S=&P=25113>, [retrieved on Dec. 8, 2000].
Steinfeld, E., “From Standalone to Internet Appliance”, Circuit Cellar Online, [online] (Jul. 9, 2000), #XP002201938, Retrieved from the Internet:<URL:http://web.archive.org/web/20000709204234/http://www.alegrosoft.com/romwebclient.html>retrieved on Jun. 12, 2002 the whole document.
Steinfeld, E., “Internet-appliance technology automates test equipment” EDN Magazine, pp. 157-169, Oct. 2000, www.edbmag.com.
Suresh et al., “XML-based Data System for Earth Science Applications”, IEEE 2000 International, vol. 3, pp. 242-28, Jul. 2000.
Searls, “The Next Bang: The Expolosive Combination of Embedded Linux, XML, and Instant Mess.”, ACM (Sep. 2000) Issue 77 [online] Retrieved from the Internet:<URL:http://www.linuxjournal.com/article.php?sid=4195>, [retrieved on Nov. 20, 2001].
The Simple Times, vol. 7, No. 1, Mar. 1999; [online] Retrieved from the Internet:<URL:http://www.simple-times.org/pub/simple-times/issues/7-1.html> [retrieved on Aug. 3, 2005].
Trewitt, G., “Using Tcl to Process HTML Forms,” Digital Network Systems Laboratory, NSL Technical Note TN-14, Palo Alto, CA (Mar. 1994).
Virtual Reality Transfer Protocol (VRTP); Retrieved from the Internet:<URL:http://www.stl.nps.navy.mil/˜brutzman/vrtp> (1998).
Walsh, Norman, “XSL the Extensible Style Language: Styling XML Documents,” New Architect Daily, Jan. 1999.
Webmethods B2B Whitepaper; [online] Retrieved from the Internet:<URL:http://www.cs.wisc.edu/˜vganti/papers/b2b—wpB2Bintegration.html> (1999).
White Paper, Medical Imaging, East Providence, RI (Sep. 1995).
Wigget, Jeremy, “Intraview: Roger Eastvold of Orasis Inc.,” 24×7, Nov. 1996.
Williams, T., “Java Goes to Work Controlling Networked Embedded Systems” Computer Design, Pennwell Publ. Littleton, MA, 35:9:36-37, Aug. 1996.
Winer, Dave, “XML-RPC Specification,” (http://XML-RPC.com), Jun. 15, 1999.
Winter 1992, Field of View, vol. 2, No. 3, Toshiba America Medical System, Inc.
Wu et al., “A knowledge sharing and collaboration system model based on Internet”, Systems, Man, and Cybernetics, 1999. IEEE SMC'99 Conference Proceedings, vol. 2, pp. 148-152 (1999).
Xerox 190 Copier, Electronic Data Interface Operator Guide, ver. 1.0, (1989).
Van der Werff, M., et al., “A Mobile-Based Home Automatic System”, IEEE Mobility Conference (2005).
Examination Report in EP Application No. 01955993.9, dated Jan. 29, 2004.
Examination Report in EP Application No. 01955993.9, dated Aug. 5, 2004.
Examination Report in EP Application No. 01955993.9, dated Dec. 16, 2004.
Examination Report in EP Application No. 01973431.8, dated Mar. 8, 2005.
Communication in EP Application No. 01973431.8, dated Mar. 30, 2005.
Examination Report in EP Application No. 01973431.8, dated Jan. 15, 2008.
Office Action in EP Application No. 01996048.3, dated Jun. 22, 2004.
Office Action in EP Application No. 01996048.3, dated Mar. 11, 2005.
Office Action in EP Application No. 01955993.9, dated Jun. 6, 2005.
Examination Report in EP Application No. 03719774.6, dated Sep. 12, 2005.
Examination Report in EP Application No. 03719774.6, dated Apr. 12, 2006.
Examination Report in EP Application No. 01973431.8, dated Feb. 6, 2009.
International Search Report in Application No. PCT/US01/23651, dated Jun. 3, 2002.
International Search Report in Application No. PCT/US01/29787, dated Jun. 28, 2002.
International Preliminary Examination Report in Application No. PCT/US01/29787, dated Aug. 21, 2002.
International Preliminary Examination Report in Application No. PCT/US01/23651, dated Oct. 10, 2002.
International Search Report in Application No. PCT/US01/45198, dated Apr. 29, 2003.
International Search Report in Application No. PCT/US03/11707, dated Sep. 24, 2003.
International Search Report and Written Opinion in Application No. PCT/US03/11701, dated Oct. 13, 2004.
Written Opinion in Application No. PCT/US01/45198, dated May 31, 2007.
International Preliminary Examination Report in Application No. PCT/US01/45198, dated Apr. 2, 2008.
International Preliminary Report on Patentability in Application No. PCT/US2007/088858, dated Jul. 9, 2009.
Application and Response History in U.S. Appl. No. 09/627,201.
Application and Response History in U.S. Appl. No. 10/805,012.
Action and Response History in U.S. Appl. No. 09/667,737.
Application and Response History in U.S. Appl. No. 11/677,279.
Application and Response History in U.S. Appl. No. 09/716,717.
Action and Response History in U.S. Appl. No. 09/708,384.
Action and Response History in U.S. Appl. No. 10/123,960.
Action and Response History in U.S. Appl. No. 11/673,943 .
Action and Response History in U.S. Appl. No. 10/028,126.
Summons to attend oral proceedings in corresponding European Application No. 01955993.9 dated Oct. 31, 2005.
Result of Consultation of Nov. 24, 2005 and Nov. 25, 2005 from corresponding European Application No. 01955993.
Submission in German dated Nov. 25, 2005 from corresponding European Application No. 01955993.9.
Annex to EPO Form 2004 with claims for grant in European Application No. 01955993.9.
Oral Proceeding Minutes with European Application No. 01955993.9.
Communication dated Apr. 26, 2005 in European Application No. 01955993.9.
Defense Information Systems Agency, Field Services Office, White Paper Report “pcAnywhere 10.5” (Sep. 2003).
Search Report in EP Application No. 02792391.1, dated Nov. 19, 2009.
International Search Report in Application No. PCT/US2002/040058, dated Nov. 3, 2003.
International Preliminary Examination Report in Application No. PCT/US2002/040058, dated Jun. 10, 2004.
Action and Response History in U.S. Appl. No. 10/784,138.
Action and Response History in U.S. Appl. No. 11/538,402.
Action and Response History in U.S. Appl. No. 13/329,928.
Examination Report in EP Application No. 01973431.8, dated Mar. 23, 2010.
Examination Report in EP Application No. 02792391.1, dated Mar. 10, 2010.
Response to Examination Report in EP Application No. 01973431.8, dated Oct. 4, 2010.
Letter from Foreign Associate regarding response filed in EP Application No. 01973431.8, dated Oct. 8, 2010.
English translation of Notification of Reasons for Refusal in Japanese Application No. 2002-529431, dated Nov. 8, 2010.
Notice of Reasons for Rejection in Japanese Application No. 2002-529431, dated Nov. 8, 2010.
Examination Report in EP Application No. 02792391.1, dated Feb. 27, 2012.
Machine Translation of Japanese Patent Publication No. 09-305407 (Pub Date Nov. 1997).
Machine Translation of Japanese Patent Publication No. 11-296453, (Pub Date Oct. 1999).
Machine Translation of Japanese Patent Publication No. 11-203079, (Pub Date Jul. 1999).
Machine Translation of Japanese Patent Publication No. 2000-309145, (Pub Date Nov. 2000).
Machine Translation of Japanese Patent Publication No. 2001-337817, (Pub Date Dec. 2001).
Machine Translation of Japanese Patent Publication No. 11-045195, (Pub Date Feb. 1999).
Machine Translation of Japanese Patent Publication No. 2000-163283, (Pub Date Jun. 2000).
Final Decision for Rejection in Japanese Patent Application No. 2002-515578, dated Jul. 10, 2012.
International Search Report &. Written Opinion in Application No. PCT/US2007/088858, dated May 21, 2008.
Summons to attend Oral Proceedings in counterpart EP Application No. 01973431.8, dated Feb. 2, 2011.
Second Auxiliary Response in EP Application No. 01973431.8, dated Apr. 26, 2011.
Oral Proceedings Communication in Application No. EP01973431.8, dated May 12, 2011.
Decision to Refuse in Application No. EP01973431.8, dated Jun. 21, 2011.
Action in Application No. JP 2002-515578, dated Jul. 26, 2011.
Response filed in Application No. JP2002-529431, dated May 2, 2011.
Action and Response History in U.S. Appl. No. 11/537,399.
Action and Response History in U.S. Appl. No. 11/677,279.
Action and Response History in U.S. Appl. No. 11/503,638.
Action and Response History in U.S. Appl. No. 11/673,943.
Action and Response History in U.S. Appl. No. 10/124,181.
Related Publications (1)
Number Date Country
20090013064 A1 Jan 2009 US