Management service to manage a file

A method to manage a file is provided herein. The method includes use of a management service that receives the file from a peripheral device. The management service determines at least one file destination associated with a web-based service for the file. The management service transmits the file to at least one file destination with an application programming interface associated with the web-based service and an authorization stored on the management service.

BACKGROUND

Peripheral devices scan documents and transmit the documents to a file destination. In order to transfer the file to the file destination, the peripheral device includes firmware for each file destination and the peripheral device is connected to the file destination and/or a computing device to transmit the file.

DETAILED DESCRIPTION

In the following detailed description, reference is made to the accompanying drawings which form a part hereof, and in which is illustrated by way of specific examples in which the present disclosure may be practiced. It is to be understood that other examples may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure.

Peripheral devices may include firmware to connect to a computing device and/or to transfer data to a web-based service over the internet. When the peripheral device is connected to a computing device, the peripheral device transfers the file to the computing device and saves the file on a hard drive of the computing device. To transmit the file to one or a plurality of file destination, the user then separately logs into each web-based service and manually uploads the file from the hard drive to the web-based service. When the peripheral device is a web-connected device, the peripheral device includes a web application for each web-based service that a file may be transmitted to. Each web application is predefined and only allows a user to send the document to a specific destination that cannot be modified. In order to transmit the document to a plurality of destinations, each web application must be separately accessed and used via the peripheral device. Moreover, any notifications provided are manually initiated using a program separate from the web application.

In examples, a method, apparatus, and system to manage a file is provided herein. The method includes use of a management service that receives the file from a peripheral device. The management service determines at least one file destination associated with a web-based service for the file. The management service transmits the file to at least one file destination with an application programming interface associated with the web-based service and an authorization stored on the management service.

As used herein, the phrase “management service” refers to a centralized web-based service that connects a peripheral device to a plurality of web-based services. The management service may include a combination of device(s), such as servers; and application(s), such as software and/or firmware, that link, set-up, and/or authorize web-based service accounts. A user can use the management service to access and manage a plurality of web-based service accounts through programs and setting on the management service that are accessible via, for example, a website. The management service includes application programming interfaces (APIs) of one or more web-based or cloud-based services to facilitate access and management of the web-based service accounts.

As used herein the phrase “web-based service” refers to an electronic service accessible via a network connection, such as a webpage or website on the World Wide Web or a private network.

As used herein the phrase “management application” refers to an application that connects a peripheral device to a file management service. The management application enables transmission of files and/or content therebetween. The management service allows for files to be managed over a network and/or the like in a centralized location that does not require the peripheral device to manage the application programming interface. Instead, the management service stores and manages the application programming interface for multiple web-based services and manages the user accounts associated with the web-based services to enable access to the web-based services and transmission of data therebetween, such as the transmission of the file to the file destination.

As used herein, the term “manage” or “managed” refer to a plurality of actions, such as transmit, evaluate, store, save, email, reformat, and/or modify.

As used herein, the term “file” refers to an electronic document capable of being saved or stored, modified, evaluated, reformatted on a computing device or data store and/or emailed or transmitted over a network.

As used herein, the phrase “peripheral device” refers to a device connectable to a computing device via a network connected to allow transmission of data therebetween. The peripheral device includes firmware to connect the peripheral device to the management service.

As used herein, the phrase “file destination” refers to a device and/or service that is capable of receiving a file, such as memory or datastore connected to a computing device and/or an email server.

As used herein, the term “instruction” refers to content used to manage the file, such as the destination, settings, and/or accounts.

As used herein, the terms “scan,” “scans,” and “scanning” include electronically scanning a media, such as a sheet of paper, and/or scanning data from an electronic device, such as an electronic copy of a document from a computing device and/or mobile device or a message, i.e., an email message.

FIG. 1illustrates a schematic diagram of a system100to manage a file using a management service12. The system100includes a link10that connects a management service12, a peripheral device14, and a web-based service16. The system100also includes a data store18, but may include further components.

