System and method for cloud-service asset management for portable computer test tools

A system for providing data communication includes a computer test tool configured to perform one or more diagnostic tests on a computer network and a cloud-based server. The cloud-based server is configured to couple to the communication network so as to exchange data with the computer test tool when the computer test tool is coupled to the communication network. The cloud-based server tracks usage of the computer test tool and, based on the tracked usage, transmits a message to the computer test tool that temporarily enables the computer test tool based on a predetermined condition.

FIELD OF THE INVENTION

The disclosed embodiments generally relate to a system and method for test equipment monitoring, and more particularly, to a secure system and method for communication between a computer test tool and a cloud-based server.

BACKGROUND OF THE INVENTION

Computer test tools are typically portable tools that are valuable assets to their owner. The portability of a computer test tool impacts the ability to know the whereabouts of the tool, the nature of the usage of the tool, the operating condition of the tool, and whether the tool is under the dominion of an authorized person.

In addition, the owner may desire to schedule use of the computer test tool by different users and/or at different locations at selected times. Although the portability of the computer test tool allows for such scheduling, many factors need to be coordinated. Further, challenges arise in tracking usage of a tool and associated metrics when a tool is used by different users and at different geographic locations. Such metrics can be used to monitor how usage of the tool is affecting the longevity and value of the tool and the value of commercial operations.

Accordingly, there is a need for management of portable computer test tools to monitor whether usage is authorized, schedule economic usage of the computer test tools in project workflows, and monitor how usage affects the longevity and value of the tool and the value of commercial operations.

SUMMARY OF THE INVENTION

The purpose and advantages of the below described illustrated embodiments will be set forth in and apparent from the description that follows. Additional advantages of the illustrated embodiments will be realized and attained by the devices, systems and methods particularly pointed out in the written description and claims hereof, as well as from the appended drawings.

To achieve these and other advantages and in accordance with the purpose of the illustrated embodiments, in one aspect, a system for providing data communication is described in which the system includes a computer test tool configured to perform one or more diagnostic tests on a computer network and a cloud-based server. The cloud-based server is configured to couple to the communication network so as to exchange data with the computer test tool when the computer test tool is coupled to the communication network. The cloud-based server tracks usage of the computer test tool and, based on the tracked usage, transmits a message to the computer test tool that temporarily enables the computer test tool based on a predetermined condition.

In embodiments, the computer test tool can include a location sensor that senses a location of the computer test tool and outputs location data, and the tracked usage can include the location data. The computer test tool can record operation data indicative of operations performed by the computer test tool, wherein the tracked usage can include the operation data. The computer test tool can record user data indicative of one or more users that have operated the computer test tool, and the tracked usage can include the user data. The tracked usage can be based on a comparison between the time, location data, the operation data, and the user data, and a schedule of authorized usage of the computer test tool, wherein the schedule of authorized usage can include at least one of authorized locations, times, operations, and users that prescribe authorized usage of the computer test tool.

The cloud-based server can access a workflow schedule that includes a time and location of operations that the computer test tool is configured to perform in accordance with a workflow. The cloud-based server can generate a schedule of usage of the computer test tool based on the workflow schedule and the location data. The cloud-based server can track efficiency of a user that used the tool based on the user data and the usage data. The cloud-based server can track value associated with the computer test tool based on the usage data and a billing schedule that associates uses of the tool to a value. The cloud-based server can track depreciation of the computer test tool based on the location data, the usage data, and a depreciation schedule that correlates usage of computer test tool to depreciation in value of the computer test tools.

In embodiments, the computer test tool can record diagnostic data indicating malfunction of a component, maintenance performance, calibration performance, and the cloud-based server further tracks the diagnostic data. The cloud-based server can compare the diagnostic data to warranty data associated with the computer test tool and determine if a repair of a malfunction indicated by the diagnostic data is covered by warranty.

In embodiments, the computer test tool can submit a request to the cloud-based server requesting authorization to perform a specified operation, wherein the request can specify a requested operation, time of performance, location of performance, and user, wherein the specified operation based on the request may be otherwise not authorized, and the cloud-based server can respond with an authorization that authorizes the computer test tool to perform the specified operation as requested. The authorization can limit performance of the specified operation to at least one of a specified location area, time period, and one or more users. The request can be submitted automatically in response to the specified operation being unauthorized by the cloud-based server.

