The subject application is described with reference to certain figures, including:
The subject application is directed to a system and method for generating location based content via a selected document processing device. In particular, the subject application is directed to a system and method for providing selected content to a user of a document processing device by such device. More particularly, the subject application is directed to a system and method for providing location specific information to a user of a document processing device based upon the geographic location of the device.
Referring now to
The system 100 depicted in
In one embodiment, the document processing device 104 is suitably equipped to receive a plurality of portable storage media, including without limitation, Firewire drive, USB drive, SD, MMC, XD, Compact Flash, Memory Stick, and the like. In the preferred embodiment of the present invention, the document processing device 104 further includes an associated user-interface 106, such as a touch-screen interface, LCD display, or the like, via which an associated user is able to interact directly with the document processing device 104. In accordance with the preferred embodiment of the subject application, the user-interface 106 is advantageously used to communicate information to the associated user and receive selections from the user. Preferably, the document processing device 104 is communicatively coupled to the computer network 102 via a suitable communications link 112. As will be understood by those skilled in the art, suitable communications links include, for example and without limitation, WiMax, 802.11a, 802.11b, 802.11g, 802.11(x), Bluetooth, the public switched telephone network, a proprietary communications network, infrared, optical, or any other suitable wired or wireless data transmission communications known in the art. In accordance with the subject application, the first document processing device 104 further incorporates a controller 108, suitably adapted to facilitate the operations of the first document processing device 104, as will be understood by those skilled in the art. Preferably, the controller 108 is embodied as hardware, software, or any suitable combination thereof, configured to control the operations of the associated document processing device 104, control the display of images via the user-interface 106, and the like. The functioning of the controller 108 will better be understood in conjunction with the block diagrams illustrated in
Communicatively coupled to the document processing device 104 is a data storage device 110. In accordance with the preferred embodiment of the subject application, the data storage device 110 is any mass storage device known in the art including, for example and without limitation, magnetic storage drives, a hard disk drive, optical storage devices, flash memory devices, or any suitable combination thereof. In the preferred embodiment, the data storage device 110 is suitably adapted to store information relative to the location of the document processing device 104, e.g., a street address, postal code, and the like, information related to the local geographic area, data representative of a network address of network service providers, and the like. It will be appreciated by those skilled in the art that while illustrated in
As shown in
The skilled artisan will appreciate that the subject application is preferably implemented such that the computer network 102 is the Internet, with each network service provider 114, 116, 118 providing a web-page for viewing. It will further be appreciated by those skilled in the art that the network service providers 114, 116, and 118 are communicatively coupled to the computer network 102 via a suitable communications link 120, 122, and 124, respectively. The communications links 120, 122, and 124 are any suitable means of data communication known in the art, including, for example and without limitation, infrared, optical, a proprietary communications network, the public switched telephone network, Bluetooth, WiMax, 802.11a, 802.11b, 802.11g, or 802.11(x), or any other suitable wire-based or wireless data transmission means known in the art. In accordance with the preferred embodiment of the subject application, the service providers 114, 116, and 118 are accessible via a web-browser using a network address, e.g., an IP address, or the like.
Turning now to
Also included in the controller 200 is random access memory 206, suitably formed of dynamic random access memory, static random access memory, or any other suitable, addressable and writable memory system. Random access memory provides a storage area for data instructions associated with applications and data handling accomplished by processor 202.
A storage interface 208 suitably provides a mechanism for non-volatile, bulk or long term storage of data associated with the controller 200. The storage interface 208 suitably uses bulk storage, such as any suitable addressable or serial storage, such as a disk, optical, tape drive and the like as shown as 216, as well as any suitable storage medium as will be appreciated by one of ordinary skill in the art.
A network interface subsystem 210 suitably routes input and output from an associated network allowing the controller 200 to communicate to other devices. Network interface subsystem 210 suitably interfaces with one or more connections with external devices to the device 200. By way of example, illustrated is at least one network interface card 214 for data communication with fixed or wired networks, such as Ethernet, token ring, and the like, and a wireless interface 218, suitably adapted for wireless communication via means such as WiFi, WiMax, wireless modem, cellular network, or any suitable wireless communication system. It is to be appreciated however, that the network interface subsystem suitably utilizes any physical or non-physical data transfer layer or protocol layer as will be appreciated by one of ordinary skill in the art. In the illustration, the network interface 214 is interconnected for data interchange via a physical network 220, suitably comprised of a local area network, wide area network, or a combination thereof.
Data communication between the processor 202, read only memory 204, random access memory 206, storage interface 208 and network interface subsystem 210 is suitably accomplished via a bus data transfer mechanism, such as illustrated by bus 212.
Also in data communication with bus 212 is a document processor interface 222. Document processor interface 222 suitably provides connection with hardware to perform one or more document processing operations. Such operations include copying accomplished via copy hardware 224, scanning accomplished via scan hardware 226, printing accomplished via print hardware 228, and facsimile communication accomplished via facsimile hardware 230. It is to be appreciated that a controller suitably operates any or all of the aforementioned document processing operations. Systems accomplishing more than one document processing operation are commonly referred to as multifunction peripherals or multifunction devices.
Functionality of the subject system is accomplished on a suitable document processing device that includes the controller 200 of
In the preferred embodiment, the engine 302 allows for printing operations, copy operations, facsimile operations and scanning operations. This functionality is frequently associated with multi-function peripherals, which have become a document processing peripheral of choice in the industry. It will be appreciated, however, that the subject controller does not have to have all such capabilities. Controllers are also advantageously employed in dedicated or more limited purposes document processing devices that are subset of the document processing operations listed above.
The engine 302 is suitably interfaced to a user interface panel 310, which panel allows for a user or administrator to access functionality controlled by the engine 302. Access is suitably via an interface local to the controller, or remotely via a remote thin or thick client.
The engine 302 is in data communication with printer function 304, facsimile function 306, and scan function 308. These devices facilitate the actual operation of printing, facsimile transmission and reception, and document scanning for use in securing document images for copying or generating electronic versions.
A job queue 312 is suitably in data communication with printer function 304, facsimile function 306, and scan function 308. It will be appreciated that various image forms, such as bit map, page description language or vector format, and the like, are suitably relayed from scan function 308 for subsequent handling via job queue 312.
The job queue 312 is also in data communication with network services 314. In a preferred embodiment, job control, status data, or electronic document data is exchanged between job queue 312 and network services 314. Thus, suitable interface is provided for network based access to the controller 300 via client side network services 320, which is any suitable thin or thick client. In the preferred embodiment, the web services access is suitably accomplished via a hypertext transfer protocol, file transfer protocol, uniform data diagram protocol, or any other suitable exchange mechanism. Network services 314 also advantageously supplies data interchange with client side services 320 for communication via FTP, electronic mail, TELNET, or the like. Thus, the controller function 300 facilitates output or receipt of electronic document and user information via various network access mechanisms.
Job queue 312 is also advantageously placed in data communication with an image processor 316. Image processor 316 is suitably a raster image process, page description language interpreter or any suitable mechanism for interchange of an electronic document to a format better suited for interchange with device services such as printing 304, facsimile 306 or scanning 308.
Finally, job queue 312 is in data communication with a parser 318, which parser suitably functions to receive print job language files from an external device, such as client device services 322. Client device services 322 suitably include printing, facsimile transmission, or other suitable input of an electronic document for which handling by the controller function 300 is advantageous. Parser 318 functions to interpret a received electronic document file and relay it to a job queue 312 for handling in connection with the afore-described functionality and components.
In operation, the controller 108 associated with the document processing device 104, stores on the data storage device 110, information corresponding to the location of the device 104. That is, the controller 108 stores data representing the location of the document processing device 104, such as, for example and without limitation, a postal code, a street address, a latitude/longitude, or the like. Preferably, such data is retrieved by the controller 108 associated with the document processing device 104 via the computer network 102. It will be appreciated by those skilled in the art that the location data associated with the document processing device 104 is suitably capable of being retrieved via a local area network, using a global positioning system receiver in data communication with the document processing device 104, via a cellular-based positioning system, or the like. A user, associated with the document processing device 104, is then prompted by the controller 108 to select a service from among a list of available services via the associated user-interface 106. Preferably, the controller 108 retrieves a list of services available to the user from the data storage device 110 and displays this listing to the user via the associated user-interface 106. The data storage device 110 further includes the network address of the providers 114, 116, and 118 of the services contained in the listing displayed to the user.
For example, service provider 114 corresponds to a map-based service, service provider 116 corresponds to a news and weather service, and service provider 118 corresponds to a point-of-interest-based service, the network address of each being stored in the data storage device 110. It will be understood by those skilled in the art that use of network service providers 114, 116, and 118 as described herein is for example purposes only, and the subject application is capable of implementing a plurality of servers for use in accordance with the methodologies contained herein. In a further example, service provider 114 is capable of corresponding to an event-based service provider, service provider 116 corresponds to a product-based service provider, and service provider 118 corresponds to a local news-based service provider, the network address of each being stored in the data storage device 110.
The controller 108 associated with the document processing device 104, via the user-interface 106, receives user selection data and submits a query to the network service provider 114, 116, or 118 corresponding to the selected service. Thus, for example, when the user has selected a local news and/or weather service, a query for the local news and/or weather is sent, via the computer network 102, from the controller 108 associated with the document processing device 104 to the corresponding network service provider 116. The corresponding network service provider 116 receives the request and returns a response inclusive of the requested information. It will be appreciated by those skilled in the art that the controller 108 uses the stored device 104 location information to correlate the query such that local information is returned. The controller 108 then generates an output to the user, via the user-interface 106, corresponding to the query response from the network service provider 114, 116, or 118. In accordance with the preferred embodiment of the subject application, the output by the document processing device 104 is capable of including, for example and without limitation, a hard copy output of the response, or the like. It will be appreciated by those skilled in the art that the controller 108 associated with the document processing device 104 implements a suitable web-browser or other suitable software to retrieve the requested information from a publicly available XML web service. In accordance with one aspect of the subject application, the output containing the requested information further includes a map showing locations corresponding to the response received from the corresponding network service provider 114, 116, or 118.
The controller 108 then determines whether additional selection data is warranted or has been received from the associated user. That is, the controller 108 associated with the document processing device 104 determines whether the response requires further user selections, so as to narrow down the results, center a map, display restaurants, display product suppliers, additional information regarding a previous request, or the like. When no additional input from the user is required or forthcoming, the operation terminates. When a secondary or additional query is to be generated, the controller 108 associated with the document processing device 104 receives the secondary or additional user selection data from the user via the associated user-interface 106. The controller 108 then generates a suitable query for the corresponding network service provider 114, 116, or 118 and submits the query to that respective network service provider 114, 116, or 118. The network service provider 114, 116, or 118 receives the query and generates a response, which is then returned to the document processing device 104. The controller 108 associated with the document processing device 104 then generates a secondary/additional output corresponding to the response for the user. As stated above, the output is capable of taking the form of a display via the user-interface 106, a hard copy output, or the like, as desired by the user issuing the request.
The foregoing system 100 will better be understood when viewed in conjunction with the methodology described in
At step 406, the controller 108 associated with the document processing device 104 stores the network address of each network service provider 114, 116, and 118. Each network service provider 114, 116, and 118 corresponds to a given service. User selection data corresponding to the user's selection of one or more services is then received by the document processing device 104 via the associated user-interface 106 at step 408. At step 410, the controller 108 generates a query corresponding to the user's selected service and submits the query to the network service provider 114, 116, or 118 associated with the selected service. It will be understood by those skilled in the art that such a query is advantageously submitted via the computer network 102 to the network address associated with the network service provider 114, 116, 118 designated by the selected service. For example, when the user has selected an area map of the location of the document processing device 104, the controller 108 generates a query, inclusive of the document processing device's location data and submits the query to the corresponding network service provider, e.g., network service provider 114. The network service provider 114 then uses the location data supplied by the controller 108 associated with the document processing device 104 to retrieve an area map corresponding to the location of the document processing device 104 and returns this map data as a response to the submitted query.
The controller 108 then receives the response data from the service provider 114, 116, or 118 at step 412; whereupon an output is generated to the user corresponding to the response at step 414. It will be appreciated by those skilled in the art that step 414 enables the controller 108 associated with the document processing device 104 to display, via the associated user-interface 106, the response data to the user, as well as outputting a hard copy of the response data to the user. A determination is then made at step 416 whether additional selection data has been received from the user. That is, the controller 108 determines, at step 416, whether the user's initial selection requires further selection data, e.g., a map to be narrowed done, further information regarding a local event, five-day forecast, hourly forecast, reverse driving directions, or the like. When no additional or secondary selection data has been received from the user at step 416, the operation terminates. When additional or secondary selection data has been received at step 416, flow proceeds to step 418, whereupon the controller 108 associated with the document processing device 104 generates a query, inclusive of the location data, corresponding to the secondary or additional selection data and submits the query to the network service provider 114, 116, or 118 corresponding to the additional or secondary selection data.
The designated network service provider 114, 116, or 118 receives the query and compiles a response corresponding to the request, which is then transmitted via the computer network 102 to the document processing device 104. The response from the network service provider 114, 116, or 118 is then received by the controller 108 associated with the document processing device 104 at step 420 corresponding to the additional or secondary selection data. The controller 108 then generates a secondary or additional output to the user corresponding to the response at step 422. As previously discussed, suitable output formats for the response data include, for example and without limitation, a hard copy, a visual display on the associated user-interface 106, or the like. In accordance with the preferred embodiment of the subject application, the controller 106 associated with the documents processing device, the hard copy output is capable of including, for example and without, a map detailing the location of each service, item, event, news, weather, or the like, based upon the response from the corresponding service provider.
The invention extends to computer programs in the form of source code, object code, code intermediate sources and partially compiled object code, or in any other form suitable for use in the implementation of the invention. Computer programs are suitably standalone applications, software components, scripts or plug-ins to other applications. Computer programs embedding the invention are advantageously embodied on a carrier, being any entity or device capable of carrying the computer program: for example, a storage medium such as ROM or RAM, optical recording media such as CD-ROM or magnetic recording media such as floppy discs. The carrier is any transmissible carrier such as an electrical or optical signal conveyed by electrical or optical cable, or by radio or other means. Computer programs are suitably downloaded across the Internet from a server. Computer programs are also capable of being embedded in an integrated circuit. Any and all such embodiments containing code that will cause a computer to perform substantially the invention principles as described, will fall within the scope of the invention.
The foregoing description of a preferred embodiment of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Obvious modifications or variations are possible in light of the above teachings. The embodiment was chosen and described to provide the best illustration of the principles of the invention and its practical application to thereby enable one of ordinary skill in the art to use the invention in various embodiments and with various modifications as are suited to the particular use contemplated. All such modifications and variations are within the scope of the invention as determined by the appended claims when interpreted in accordance with the breadth to which they are fairly, legally and equitably entitled.