The link10represents generally one or more of a cable, wireless, fiber optic, local, or remote connections via a telecommunication link, an infrared link, a radio frequency link, or any other connectors or systems that provide electronic communication. The link10may include, at least in part, an intranet, the Internet, or a combination of both. The link10may also include intermediate proxies, routers, switches, load balancers, and the like.

The management service12represents generally any computing device or combination of computing devices configured to communicate with a peripheral device14and a web-based service16via a web-service application programming interface13over a link10, such as an internet connection. For example, the management service12includes a management device with a memory that stores a set of instructions and a processor coupled to the memory to execute the set of instructions to manage the file, as further described below inFIG. 2.

The management service12receives the file from the peripheral device14and determines at least one file destination associated with the web-based service16for the file. For example, the at least one file destination includes a storage account on a web-based service16or cloud service, such as Dropbox™, FilesAnywhere®, Evernote®, Box.netSM, or OfficeDrop. The management service12may also receive an instruction associated with the file from the peripheral device14and/or a setting associated with an account on the management service12. Based on the file and instruction, the management service12transmits the file to at least one file destination of a linked web-based service16.

The management service12includes at least one application programming interface13or web-based service application programming interface13and may include a plurality of application programming interfaces. Each of the at least one application programming interface13is associated with a web-based service16that is capable of being linked to the management service12to transmit the file to the at least one file destination. The web-based service application programming interface13interacts with the management service12and the web-based service16to transmit the file to the file destination.

The file transmission to the file destination associated with the web-based service16also includes an authorization stored on the management service12. The authorization includes, for example, a username/password combination, a key, and/or other authentication methods that verify or confirm access to an account on a web-based service16. Using the management service12enables the user to access one or more web-based services via a single service that contains the application programming interfaces13for the web-based services16. The management service12also reduces the limitations of the peripheral device14, such as firmware for the plurality of application programming interfaces13and compatibility issues between the peripheral device14and the web-based service16.

The peripheral device14transmits the file to the management service12. For example, the peripheral device14may be a multi-function printing and scanning device, a scanning device, a wireless or mobile device, and/or a computing device that scans a file in an electronic format. The peripheral device14may also include a management application associated with the management service12that enables transmission of the file to the management service12. The management application may also enable content to be received from a user and/or provided to the user, via for example a user interface and/or buttons on the peripheral device14. The content may include initiation of a scan, selection of options related to the file, such as quality, the at least one destination, and/or management of the file; and/or a notification of the status of the transmission, such as success and failure of the transmission to the management service12and/or the at least one destination associated with a web-based service16.

The peripheral device14represents generally a peripheral device14and/or a combination of peripheral devices that is/are not part of the management service12and is more or less dependent on the management service12. For example, the peripheral device14may expand the management service's12capabilities, while not forming part of the core architecture of the management service12. As illustrated inFIG. 1, the peripheral device14is connected to the management service12, such that the peripheral device14interacts with the management service12via the link10.

The web-based service16is an electronic service accessible via a network connection, such as a webpage on the World Wide Web or a private network. The web-based service16is capable of receiving a file from the management service12. After receiving the file, the web-based service16performs a specific function or task with the file, such as storage of the file in an account, editing or modifying the file, and/or providing the file for use by others, i.e., in a common repository. Typically, the web-based service16includes user accounts that provide a user with the ability to create and access an account associated with the web-based service16through the link10, such as an internet connection. Advantages of the web-based service16include the ability to access the account from anywhere via the link10. Examples of the web-based service16include Dropbox™, FilesAnywhere®, Evernote®, Box.netSM, or OfficeDrop.

The data store18represents generally any memory configured to store data that is accessible via the link10, such as by the management service12, the peripheral device14, and the web-based service16in the performance of functions associated therewith. For example, the data store18may store account information, the file, the set of instructions or instructions to be executed by the processor, and/or application programming interfaces13for a web-based service16.