In embodiments, the computer test tool can exchange information between the cloud-based server and a computer test tool that is not coupled to the communication network to enable the cloud-based server to track usage of the uncoupled computer test tool and, based on the tracked usage, can transmit a message to the uncoupled computer test tool that temporarily enables the uncoupled computer test tool based on a predetermined condition.

In embodiments, the computer test tool can exchange information between the cloud-based server and a module installed in the computer test tool to enable the cloud-based server to track usage of the module and, based on the tracked usage, can transmit a message to the module that temporarily enables the module based on a predetermined condition.

In further, optional aspects, a cloud-based server for providing data communication is described in which the cloud-based server includes a memory configured to store executable instructions and a processor disposed in communication with the memory. The processor upon execution of the instructions is configured to couple to a communication network so as to exchange data with a computer test tool when the computer test tool is coupled to the communication network, wherein the computer test tool performs one or more diagnostic tests on a computer network, tracks usage of the computer test tool, and based on the tracked usage, transmit a message to the computer test tool that temporarily enables the computer test tool based on a predetermined condition.

In embodiments, the tracked usage can include at least one of location data indicative of a sensed location of the computer test tool, operation data indicative of operations performed by the computer test tool, and user data indicative of one or more users that have operated the computer test tool. The tracked usage can be based on a comparison between the time, location data, the operation data, and the user data, and a schedule of authorized usage of the computer test tool. The schedule of authorized usage can include at least one of authorized locations, times, operations, and users that prescribe authorized usage of the computer test tool. The cloud-based server can access a workflow schedule that includes a time and location of operations that the computer test tool is configured to perform in accordance with a workflow, and can generate a schedule of usage of the computer test tool based on the workflow schedule and the location data.

DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS

The illustrated embodiments are now described more fully with reference to the accompanying drawings wherein like reference numerals identify similar structural/functional features. The illustrated embodiments are not limited in any way to what is illustrated as the illustrated embodiments described below are merely exemplary, which can be embodied in various forms, as appreciated by one skilled in the art. Therefore, it is to be understood that any structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representation for teaching one skilled in the art to variously employ the discussed embodiments. Furthermore, the terms and phrases used herein are not intended to be limiting but rather to provide an understandable description of the illustrated embodiments.

It is to be appreciated the illustrated embodiments discussed below are preferably a software algorithm, program or code residing on computer useable medium having control logic for enabling execution on a machine having a computer processor. The machine typically includes memory storage configured to provide output from execution of the computer algorithm or program.

As used herein, the term “software” is meant to be synonymous with any code or program that can be in a processor of a host computer, regardless of whether the implementation is in hardware, firmware or as a software computer product available on a disc, a memory storage device, or for download from a remote machine. The embodiments described herein include such software to implement the equations, relationships and algorithms described above. One skilled in the art will appreciate further features and advantages of the illustrated embodiments based on the above-described embodiments. Accordingly, the illustrated embodiments are not to be limited by what has been particularly shown and described, except as indicated by the appended claims.

Turning now descriptively to the drawings, in which similar reference characters denote similar elements throughout the several views,FIG. 1depicts an exemplary communications network100in which below illustrated embodiments may be implemented.

It is to be understood a communication network100is a geographically distributed collection of nodes interconnected by communication links and segments for transporting data between end nodes, such as personal computers, work stations, smart phone devices, tablets, televisions, sensors and or other devices such as automobiles, etc. Many types of networks are available, with the types ranging from local area networks (LANs) to wide area networks (WANs). LANs typically connect the nodes over dedicated private communications links located in the same general physical location, such as a building or campus. WANs, on the other hand, typically connect geographically dispersed nodes over long-distance communications links, such as common carrier telephone lines, optical lightpaths, synchronous optical networks (SONET), synchronous digital hierarchy (SDH) links, or Powerline Communications (PLC), and others.

