In an information processing system, a particular job request such as a print job can be transferred over a network such as a local area network (LAN), wide area network (WAN), wireless network, or otherwise. Descriptive information can be included with the transmission of a print job request, but in public settings generally includes limited information such as a source, e.g., laptop computer, desktop computer, of the print job.
Meta-data can sometimes be used to provide descriptive information. Meta-data is defined as data that describes other data. The term may refer to detailed compilations such as data dictionaries and repositories that provide a fair amount of information about each data element. It may also refer to any descriptive item about data, such as the content of an HTML meta tag or a title field in a media file. Data dictionaries include a database about data and databases. A data dictionary holds the name, type, range of values, source, and authorization for access for each data element in an organization's files and databases. It also indicates which application programs use that data so that when a change in a data structure is contemplated, a list of affected programs can be generated. The data dictionary may be a stand-alone system or an integral part of a database management system (DBMS). For example, meta-data can include descriptive characteristics about data, such as the content of a job request, information, instructions, commands, and/or code that can be included with and/or provided to the job request.
Meta-data is generally added at the source device (e.g., a laptop computer) from which the job is requested. Thus, any changes to the meta-data (e.g., updating the meta-data) would involve accessing each device individually. This can be a time consuming process. Moreover, job requests transmitted in a public setting generally do not include a robust set of descriptive information.
For example, one public setting example includes a hotel where a guest may connect a laptop computer to a hotel network and send print jobs to a hotel printing center. Another public setting example includes a coffee shop where a visitor may connect a laptop to a wireless network connection offered by the coffee shop, e.g., to obtain internet access. In these public setting examples a job request, e.g., print job and/or internet access request will likely include just source information for the job request.
Embodiments disclosed herein include methods, devices, and systems for associating meta-data with a job request at an agent on computing device based on identifying a source and a type of the job request. Embodiments further include updating meta-data to be associated with particular job requests at an agent of the source device from a recipient device over a network. Further embodiments allow for the meta-data to be associated with a job request at a source device and/or a recipient device as part of a spooling process using an agent on the source device and/or on the recipient device.
By way of example and not by way of limitation, the source device 110 can include a personal computer, a handheld computer such as personal data assistant (PDA), a cellular phone having text and image data communication abilities, or other device of the like. The recipient device 120 can include a server or other network management station, and the destination device 130 can include a computing device for performing particular functions or tasks, e.g., accessing the internet, printing, accounting and billing functions, etc., as may be handled by print servers, accounting modules, Internet portals, and the like. As one of ordinary skill in the art will appreciate upon reading this disclosure, various program applications are executable on the devices described above.
According to embodiments of the present invention, program embodiments are provided to an agent 112 on the source device 110. The program embodiments can be provided to the agent 112 in the form of software and/or firmware. The program embodiments execute, upon detecting a job request, to associate an appropriate set of meta-data to the job request based on identifying the source device on a network and on the type of job request. One of ordinary skill in the art will appreciate the manner in which a source device 110 can be identified upon connecting to a network, e.g., mapped to a network management station and/or server. For example, when a laptop (e.g., source device 110) is connected to a network (e.g., LAN, WAN, wireless access point or otherwise) the laptop can communicate with a network management station (e.g., recipient device 120) to identify itself and be appropriately mapped in the network.
According to various embodiments the program embodiments provided to the agent 112 can be downloaded to the agent 112 over the network, previously installed on the source device 110 from a computer readable medium, e.g., CD, and/or downloaded thereto from the Internet. The program embodiments include instructions which can execute to associate various meta-data information with a job request according to various program application types, e.g., program applications to launch of a web browser, an email application, and/or a word processing program application.
In various embodiments, the program instructions execute with the agent 112 to associate the meta-data to a job request as part of a spooling process on the source device 110 and/or the recipient device 120. As one of ordinary skill in the art will appreciate, spooling (e.g., simultaneous peripheral operations online) involves the overlapping of low-speed operations with normal processing. Spooling originated with mainframes in order to optimize slow operations such as reading cards and printing. Originally, card input was read onto disk and printer output was stored on disk. In that way, the actual business data processing was done at high speed, since all I/O was on disk. Today, spooling is used to buffer data for the printer as well as remote batch terminals.
As shown in the embodiment of
As shown in the embodiment of
As shown in the embodiment of
According to the various embodiments, the agent 222 on the recipient device 220 includes program instructions which execute to process identity information received from the source device 210, provide location information, provide updated meta-data information to the agent 212 on the source device, and/or to associate additional meta-data with the job request. For example, the program embodiments provided to the agent 222 can execute instructions to associate additional meta-data with the job request before further processing of the job request. In this manner, the meta-data associated with particular source device 210 identities and job requests types can be changed and/or added from various locations on a network, including a central location such as the network management station, e.g. recipient device 220. As one example, the I/O device 228 of the recipient device 220 can be used to change, add, and/or delete meta-data in association with any number of different source device 210 identities and job request types. In various embodiments the program instructions can execute to modify, add, and/or remove meta-data in association with particular job requests and source device identities as they are received at the recipient device 220. In various embodiments the program instructions can execute to modify, add, and/or remove meta-data to be associated with particular job requests and source device identities by transmitting such changes to a particular source device 210 and/or group, class, etc. of source devices connected to the recipient device 220 over the network.
Since the meta-data is associated with a particular source device identity and a particular job type request, the meta-data can be dynamically tailored to various users on the network 200. For example, the particular meta-data may be selectably tailored to associate certain billing information with a particular job request type, e.g., fax request, movie request, internet access request, print request, etc., and be selectably tailored to particular users. Thus, by way of example and not by way of limitation, all source devices at a particular location which transmit a movie job request may be charged according to a certain pricing schedule while all source devices at another particular location which transmit the same movie job request may be charged according to a different pricing schedule. And, source devices at the same or different locations can similarly be charged differently according to different job request types. Additionally, however, source devices at the same location and transmitting the same job request type can additionally be differentiated, e.g., charged according to different pricing schedules, by attaching different meta-data newly received over the network or already present on the particular source device 210 due to a uniqueness of the source device identity. Embodiments, however, are not limited to these examples. According to various program embodiments, meta-data can be dynamically associated to particular job types and source device identities by a source device agent 212 and/or a recipient device agent 222 as part of a software spooling process.
As shown in the embodiment of
As the job requests and associated meta-data are received by the recipient device 220 and processed using the agent 222 and appropriate API 221, the recipient device can execute instructions to route the various types of job requests to an appropriate destination device, e.g., 230-1 through 230-N. Additionally, as will be discussed in more detail below, by using the meta-data the program embodiments can execute instructions which transmit an output to a source device 210 which is off some form of interest to a user of the source device 210.
Unless explicitly stated, the method embodiments described herein are not constrained to a particular order or sequence. Additionally, some of the described method embodiments can occur or be performed at the same point in time.
As shown in block 320, the method further includes identifying the source device and a type of job request. Program embodiments are provided to an agent of the source device which execute to identify the source device and the type of job request. As described above, the program embodiments can execute to identify an identity of the source device from information retrieved from a memory of the source device, information entered by a user of the source device (e.g., user. ID and/or password), as well as information retrieved from connection to the network (e.g., can include location information provided to the source device 210 determined based on where the source device has connected to the network). Embodiments, however, are not limited to these examples. Information on the type of job request can include information retrieved from the application program being executed by the source device. By way of example and not by way of limitation, examples of a type of job request include requests for printing documents, sending and receiving facsimiles and/or emails, accessing the Internet, playing movies from a video library, and the like.
As shown in block 330 the method further includes associating meta-data with the job request at the agent on the source device based on an identity of the source device and the type of the job request. As described above, program embodiments are provided to the agent on the source device which execute to associate the meta-data to the job request based on the identity of the source device and the type of the job request. In various embodiments, the program instructions execute to associate the meta-data with the job request as part of a spooling process on the source device.
As one will appreciate from the discussion in
By way of example, and not by way of limitation, a source device, e.g., laptop, including an agent having the program embodiments described herein, can be connect to a hotel network through a data port in a users hotel room. The hotel computer network can include a recipient device and other destination devices. The recipient device can be a hotel server, a network management station, etc., connected over a LAN, WAN, etc. Examples of the destination device can include, but are not limited to, printers, facsimile machines, internet portals, other computing devices on the hotel network, and so forth. These destination devices may enable a user connected to the network to access, for example, printing services, facsimile services, Internet and email services, and movie services, among other services provided through the hotel network.
To connect to the hotel network a user can log on (e.g., provide a user ID, password, room number, etc.), or additionally the program embodiments described herein can execute instructions such that when the laptop is connected to the data port in the hotel room this information is retrieved from information collected from the user when the user “checked-in” to the hotel and which was stored in the hotel network management station. As described above, one of ordinary skill in the art will appreciate the manner in which a device connected to a network (in a wired and/or wireless fashion) can be mapped and its location recorded upon connecting to the network through the execution of network management software.
As described above, the user's laptop can contain a number of different program application types, e.g., web browser applications, word processing applications, email utilities, etc. And, such various application types can initiate various job requests, e.g., requests for printing documents, sending and receiving facsimiles and/or emails, accessing the Internet, playing movies from a video library, and the like.
According to the embodiments, once the agent has detected a job request and identified the source device, e.g., location (room number) and/or user information, the program embodiments can execute to associate meta-data with the job request which is particular to the type of job request and the source device identity. For example, if the user of the source device is identified as a preferred guest of the hotel, or the source device is connected to the hotel network from a hotel room which is a preferred suite, then the meta-data which is associated with the job request can include information to provide a discount from the charges normally associated with the particular job request. For example, the job request may include a request to play a movie from a movie server connected to the hotel network. The hotel may charge hotel guests according to one pricing schedule for guest staying in certain rooms or on certain floors and charge hotel guests according to a different pricing schedule for preferred guest, e.g., staying in particular rooms or on a particular floor.
In this example, the meta data associated with the job request to play a movie can be processed by program embodiments executing on an agent of the hotel network management station in conjunction with an appropriate API in order to accord the guest a discount on their movie billing. That is, program embodiments executing on the agent of the recipient device can both transmit appropriate billing information to the hotel's accounting software, as one destination device, and can execute instructions to retrieve a movie from a movie library, e.g., a movie server as another destination device, and transmit the movie for viewing as an output back to the source device. One of ordinary skill in the art will appreciate manners in which a similar treatment can occur for email and/or Internet access requests, printing requests, requests to access long distance service, requests to send and receive facsimiles, and the like. Embodiments are not limited to the presented examples.
As another example, once the user is connected to the network and the program embodiments executing on the agent have identified the type of the job request and identified the source device, e.g., location and/or user information, the program embodiments can execute to associate meta-data with the job request as appropriate to the particular type of job request and the source identity. For example, if the type of job request is for printing and facsimile services, then the meta-data which is associated with the job request can include information relating to the volume and frequency of the requests and can include information to charge a discount from the charges normally associated with the particular job request. Again, if the hotel guest is a preferred guest the meta-data associated with the job request may include additional discounts regardless of the volume and frequency of the requests.
In this example, the meta data associated with the job request for printing and facsimile services can be processed by program embodiments executing on an agent of the hotel network management station in conjunction with an appropriate API in order to accord the guest a discount on the volume and frequency of their job requests or based on identifying a particular hotel room (where the source device is connected to the network) as one occupied by a preferred guest. For example, in processing the job requests program embodiments executing on the agent of the recipient device can both transmit appropriate billing information to the hotel's accounting software, as one destination device, and can execute instructions to execute the printing and facsimile job requests on printers and facsimile machines connected to the hotel network, e.g., through a print and facsimile server, as another destination device. The program embodiments may even execute to transmit incoming, received facsimiles as an output directly back to the source device for viewing thereon and/or printing in the hotel room.
As yet another example, once the user is connected to the network and the program embodiments executing on the agent have identified the source device, e.g., location and/or user information, the program embodiments can execute to associate meta-data with transmission from the agent on the hotel's network management station to the agent on the source device. This meta-data information can include notices and/or advertising and marketing for items of potential interest to the user of the source device. For example, the meta-data information may be transmitted to the hotel guest in connection with a print job request inviting the user to visit the hotel's business center, advertising the hotel's conference facilities, and/or solicit that the guest visit the hotel's restaurant or lounge, announce performers or meetings in the hotel, salon and gift shop services, and even provide coupons or discount offers for participating in the offered services and activities. Likewise, program embodiments executing on an agent of the hotel network management station may identify that the guest enjoys spending time in the hotel's casino and accordingly transmit meta-data information to the source device offering the user of the source device free tokens accepted in the casino and/or otherwise encourage the guest to visit the same. Again, one of ordinary skill in the art will appreciate various manners in which a similar treatment for email and/or Internet access requests, printing requests, requests to access long distance service, requests to send and receive facsimiles, and the like can occur or be afforded to the guest based on identifying the source device and a type of the job request. Embodiments are not limited to the presented examples.
While the forgoing illustrations of various embodiments of the present invention have discussed a hotel setting, it will be appreciated that the embodiments of the present invention can be carried out in any number of additional settings and/or networks. For example, embodiments of the present invention may be carried out in “internet cafés”, wireless internet zones, including those in restaurants, airports, and shopping areas, to name a few.
In this example embodiment, communicating with the recipient device includes receiving meta-data updates transmitted from program instructions executing on an agent of the recipient device. For example, based on information known about the user of the source device, interests, demographics, etc., the program embodiments on the agent of the recipient device can execute to transmit modifications, additions, and/or deletions to the meta-data on an agent of the source device. As one of ordinary skill in the art will appreciate upon reading this disclosure, this approach allows adjustments to meta-data to be attached to job requests without having to enter such meta-data changes at the physical location of each individual source device.
From the examples, above, one will appreciate that modification to the types of meta-data associated with various job requests can be due to a number of reasons. For instance, in the hotel example given above a guest may be visiting the hotel during a certain promotion, season, or have previously stayed at the hotel a prerequisite number of times to be afforded certain discounts or privileges. Alternatively, the hotel may elect to alter the pricing schedule charged to guests of various classes, and to job requests of various types, due to economic changes or otherwise. According to embodiments of the present invention, any one or more types of the above described meta-data can be updated and transmitted from program instructions executing on an agent of the recipient device.
In block 430, the method includes associating meta-data particular to the source device with a job request based on communicating with the recipient device. As illustrated in this embodiment, the meta-data is associated with the job request in a spooling process. Embodiments, however, are not so limited. As described above, various types of meta-data information can be associated with a particular type of job request from a particular identified source device based on information known about the user of the source device, interests, demographics, etc. As shown in block 440, the method further includes transmitting the job request and associated meta-data from the source device to the recipient device. Program embodiments executing on an agent of the recipient device can operate to process the job request and associated meta-data accordingly, e.g., as described in the examples above. Further, as described above, program embodiments can execute on the agent of the recipient device to transmit the job request and associated meta-data to one or more destination devices and can execute to output information and/or services back to the source device based on such processing.
The network shown in
The embodiment of
Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art will appreciate that any arrangement calculated to achieve the same techniques can be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments of the invention.
It is to be understood that the above description has been made in an illustrative fashion, and not a restrictive one. Combination of the above embodiments, and other embodiments not specifically described herein will be apparent to those of skill in the art upon reviewing the above description. The scope of the various embodiments of the invention includes any other applications in which the above structures and methods are used. Therefore, the scope of various embodiments of the invention should be determined with reference to the appended claims, along with the full range of equivalents to which such claims are entitled.
In the foregoing Detailed Description, various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the embodiments of the invention require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.