FIG. 2illustrates a block diagram of an apparatus200useable with a management service12ofFIG. 1. The apparatus200includes a management device20, for example, a server and/or a combination of servers. The management device20is connected to a peripheral device14, such that the management device20receives a file from the peripheral device14.

The management device20manages the file using, for example a memory24, a processor26, and the application programming interface13. The memory24stores a set of instructions. The processor26is coupled to the memory24to execute the set of instructions to perform functions to manage the file. The set of instructions cause the processor26to receive the file from the peripheral device14, determine at least one file destination associated with a web-based service16for the file, and transmit the file to the at least one file destination using an authorization stored on the management service12. The memory24may also store data resulting from the execution of the set of instructions, such as the file and/or account information, as discussed below.

The management service12uses the application programming interface13to transmit the file to the at least one file destination that is also associated with the web-based service16, i.e., the file destination. The application programming interface13is associated with the web-based service16, such as Dropbox™, as illustrated inFIG. 1. The application programming interface13is on and/or connected to the management service12. The at least one application programming interface13may include a plurality of application programming interfaces (APIs)13, with one application programming interface13being associated with each web-based service16that the management service12is connectable to. The web-based services16provided are determined by the management service12and/or account settings established by the user. For example, the management service12may include a plurality of application programming interfaces, such as a Dropbox™ API associated with Dropbox™ and a FilesAnywhere® API associated with FilesAnywhere®.

To use the APIs, a user sets up an account through the management service12and links the management service account to a web-based service account. For example, the user may link a Dropbox™ account and FilesAnywhere® account to the management service account, such that the management account may then transmit files to the user's Dropbox™ account and/or Files Anywhere® account based on the user's instructions and/or account settings. The user is then capable of logging into and/or accessing the management service12. The management service12becomes the connection between the peripheral device14and the web-based service16, allowing submission of files to the file destination, for example, one or both of the Dropbox™ account and FilesAnywhere® account, using a single service or log-in through the management service12.

The user accounts on the management service12may include user information including web-based services, access or log-in information for the web-based service, preferences for the transmission of the file to the file destination. For example, a user may add preferences to the account by selecting the web-based service and/or file destination for the file. The preferences may be manually entered initially and updated by the user manually over time and/or automatically updated and customized based on the user's actions and/or selections over time. The user may also schedule a time to receive and/or transmit the file to the file destination. The management service12further includes a website to access and update the user account and settings of the management service12.

The management service12may also include an instruction associated with the file. The instruction associated with the file may be received from the user via the peripheral device14, such as through a user interface. The instruction may also be associated with the file by a setting of the user account on the management service12. The file may be temporarily stored and/or transmitted to the data store18and/or a content device connected to the apparatus200via the link10, as illustrated inFIG. 1.

Referring toFIG. 3, a block diagram of the system100ofFIG. 1is illustrated according to a further example. The block diagram illustrates the link10connecting the management service12to the peripheral device14, the web-based service16, the data store18, and the notification service39. The management service12includes at least the apparatus ofFIG. 2, such as, the management device20with, for example, a management engine22associated with the memory24, the processor26, the web-based service API13and may include further components, such as a web-based services engine30, an account engine31, an authorization engine32, and a notification engine33.

The management engine22represents generally any combination of hardware and/or programming to manage a file that is received from the peripheral device14, such as a scanning device14A. For example, the management engine22interacts with firmware on the peripheral device14to assist with scanning and transmitting the file to the management service12.

The web-based services engine30represents generally any combination of hardware and/or programming to manage and link the web-based services associated with the management device. For example, the web-based service engine30may include the web-based services API for each web-based service16associated with the management service12.