FIG. 1is a schematic block diagram of an example communication network100illustratively comprising nodes/devices101-108(e.g., sensors102, client computing devices103, smart phone devices105, web servers106, routers107, switches108, and the like) interconnected by various methods of communication. For instance, the links109may be wired links or may comprise a wireless communication medium, where certain nodes are in communication with other nodes, e.g., based on distance, signal strength, current operational status, location, etc. Moreover, each of the devices can communicate data packets (or frames)142with other devices using predefined network communication protocols as will be appreciated by those skilled in the art, such as various wired protocols and wireless protocols etc., where appropriate. In this context, a protocol consists of a set of rules defining how the nodes interact with each other. Those skilled in the art will understand that any number of nodes, devices, links, etc. may be used in the computer network, and that the view shown herein is for simplicity. Also, while the embodiments are shown herein with reference to a general network cloud, the description herein is not so limited, and may be applied to networks that are hardwired.

FIG. 2is a schematic block diagram of an example network computing device200(e.g., client computing device103, server106, etc.) that may be used (or components thereof) with one or more embodiments described herein, e.g., as one of the nodes shown in the network100. As explained above, in different embodiments these various devices are configured to communicate with each other in any suitable way, such as, for example, via communication network100.

Device200is intended to represent any type of computer system capable of carrying out the teachings of various embodiments of the present invention. Device200is only one example of a suitable system and is not intended to suggest any limitation as to the scope of use or functionality of embodiments of the invention described herein. Regardless, computing device200is capable of being implemented and/or performing any of the functionality set forth herein.

Computing device200may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. Computing device200may be practiced in distributed data processing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed data processing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.

Device200is shown inFIG. 2in the form of a general-purpose computing device. The components of device200may include, but are not limited to, one or more processors or processing units216, a system memory228, and a bus218that couples various system components including system memory228to processor216.

Computing device200typically includes a variety of computer system readable media. Such media may be any available media that is accessible by device200, and it includes both volatile and non-volatile media, removable and non-removable media.

Program/utility240, having a set (at least one) of program modules215, such as underwriting module, may be stored in memory228by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. Program modules215generally carry out the functions and/or methodologies of embodiments of the invention as described herein.

Device200may also communicate with one or more external devices214such as a keyboard, a pointing device, a display224, etc.; one or more devices that enable a user to interact with computing device200; and/or any devices (e.g., network card, modem, etc.) that enable computing device200to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interfaces222. Still yet, device200can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter220. As depicted, network adapter220communicates with the other components of computing device200via bus218. It should be understood that although not shown, other hardware and/or software components could be used in conjunction with device200. Examples, include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.

In the description that follows, certain embodiments may be described with reference to acts and symbolic representations of operations that are performed by one or more computing devices, such as the computing system environment200ofFIG. 2. As such, it will be understood that such acts and operations, which are at times referred to as being computer-executed, include the manipulation by the processor of the computer of electrical signals representing data in a structured form. This manipulation transforms the data or maintains them at locations in the memory system of the computer, which reconfigures or otherwise alters the operation of the computer in a manner understood by those skilled in the art. The data structures in which data is maintained are physical locations of the memory that have particular properties defined by the format of the data. However, while an embodiment is being described in the foregoing context, it is not meant to be limiting as those of skill in the art will appreciate that the acts and operations described hereinafter may also be implemented in hardware.

FIGS. 1 and 2are intended to provide a brief, general description of an illustrative and/or suitable exemplary environment in which embodiments of the below described present invention may be implemented.FIGS. 1 and 2are exemplary of a suitable environment and are not intended to suggest any limitation as to the structure, scope of use, or functionality of an embodiment of the present invention. A particular environment should not be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in an exemplary operating environment. For example, in certain instances, one or more elements of an environment may be deemed not necessary and omitted. In other instances, one or more other elements may be deemed necessary and added.

With the exemplary communication network100(FIG. 1) and computing device200(FIG. 2) being generally shown and discussed above, description of certain illustrated embodiments of the present invention will now be provided. With reference now toFIGS. 3-5, a cloud-assisted computer testing system300is generally shown in which a plurality of computer test tools302communicate with a cloud-based server304, wherein the cloud-based server304authorizes operation of the computer test tools302based on usage of the computer test tool302and/or usage criteria. Additionally, the cloud-based server304can track usage of each computer test tool302for determining metrics, such as economic efficiency of the computer test tool302and its users, devaluation of the computer test tool302, and warranty compliance of the computer test tool302. In an embodiment, the computer test tools302communicate indirectly with a cloud-based server304via a communication device (not shown), such as a mobile phone, tablet, or laptop computer.