The account engine31represents generally any combination of hardware and/or programming to manage a user account on the management service12. For example, the each user of the management services has a distinct account on the management service and each user account on the management service may be linked to web-based services via the user's web-based service account which is distinct from the management service account, but capable of being linked via the web-based service API. The management service12uses information associated with the user's account information to access the web-based service(s) associated therewith, such information includes account settings and preferences for the management services12and/or user names and passwords for the web-based accounts.

The authorization engine32represents generally any combination of hardware and/or programming to authorize a transmission of the file. For example, the authorization engine32verifies access to the linked web-based services account via for example a user name and password and/or additional methods such as a security key or certificate to ensure a secure transmission of the file. The authorization engine32may also contain additional information to commence the transmission of the file to the file destination.

The notification engine33represents generally any combination of hardware and/or programming to provide a notification of the status of a transmission of the file to the at least one file destination. For example, the notification engine33may indicate a success or failure at different times during the transmission of the file from the peripheral device14to the file destination, such as when the file is transmitted to and/or received by the management service12and when the file is transmitted to and/or received by the file destination.

The management engine22, the web-based services engine30, the account engine31, the authorization engine32, and notification engine33may include the memory24and the processor26, as illustrated and described inFIG. 2. The functionality of the management engine22, the web-based services engine30, the account engine31, the authorization engine32, and notification engine33, are further described below inFIG. 4.

The management service12functionalities may be accomplished using a memory24on the management device20or a data store18connected to the management service12via the link10. The data store18is physically located on the management device20and/or on a separate device connected to the management device20via the link10, such as a database on a server, or a disc insertable into the management device20. The data store18stores a variety of content38, such as account information38A, a file38B, the web-based services API13, and/or the set of instructions38D that are executed by the processor26. The data store18may be adapted to store additional content based on the functionalities of the management service12.

The set of instructions38D stored in the data store18include instructions to receive the file from the peripheral device, determine at least one file destination associated with a web-based service16for the file, and transmit the file to the at least one file destination using an authorization stored on the management service12. The memory24and/or data store18may also store content38resulting from the execution of the set of instructions38D, such as the file, i.e., a copy of the file received from the peripheral device14. Moreover, the account information stored in the data store18may include a user account for each user that contains a log-in for the web-based service, an account setting, such as a file destination, a file format, and a notification instruction. The web-based service application programming interface13includes an application programming interfaces associated with the web-based service, where each web-based service may include a separate web-based service API.

The files38B may be stored on a database, such as the data store18and/or separate databases. The files38B may be stored on the database temporarily before transmission to the file destination and/or permanently as a copy of the file transmitted to the file destination or as the file destination. The data store18may also store a set of instructions38D to manage the file from the peripheral device14, such as the scanning device14A, via the management service12. The set of instructions38D may be stored in a data store18, such as a database external to the management service12, a disc, and/or a data storage device on the management device20, such as the memory24.

The peripheral device14is illustrated as a scanning device14A. The peripheral device14represents generally a peripheral device14and/or a combination of peripheral devices14. The peripheral device14represents a device that is not part of the management service12and is more or less dependent on a computing device, such as the management device20of the management service12. For example, the scanning device14A may expand the management service's12capabilities, while not forming part of the core architecture of the management device12.

As illustrated inFIG. 3, the scanning device14A is connected to the management service12, such that the scanning device14A interacts with the management service12via the link10. The scanning device14A scans a document to create an electronic file to be received by the management service12. The peripheral device14may further include a management application34on and/or connected to a peripheral device14. The management application34provides firmware and/or an application programming interface between the peripheral device14and the management service12to facilitate transmission of the file and communication therebetween.

The system100is illustrated to further include a user interface35. The user interface35is connected to or integrated into the peripheral device14, such as the scanning device14A. For example, the user interface35may be a display on a peripheral device14and/or connected to the peripheral device14over a network, such as the link10ofFIG. 1. The user interface35displays content, such as a list of options and/or a notification, from the management service12to a user and receive input from the user, such as an instruction and/or selection for transmission to the management service12. The user interface35may be coupled to the management application34to display content, such as scan and file destination options, to a user and receives input from the user. For example, the user interface35may be utilized to initiate the scan, to provide a file destination36on a web-based service16and/or to indicate a selection of a notification method for a status of the transmission of the file

The web-based service16is an electronic service accessible via a network connection, such as a website37on the World Wide Web or a private network. The web-based service16is capable of receiving a file from the management service12. After receiving the file, the web-based service16performs a specific function or task with the file, such as storage of the file in an account, editing or modifying the file, and/or providing the file for use by others, i.e., in a common repository. Examples of the web-based service16include Dropbox™, FilesAnywhere®, Evernote®, Box.netSM, or OfficeDrop. The web-based service16includes a file destination36that receives the file transmitted from the management service12.

The system100further includes a notification service39to provide a notification of a successful and/or unsuccessful transmission of the file to the at least one file destination. The notification service39represents generally a computing device, a peripheral device, and/or a combination of computing and peripheral devices. The notification service39may be part of the management service12or a separate device that is not part of the management service12but may expand the management service's12capabilities, while not forming part of the core architecture of the management service12. As illustrated inFIG. 3, the notification service39is connected to the management service12via the link10, such that the notification service39interacts with the management service12. The notification service39may perform at least one function, such as display a message regarding the transmission of the file from the peripheral device14to the web-based service16via the management service12. For example, the message may provide information to a user regarding the successful and/or unsuccessful transmission of the file, such as confirmation of a successful receipt of the file to the management service12and/or successful transmission of the file to the at least one file destination36. In addition, the notification may be delivered to the user through, for example, a mobile device39A, such as a text message, an email39B, and/or a graphical user interface on a computing device39C, such as an instant message; however, other communication devices with the functionality described herein may also be used to perform the above described functionality.

Referring toFIG. 4, a block diagram of an example of a computer readable medium400useable with the system ofFIG. 1is illustrated. The computer readable medium400represents generally any combination of hardware and/or software to manage a file from a peripheral device14. The computer readable medium400is part of the system ofFIG. 1, such as a management service12on a cloud server system that operates with the management device20. The management device20includes a memory24and a processor26. For example, the memory24stores a set of instructions38D and the processor26execute the set of instructions38D. The set of instructions38D cause the processor26to receive the file from the peripheral device14, determine at least one file destination36associated with a web-based service16for the file, and transmit the file to the at least one file destination36using an authorization stored on the management service12. The processor may further include instructions to: update an account, connect to a web-based service16, authorize transmission of the file to the file destination36, and/or notify the user of the status of the transmission of the file from the peripheral device14to the management service12and/or the web-based service16. The processor26represents generally any processor configured to execute program instructions stored in the memory24to perform various specified functions.

An interface42provides interactive functions to a user via the peripheral device14. The interface42represents generally an interface connected to the peripheral device14and/or the management device20.

The memory24is illustrated to include an operating system43and applications44. The operating system43represents a collection of programs that when executed by the processor26serve as a platform on which applications44may run. Examples of operating systems43include various versions of Linux's Red Hat®, Microsoft's Windows®, Apple's Mac OS®, Apple's iOS® (trademark licensed from Cisco), and Google's Android™.

Applications44represent program instructions that when executed by the processor26functions as an application, such as software that manages a file from a peripheral device14. The executable program instructions stored in memory24are illustrated as including a management module45, a web-based services module46, an account module47, an authorization module48, and a notification module49.

The management module45represents program instructions that when executed by a processor26cause the processor26to execute the instructions to receive the file from the peripheral device14. The executable instructions stored in the management module45may include a set of instructions38D from the data store18(FIG. 3). In response to the receipt of the file from the peripheral device14, the management module further provides instructions to determine at least one file destination36associated with a web-based service16for the file and transmits the file to the at least one file destination36using an authorization stored on the management service12.