An example computer test tool302is a portable tool than can include a computer system that functions as a node (e.g., nodes101-105,107, or108) of a network306, wherein network306is similar to communication network100shown inFIG. 1. Similarly, the server304can be a web server that includes a computer system that functions as a node (e.g., node106) of network306.

The computer test tool302communicates with the network306using a first communication link308, and the server304communicates with the network306using a second communication link310. The first and second communication links308,310can each include a single or multiple wired and/or wireless links. In embodiments, some of these links use near-field communication, such as radio frequency identification (RFID), Bluetooth, infrared communication, or the like. In embodiments, the network306includes the Internet. As indicated by the dotted lines, the computer test tool302can be selectively coupled to the network306so that the first communication link308can be intermittent, e.g., disrupted and reestablished. The second communication link310can be stable and readily available during operation times for communicating with the computer test tool302.

The computer test tool302and the cloud-based server304can each be configured similarly to the network computing device200shown inFIG. 2, such as to include a processing unit216, a network adapter220, an I/O interface222, and memory228.

The computer test tool302is a portable device that includes a test device312, a location detector314, a user authorization module316, an operation module318, a user interface module322, a diagnostics module320, an enable module323, and a memory325. Examples of such a test tool302, include, and are not limited to the flowing Fluke Network® instruments: OptiFiber® Pro OTDR; CertiFiber® Pro Optical Loss Test Set and the DSX-5000 CableAnalyzer™.

The location detector314, user authorization module316, operation module318, user interface module322, diagnostics module320, and enable module323can include software modules (e.g., program modules215stored by memory228of the server304). The location detector314senses a location of the computer test tool302. The location detector314can include a Global Positioning System (GPS) sensor. In embodiments, the location detector314can include sensors that detect a characteristic, such as an optical code or RFID code, associated with a fixed device having a known location. The memory325can be comparable to system memory228or a portion thereof.

Additionally, in embodiments, the location detector314can be external from the computer test tool302, and/or included in the cloud-based server304. In an embodiment, the location detector314can be associated with a fixed device having a known location that senses the presence of the computer test tool302, e.g., using optical sensing, RFID, Bluetooth, etc. Further, in embodiments, the location detector314can include logic to infer location of the computer test tool302from network signals such as IP address, RFID, WiFi and Bluetooth MAC addresses, and/or a GSM/CDMA cell ID associated with the computer test tool302. The location detector314outputs time-stamped location data indicative of a location of the computer test tool302. The location data can include geolocation data and/or a position of the computer test tool302inside a building, such as relative to a floor map.

The user authorization module316receives user identification information that can be used by the computer test tool302or the cloud-based server304to authorize the user to operate the computer test tool302. The user identification information can include a username and password, which can be entered, e.g., via a user input device, such as keyboard or touchscreen associated with the user interface module322. Alternatively or additionally, the user identification information can include biometric information, such as fingerprint, retinal scan, voice scan, etc., that can sensed by a biometric sensor which may be included with the computer test tool302. The user authorization module316outputs time-stamped user data that identifies a user that has been authorized to use the computer test tool302.

The operation module318includes a variety of submodules used for respective operations of the computer test tool302. The submodules can include, for example, an operation to perform cable testing operations, such as optical time domain reflectometry (OTDR) testing, optical loss/length testing, and/or copper certification testing; execute a cellular phone call; measure a physical property using the test device312; perform diagnostic testing of the computer test tool302; couple to a cloud-based server; and couple to another test tool or test tool module (which may or may not have capabilities for communicating with a network such as the Internet). The operation module318can output time-stamped operation data that indicates which operations were performed by the computer test tool302.

The diagnostics submodule320performs the diagnostic testing, which can include detecting malfunction of a component of the computer test tool302, calibrating the test device312, performing or logging of maintenance tasks performed on the computer test tool302. The diagnostics module320outputs time-stamped diagnostics data that indicates which diagnostic operations were performed and results of the diagnostic operations, such as which components malfunctioned.