The web-based services module46represents program instructions that when executed by a processor26cause the processor to run the web-based service application programming interface13and establish a connection between the management service12and the web-based service16. For example, the web-based services module46may use the web-based service application programming interface13to connect to a user's account on the web-based service16. The executable instructions stored in the web-based services module46may include the set of instructions38D from the data store18(FIG. 3).

The account module47represents program instructions that when executed by a processor26cause the account settings to be set-up, updated, and/or modified. The account settings may be received from the website37via a computing device and/or through content from the peripheral device14. For example, the account settings may be set-up from a computer, a mobile device39A, and/or a scanning device14A. The executable instructions stored in the account module47may include the set of instructions38D from the data store18(FIG. 3).

The authorization module48represents program instructions that when executed by a processor26cause the connection between the management service12and the web-based service that authorizes the transmission of the file therebetween. The executable instructions stored in the authorization module48may include the set of instructions38D from the data store18(FIG. 3) and authorization information may also be stored on the data store18. In response the authorization, the file may be transmitted to the file destination36on the web-based service16. The authorization module48provides further instructions to the processor26to provide a secure connection.

The notification module49represents program instructions that when executed by a processor26cause the processor to provide a notification of the transmission of the file to the at least one file destination. The notification may include a notification to a user via the peripheral device14and/or a separate device, such as a computing or mobile device. The notification may further trigger an event by the management service12and/or the web-based services16using, for example, the file. The executable instructions stored in the notification module49may include a set of instructions38D from the data store18(FIG. 3).

Referring toFIGS. 3-4, the management engine22, the web-based services engine30, the account engine31, the authorization engine32, and the notification engine33are described as combinations of hardware and/or programming. The hardware portions may include the processor26. The programming portions may include the operating system43, applications44, and/or combinations thereof. The programming may be processor executable instructions stored on a tangible memory media. The memory24may store program instructions that when executed by the processor26cause the processor to perform the program instructions, as described with respect to the management module45, web-based services module46, the account module47, the authorization module48, and the notification module49. The memory24may be integrated in the same device as the processor26or it may be separate but accessible to that device and processor26.

In some examples, the program instructions may be part of software that can be executed by the processor26to perform a method using the system100. The memory24may be a portable medium such as a CD, DVD, or flash drive or a memory maintained by a server from which the software can be downloaded and installed. In other examples, the program instructions may be part of an application or applications already installed, for example scanner drivers installed on the management service12. In further examples, the memory24may include integrated memory such as a hard drive.

FIG. 5illustrates a flow diagram500of a method to manage a file according to an example. The method500may be used, for example, with the system100and apparatus200. The method500may be implemented by the management device on, for example, a cloud server using the application programming interface13associated with the web-based service and the peripheral device, as described inFIG. 5. The method500may be initiated by a user and/or automatically initiated based on predefined account settings and/or an event.

In block52, a management service receives the file from a peripheral device. For example, a web-connected peripheral device with a management application obtains the file and transmits the file to the management service. The management service receives the file and proceeds according to account setting and/or an instruction included with the file. The management service determines at least one file destination associated with a web-based service for the file in block54. The management service includes an application programming interface associated with the web-based service and an instruction associated with the file. The management service may connect to a plurality of web-based services. Each web-based service associated with the management service includes an application programming interface associated therewith. The management service transmits the file to one or a plurality of the web-based services using the application programming interfaces and the instruction. The instruction may be received from the peripheral device, such as via a user interface and/or from an account setting on the management service. Moreover, the management service may transmit the file to a default location based on account settings associated with the management service.

In block56, the application programming interface transmits the file to the at least one file destination using an authorization stored on the management service. The application programming interface links the management service to one and/or a plurality of the web-based services. The file is transmitted to one and/or a plurality of distinct file destinations, according to a command from the user interface and/or an account setting. The management service and/or the application programming interface authorize the file destination. The authorization may be initially determined through the user account on the management service, such as via the website, and/or at the time the file is transmitted to the web-based service using the authorization module and the application programming interface.