The user interface module322provides a user interface for receiving input from a user, via a user input device, such as a keypad or touch screen. The user interface module322can further and communicate information to the user, such as via a display device and/or an audio device.

The enable module323can access the authorization period327stored by the memory325and determine a time-to-expiration of the authorization period. The time-to-expiration is the amount of time that remains until the timing restriction associated with the authorization expires. When the time-to-expiration is greater than zero, the enable module323causes the computer test tool302to be in an enabled node in which the modules of the computer test tool302are enabled to operate.

When the time-to-expiration is zero, the enable module323causes the computer test tool302to be in a disabled mode (e.g., bricked) in which the modules of the computer test tool302are disabled, and only permitted to perform minimal operations. For example, in the disabled mode, the computer test tool302is operatively limited to receiving and displaying messages from the cloud-based server304and requesting authorization (e.g., authorization renewal or a limited authorization) from the cloud-based server304. The enable module323can also submit a renewal request to the cloud-based server304to request authorization renewal. The cloud-based server304includes an authentication module324, a usage tracking module326, and a diagnostic data processing module328, each of which can include software modules (e.g., program modules215stored by memory228of the server304). The cloud-based server304is coupled to a database330that stores information for a plurality of computer test tools that can couple to the cloud-based server304via network306. Information stored by the database330can include, for example, authorized usage schedules, workflow schedules, billing schedules, depreciation schedules, and life cycle schedules. The authorized usage schedules prescribe authorized usage of a computer test tool302, such as which usage factors or combination of usage factors are authorized in connection with using an identified computer test tool302. The usage factors can include, for example users, times of use, locations of use, and which operations.

The workflow schedule includes project workflows associated with respective projects and tool workflows associated with the individual computer test tools302. A project workflow can specify a schedule of tasks to be performed, including the order of the tasks, a timeframe, location, and operations to be performed for the respective tasks. The tool workflow for a computer test tool302indicates a schedule for the computer test tool302, including a time and location at which the computer test tool302is scheduled to be used. The tool workflow can also prescribe the operations to be performed and the user(s) prescribed to perform the operation.

The billing schedule indicates a value for operations that can be performed by the computer test tools302. The value can be tied to an amount that a customer is willing to pay for services performed using the computer test tools302. The values can be specific to various conditions, such as in association with which clients or geographical regions the operation is to be performed. The depreciation schedule indicates a depreciation of value of the computer test tools302for operations that can be performed by the respective computer test tools302. The life cycle schedules specify maintenance tasks to be performed, including calibration of the test device312, and warranty data. The warranty data specifies conditions for satisfying a warranty, e.g., maintenance requirements, effective dates of warranty, or limitations on usage, such as number of times an operation can be performed by the computer test tool302while under warranty.

The authentication module324monitors usage of a plurality of computer test tools302and can temporarily enable a computer test tool302based on predetermined conditions that expire and/or define authorized usage as prescribed in the authorized usage schedules. For example, a particular user may only be authorized to use a particular computer test tool302during work hours of Monday-Friday in a work territory assigned to that user for assigned work tasks. Special authorization is needed in order to use the computer test tool302by another user or outside of the prescribed time, locations, and operations.

With reference now toFIGS. 4 and 5, shown are flowcharts demonstrating implementation of the various exemplary embodiments. It is noted that the order of operations shown inFIGS. 4 and 5is not required, so in principle, the various operations may be performed out of the illustrated order. Also certain operations may be skipped, different operations may be added or substituted, or selected operations or groups of operations may be performed in a separate application following the embodiments described herein.

FIG. 4shows a flowchart of operations performed in accordance with a method of the disclosure when receiving test data from a computer test tool302and authorizing use of the computer test tool302. At operation402, the cloud-based server304receives from a computer test tool302an identifier that identifies the computer test tool302, and usage data, which can include time-stamped user data, location data, and operation data. At operation404, a determination is made whether the computer test tool's302authorization is expired. If the determination at operation404is YES, then the method continues at operation418. If the determination at operation404is NO, the method continues at operation406. At operation406, a determination is made whether the computer test tool's302authorization is within a predetermined time interval of expiration. If the determination at operation406is YES, then at operation410a warning is displayed on a display device of the computer test tool302informing the user that the authorization must be renewed within a displayed time interval, after which operation408is executed. If the determination at operation406is NO, the method continues at operation408.

At operation408, usage criteria, such as the authorized usage schedule that corresponds to the identified computer test tool302, is accessed. At operation412, a determination is made whether the usage data complies with the usage prescribed by the accessed authorized usage schedule. If the determination at operation412is YES, at operation414the test data is received from the computer test tool302and stored, e.g., in database330. At operation416, metric operations are performed on the usage data. The method continues at operation424.

The metrics operations can be used to monitor how usage of the tool is affecting the longevity and value of the tool and the value of associated commercial operations. The metric operations can include, for example, determining and storing in association with the identified computer test tool302depreciation in value based on the usage data and the depreciation schedule, value generated in accordance with the usage data and the billing schedule, and warranty compliance based on the usage data and the date associated with the usage data. The metric operations can further include, for example, determining and storing in association with the identified user, user performance efficiency based on, for instance: the identified computer test tool302, the time of usage, and the operation performed.

If the determination at operation412is NO, the method continues at operation417. At operation417, the computer test tool302expiration of the computer test tool's302current authorization period is forced, which causes the computer test tool302's enable module323to transition the computer test tool302to a disabled mode. In an embodiment, the expiration can be forced by sending a control message to the computer test tool302that causes the enable module323to reset the computer test tool's302calculated time-to-expiration of the authorization. The enable module323then determines that the authorization period has expired and transitions the computer test tool's302mode from an enabled mode to a disabled mode. In order to transition back to an enabled mode, an authorized user of the computer test tool302can request that a new enable message be provided by the cloud-based server304. Authorization of the user can be performed by the computer test tool302and/or the cloud-based server304. Pending any authorization of the user by the computer test tool302, the computer test tool302can send an authorization renewal request to the cloud-based server304.

In another embodiment, the expiration can be forced by sending a control message to the computer test tool302that causes the enable module323to reset the prescribed authorization period to “0”. In order to transition back to an enabled mode, an authorized user of the computer test tool302can request that the authorization period be reset to a requested value. Authorization of the user can be performed by the computer test tool302and/or the cloud-based server304. If the cloud-based server304approves the request, the cloud-based server304can transmit a control message to the computer test tool302to reset the authorized period. The cloud-based server304can also send an enable message to the computer test tool302that prompts the enable module323to transition the computer test tool302to an enabled mode.

At operation418, a message can optionally (as indicated by the dashed lines) be transmitted that can be displayed by the computer test tool302that indicates the computer test tool302is in a disabled mode pending a renewed authorization. The computer test tool302is in a disabled mode since authorization is no longer in effect due to expiration of the authorization time period or noncompliance with the authorized usage schedule. The computer test tool302can remain in the disabled mode until a renewed authorization is received from the cloud-based server304.

At operation420, a determination is made whether a renewal request or a limited authorization request was received and approved. If the determination at operation420is NO, the method returns to operation420, forming a wait loop that can be exited when a renewal request or a limited authorization request is received and approved.

If the determination at operation420is that a renewal request or a limited authorization request has been received and approved, then at operation422an enable message is transmitted to the computer test tool302that authorizes the computer test tool302to transition to an enabled mode. The method can continue at operation404wherein the computer test tool302can continue to operate in an enabled mode in accordance with the approved request until the computer test tool's302limited authorization is determined to be expired or exceeded at operation404.

The request for limited authorization can include a request to operate the computer test tool302with limitations that are additional to those prescribed by the associated authorized usage schedule for the computer test tool302. For example, operation of the computer test tool302can be limited to a particular user or group of users, a particular one or more uses, a particular geographic region, and/or for a limited time period. Approval of the request can include modification and approval of the request.

At operation424, the cloud-based server304waits for the next data transmission for one of the computer test tools302, upon which the method would continue at operation402. The data transmissions received at operation424are from enabled computer test tools302, since a computer test tool302that is in a disabled mode does not send data transmissions to the cloud-based server304.