FIG. 6illustrates a flow chart600of a method to manage a file, according to a further example. A user will initially activate a management service in block60. The activation may include connecting to a peripheral device. The activation may also include setting-up and/or updating an account and/or linking the management service to web-based services, as illustrated in block61. Typically, the activation of block61is performed prior to the first use of the management service and/or when a new web-based service is being used. In block62, the management service12receives a file from the peripheral device. The file may also include an instruction, such as the file destination or the file destination may be determined based on account settings, such as the file type, the file size, and/or the peripheral device the file is received from. For example the user may set up rules within the account settings of the management service that indicate the file destination of the web-based service(s).FIG. 5includes two file destinations for the file; however, one file destination and/or more than two file destinations may also be used.

The management service connects to web-services via an application programming interface (API) associated with each web-based service in blocks63and64. For example, the user may request that the file may be transmitted to two distinct destinations, Dropbox™ and Evernote®, which would result in the management service connecting to both Dropbox™ and Evernote® simultaneously and/or in series. Blocks65and66illustrate that authorization of the user's accounts with each of the web-based services, i.e., Dropbox™ and Evernote®. After the authorization occurs, the files may be transmitted to the file destination associated with each of the services, i.e., Dropbox™ and Evernote®, in blocks67and68. The transmission of the file to the web-based services may also provide one or more notifications via the management service, illustrated as a single notification in block69; however, each transmission may include a separate notification and/or each transmission may include a plurality of notification based on the account settings. For example, the notification may be transmitted via an email, short message service (SMS), instant message, message on the user interface of the peripheral device to indicate successful and/or unsuccessful transmission(s) of the file(s).

Although the flow diagrams ofFIGS. 5-6illustrate specific orders of execution, the order of execution may differ from that which is illustrated. For example, the order of execution of the blocks may be scrambled relative to the order shown. Also, the blocks shown in succession may be executed concurrently or with partial concurrence. All such variations are within the scope of the present invention.

FIGS. 1-6aid in illustrating the architecture, functionality, and operation according to examples. The examples illustrate various physical and logical components. The various components illustrated are defined at least in part as programs, programming, or program instructions. Each such component, portion thereof, or various combinations thereof may represent in whole or in part a module, segment, or portion of code that comprises one or more executable instructions to implement any specified logical function(s). Each component or various combinations thereof may represent a circuit or a number of interconnected circuits to implement the specified logical function(s).

Examples can be realized in any computer-readable media for use by or in connection with an instruction execution system such as a computer/processor based system or an ASIC (Application Specific Integrated Circuit) or other system that can fetch or obtain the logic from computer-readable media and execute the instructions contained therein. “Computer-readable media” can be any media that can contain, store, or maintain programs and data for use by or in connection with the instruction execution system. Computer readable media can comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, or semiconductor media. More specific examples of suitable computer-readable media include, but are not limited to, a portable magnetic computer diskette such as floppy diskettes or hard drives, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory, or a portable compact disc.

The present disclosure has been described using non-limiting detailed descriptions of examples thereof and is not intended to limit the scope of the present disclosure. It should be understood that features and/or operations described with respect to one example may be used with other examples and that not all examples of the present disclosure have all of the features and/or operations illustrated in a particular figure or described with respect to one of the examples. Variations of examples described will occur to persons of the art. Furthermore, the terms “comprise,” “include,” “have” and their conjugates, shall mean, when used in the present disclosure and/or claims, “including but not necessarily limited to.”

It is noted that some of the above described examples may include structure, acts or details of structures and acts that may not be essential to the present disclosure and are intended to be exemplary. Structure and acts described herein are replaceable by equivalents, which perform the same function, even if the structure or acts are different, as known in the art. Therefore, the scope of the present disclosure is limited only by the elements and limitations as used in the claims.