Thus, in accordance with the method illustrated inFIG. 4, when the computer test tool's302authorization period has expired or been exceeded, the computer test tool302is inoperable, other than to request renewal or an expanded authorization. A computer test tool302that is being used without proper authorization, such as due to theft or for personal use, will soon become useless upon expiration of the authorization period or detection that authorization has been exceeded.

FIG. 5shows a flowchart of operations performed in accordance with a method of the disclosure to arrange usage or a computer test tool302based on a project workflow schedule and the workflow schedule associated with the computer test tool302. At operation502, a project workflow is accessed. At operation504, a determination is made whether any computer test tools302are needed to complete a task of the project workflow. If the determination at operation504is YES, at operation506, workflows associated with one or more potentially available computer test tools302(tool workflows) are accessed, and the method continues at operation508. If the determination at operation504is NO, the method ends.

At operation508, the tool workflows are compared with the project workflow to determine which computer test tools302are available and most appropriate for performing respective tasks of the project workflow. At operation510, the tool workflows associated with each computer test tool302determined to be available and most appropriate for participating in the workflow project tasks are updated to include the associated workflow tasks.

In an embodiment, the computer test tool302can exchange information between the cloud-based server304and a computer test tool332that is not coupled to the communication network306. For example, the uncoupled computer test tool332can be equipped with limited communication capabilities and/or does not have the capability to couple to the Internet independently. For instance, the uncoupled computer test tool332may be configured to communicate with a LAN, such as via local wired or wireless communication. The wireless communication can include, for example, NEC wireless communication, e.g., Bluetooth or RIM communication, and the wired communication can include communication links such as USB or Ethernet cables.

However, the uncoupled computer test tool332may be incapable, such as due to hardware or software constraints, from communicating with a different network, the Internet, and/or the cloud-based server304. The computer test tool302can communicate with the uncoupled computer test tool332and with the cloud-based server304, and thus enable the cloud-based server304to track usage of the uncoupled computer test tool332. In addition, if the cloud-based server304determines that the uncoupled computer test tool332is being used improperly, such as by an unauthorized user, at an unauthorized location, at an unauthorized time, or for an unauthorized operation, the cloud-based server304can transmit a control message to the uncoupled computer test tool332via the computer test tool302that disables the uncoupled computer test tool332.

Furthermore, in an embodiment, the computer test tool302can exchange information between the cloud-based server304and a removable computer module334having at least one interface that is configured to couple to the computer test tool302. The interface can include a communication interface that couples with a mating interface of the computer test tool302for exchanging data there between. The interface can include a wired connector that has, for example, pins or metal contacts, or a wireless connector that uses, for example, optical, infrared, Bluetooth, MAD, or other NEC connectors. In an embodiment, the removable computer module334is removably mounted to the computer test tool302and adds functionality to the computer test tool302. The computer test tool302can be compatible with multiple removable computer modules334that can be mounted to and removed from the computer test tool302individually or in combination. The removable computer modules334can be autonomous modules that can operate independently from the computer test tool, or may be operational only when mounted to the computer test tool302.

The removable computer module334may be incapable of independently communicating with the network306. The computer test tool302can communicate with the removable computer module334and the cloud-based server304to enable the cloud-based server304to track usage of the removable computer module334. In addition, if the cloud-based server304determines that the removable computer module334is being used improperly, such as with an unauthorized computer test tool302, by an unauthorized user, at an unauthorized location, at an unauthorized time, or for an unauthorized operation, the cloud-based server304can transmit a control message to the removable computer module334that disables the removable computer module334.

With certain illustrated embodiments described above, it is to be appreciated that various non-limiting embodiments described herein may be used separately, combined or selectively combined for specific applications. Further, some of the various features of the above non-limiting embodiments may be used without the corresponding use of other described features. The foregoing description should therefore be considered as merely illustrative of the principles, teachings and exemplary embodiments of this invention, and not in limitation thereof.

It is to be understood that the above-described arrangements are only illustrative of the application of the principles of the illustrated embodiments. Numerous modifications and alternative arrangements may be devised by those skilled in the art without departing from the scope of the illustrated embodiments, and the appended claims are intended to cover such modifications and arrangements.